Skip to Content
Former Member
Dec 10, 2013 at 12:42 AM

PB 12.5 Classic with web service proxy error



I'm fairly new to Powerbuilder and am trying to modify a Powerbuilder 12.5 Classic application to use a new web service on site. In my case, I read a number of articles and muddled through creating a web service proxy using the .net extensions with PB 12.5 Classic. I installed the .Net 4.0 frame work, the SDK and the .Net prereqs for PB12.5 from the disk. I do have this working on my desktop machine (both within the IDE and from deployed executable) but when I tried to deploy it to other machines for testing, I suddenly get an error "The ordinal 3873 could not be located in the dynamic link library LIBEAY32.dll". I believe that I have deployed all the required files from the SAP deployment list for a web service proxy on the server and made sure the application and sybase\shared folders are in the path.

SAP feels that I have a dll conflict with libeay32.dll or ssleay32.dll but I have proven with Windows function calls that the library is NOT in memory when I go to set up the proxy object. I am even loading the specific libeay32.dll version that I want (dated July 2011) using LoadLibraryEx (another Windows function) and getting a successful handle id. SAP has had me run process monitor and they see a call to another version of libeay32.dll that is owned by IBM DB2. We use this for our authentication and DB2 is a data source for my application. For some reason, they didn't see the same call on my desktop's process monitor even though, I have the same DB2 connect software installed and also use it for data when I run it locally. I suspect this error is bogus. I've had this working locally for several months and just can't seem to figure out what's wrong with my deployment. Any ideas? If I were going to set up a new machine with just this application on it, what should I have installed on it (Windows Server 2008 R2 OS)?

SoapConnection conn // Define SoapConnection

edmsexpedmsdocumentexporter proxy_obj // Declare proxy

ulong modhandle, modhandle2

long modhandle0

gs_edms_message = ''

modhandle0 = GetModuleHandleA("libeay32.dll")

Messagebox ("existing dll handle = ", string(modhandle0))


modhandle = LoadLibraryA("C:\EIA\Beta\PB 12.5\Invoice Approval - EDMS\libeay32.dll")

IF modhandle > 0 THEN

Messagebox("Return Code"," libeay32 Load Successful -> handle - " + String (modhandle))


MessageBox("Result","Unable to load module")


// added 11/6/13 to see if loading ssleay32.dll explicitly will clear our error

modhandle2 = LoadLibraryA("C:\EIA\Beta\PB 12.5\Invoice Approval - EDMS\ssleay32.dll")

IF modhandle2 > 0 THEN

Messagebox("Return Code"," ssleay32 Load Successful -> handle - " + String (modhandle2))


MessageBox("Result","Unable to load module")


conn = create SoapConnection //Instantiated connection

//lLog = conn.SetSoapLogFile ("C:\mySoapLog.log")

// Set trace file to record soap interchange data,

// if string is "", disables the feature

//**************error occurs on the following line

rVal = Conn.CreateInstance(proxy_obj, "edmsexpedmsdocumentexporter")

Thanks, Mark