We are migrating our pb applications to PB 2021 from PB 11.5. WE have 8-10 web applications that are being called from the pb 11.5 code base. In 11.5 we used the Web Service Proxy project to call our web services using SoapConnection (using pbwsclient115.dll). Since this is now obsolete in 2021 I assume we will need to use httpclient from object pbsoapclient.dll. I’ve reviewed the doc ‘https://community.appeon.com/index.php/articles-blogs/tutorials-articles/2-powerbuilder/236-call-soap-web-services-using-httpclient-object’ and created the referenced webservice ‘Add’ to add two numbers together.
Our apps are configured with one or more client machines pointed to an app server which contains the iis applications. Using the sample code for the web service and pb code I’m only able to successfully call the ‘Add’ web service method if the call is being made on that same machine the web service is on. When I attempt the ‘Add’ call from a different machine I always get an ‘Internal Server Error’ and the text points to ‘/Add’ part of the url (ls_url ='http://azstdevpb1/WebService/WebService.asmx/Add'). Is there any sample code to successfully call this method when it is being served from an app server. Most of the time our customers will not be on the machine that hosts the web services.
I’ve also noticed that although the web server proxy is now obsolete all of our pb code calls that were migrated to 2021 pb work in the IDE with newly generated proxies in pb2021. However, when our applications are built we’ve seen the first x amount (20-30) web service calls be successful. After a certain threshold or something else I’ve been unable to identify yet the next web service call crashes our app and it points to PBVM.dll. I know this is obsolete but I’m wondering if anything sounds familiar to anyone.
Thanks.
I've actually migrated the apps a few times to see if Ican identify any differences. The last two times I've migrated I used different procedures. the two procedures I used were:
A)
1) open workspace and target in PB 2021.
2) get message like 'an object isn't compatible with migration'. I removed pbwsclient115.pbd from target
3) migrate app
4) Full build performed on app
B)
1) open workspace and target in PB 2021.
2) get message like 'an object isn't compatible with migration'. I replaced pbwsclient115.pbd with pbwsclient.pbd in target
3) migrate app
Kevin
Migration procedure "B" is the proper way.
Migration procedure "A" should have failed on the Full Build. If not, there are old SOAP objects in your PB App's PBL libraries
Note: Both in Procedure A& B, you need to check & remove any SOAP based objects from your existing PB App PBLs (if any) before starting step#1.
Regards ... Chris