on 06-16-2015 6:57 PM
Thanks to some googling skills and the great advice that's already been dispensed here I have been able to convert a SOAP called service to a .NET called service.
I can run this successfully interactively, I can run it via the application I create.
My end users cannot run it. They get the error "The .NET engine is unableto start." (Yes, the error is missing a space between unable and to, that's just how the strings come out of e1.GetMessage() where e1 is SoapException (from pbwsclient126.pbd))
So my question is..
Do I need to install the full .net runtime on every end user machine that will be running my application, or is there a list of files I can put into my application directory?
I'm guessing that i need to install the full runtime, but I've been wrong before, so I figured I would ask
Thanks!
The good news.. Microsoft .NET is actually installed by default. Even my test laptop has, in their programs and features list, Microsoft .NET Framework 4.5.2, last update 02/10/2015
The bad news.. that just means the error message isn't caused by the absence of the .NET runtime.
I've compared PATH's between the two laptops, and when that didn't reveal anything I compared SET to see if there were any other environmental factors.
Nothing indicative there.
What other diagnostics can I utilize to figure out what's causing this error so I can get my testing team validating this release?
Do I need one of the tools I've seen mentioned that provides the information you'd usually get out of the SOAP .log file?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Unfortunately, PB 12.6 only builds .Net 4.0 compatible components. So you'll need to ensure that version of the .Net runtime is installed. I have heard that PB 12.6 doesn't like .Net 4.5 - but, I think that's more in regards to the IDE - not your application's .EXE.
I also wonder if the pbwsclient126.pbd still needs the .Net 2.0 runtime as well. I'm not sure on this one ... just my Spidy senses acting up on that one. Maybe just a false sense on that aspect - not sure.
Doug,
When you run your Web Service Proxy Generator project to create your web service client dll, those two files get automatically copied to the pbls folder. As Patricia mentions, you need to copy those files to the user's machine in the application folder along with the exe and pbds files.
PowerBuilder also copies these two other files:
Sybase.PowerBuilder.WebService.WSDL.dll and Sybase.PowerBuilder.WebService.WSDLRemoteLoader.dll
I'm not sure if they are needed at runtime but we also copy them to the user's machine.
Ricardo
Thankfully one of the guys in Operations is a big fan of Process Monitor so it's on the approved tools list.
My test laptop that wasn't working was looking for
Sybase.Powerbuilder.WebService.Runtime.dll
Sybase.PowerBuilder.WebService.RuntimeRemoteLoader.dll
Which were not in my application directory, and I couldn't immediately see them on the laptop which did work, so I searched for them and they were buried in
c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Sybase.PowerBuilder.WebService.Runtime\v4.0_12.6.0.0_598c7456a83d557a
So I am not surprised I didn't notice them earlier.
I think I'd actually put them in the distribution directory, but when I removed them and everything still worked I erroneously decided they weren't needed instead of guessing they were already elsewhere on test laptop 1.
Thanks for the Process Monitor tip!
Hi Doug;
Yes, the client PC's will need the .Net run-times. Since these .Net DLL's need to be registered in the GAC - you will have to install them using Local Admin rights ... unfortunately.
Regards ... Chris
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.