PowerBuilder 10.5 Web Services Application

I am trying to start a PowerBuilder 10.5.2 Web Services application. I can open the workspace just fine, and I can see objects and even run the application, but when I try to call this service, I get an "invalid runtime function" error.

I believe I have installed all the necessary details:

  • PB 10.5.2
  • .Net 2.0 SDK

Internet searches show that some of the web services used by the example application are not working, but I cannot imagine that they are all there, so the error seems to indicate a problem with the installation or objects and not with third party services.

I see pbwsclient105.pbd in the list of workspaces and in the Sybase shared objects directory. However, as a test, I tried using an alternative method for documentation on configuring PB proxy for .Net web service objects (by importing PB extensions from pbwsclient105.pbx) and got an "invalid DLL error", so maybe mine web service libraries damaged?

What else might be missing? Path settings? Invalid installation of .Net 2.0 SDK?

+2


source to share


1 answer


* * * Edit: Problem solved - at least on my machine (s) * * *

I took a cue from a thread I found here and started looking into what was happening to PowerBuilder when these errors occurred - both during the PBX import and at runtime if you ran the sample application.

One person on the thread noted that the problem is with libeay32.dll and ssleay32.dll . This isn't the first time OpenSSL has given me the ability to fit into these components - my hard drive is littered with them in various application folders. These DLLs are loaded by the PB when the PBWSCLIENT105.PBX extension is imported or by the application using the associated PBD at runtime. Of course, using ProcMon I was able to confirm that libeay32.dll and ssleay32.dllloaded from Windows \ System32, unlike the version of the same DLLs as in the PB folder structure. Apparently this is the problem. I renamed two DLLs located in System32 to effectively remove them, activated PB and import PBWSCLIENT105.PBX worked like a charm.


I have a similar problem with our PB 10.5 installation. Importing the PBX file gives me an error message:



---------- Import PB Extension:


Importing C:\Program Files\Sybase\Shared\PowerBuilder\pbwsclient105.pbx - Error: The file is not a valid dll or pbx file.


---------- Finished

I originally thought the problem was that the files were corrupted etc. However, I installed PB 10.5 on a clean machine (actually a VM) along with SDK .NET 2.0 and the import worked flawlessly; also, I was able to call the web service. Every developer in my group has the same problems on their machines, but if they are using a "clean" machine or virtual machine with PB installed (and maybe a few other applications), importing the PBX file works without issue.

At this point, I'm trying to determine what in the environment is causing the problem, but haven't succeeded yet. Interestingly, as you noticed, if you open the sample application, you will see the same imported libraries; however, you get a runtime error. All of this actually indicates something that is missing or incorrectly registered. So, if you have the opportunity to use a virtual machine, I recommend it as a temporary job.

One thing I'll add here, if you are using Vista or Windows 7 as your virtual machine, the library import works fine, but I am having problems creating a client proxy using a .Net web service. Finally, I found that in the background the WSDL.exe SDK tool runs against the WSDL for the service to create a .Net proxy. It turns out that Vista / Win7 User Access Control prevents WSDL.EXE from starting. I ran PowerBuilder "as administrator" and everything worked as expected in terms of creating a client side proxy.

If you find anything about why PBX import is not working, I will be interested to know about it!

+2


source







All Articles