1. Alan Rice
  2. PowerBuilder
  3. Wednesday, 15 November 2017 17:00 PM UTC

Hi everyone,

I am using a PB Web Service Proxy (using .NET rather than EasySoap) to consume a C# provided SOAP Webservice, pulling service definitions via the WSDL.

This service was originally called over HTTP and it all worked without issue. It was also nearly instant for most calls.

I have since moved this over to using the same service except it is now called over HTTPS. The calls to the service still work but they are extremely slow. 
(30-60 seconds for even small responses, where as previously they were nearly instant).

I have called the same SOAP service using SoapUI and from a C# .Net desktop application using HTTPS and results are instant, with no difference between that and the HTTP calls.

Has anyone had this issue and is there anything I should be looking at to correct this issue?

Thanks for any help given,
Alan

Marco Meoni Accepted Answer Pending Moderation
  1. Wednesday, 15 November 2017 21:05 PM UTC
  2. PowerBuilder
  3. # 1

Hi Alan,

any clue from measuring the amount of time taken by each PB line? 

I mean seconds taken by 1) create SoapConnection 2) CreateInstance() 3) proxy.yourmethod() ...

What line takes the most?

Cheers,

Marco

Comment
  1. Alan Rice
  2. Wednesday, 15 November 2017 22:46 PM UTC
Hi Marco,



 



The create connection and create instance are instant with the entire delay when calling the proxy method.



 



Edited down version:



SoapConnection  conn                                                        // Define SoapConnection 



long        ll_conn_result, ll_log



string      ls_containers



conn    =   create SoapConnection                                           // Instantiated connection INSTANT



ll_log  =   conn.SetSoapLogFile ("C:\mySoapLog.log")                        // Set trace file to record soap interchange data,



                                                                            // if string is "", disables the feature



ll_conn_result = Conn.CreateInstance(i_n_my_service_services,"myservice") // INSTANT



 



// Create proxy object



try



    i_baseuriinfo = i_n_my_service_services.do_stuff(i_s_api_key) // ENTIRE DELAY HERE



catch ( SoapException e )



   MessageBox ("Error", "Cannot invoke Web service: " + e.text)



end try



 



destroy conn

  1. Helpful
  1. Marco Meoni
  2. Friday, 17 November 2017 07:43 AM UTC
Hi,



I may accept a slow first call because the data type de-serialization, but 30-60 secs is actually too much for a WS call if the Soap connection is done.



What if you run the client from PB 2017? That would help to reproduce the problem.



Cheers,



Marco​

  1. Helpful
  1. Alan Rice
  2. Friday, 17 November 2017 09:06 AM UTC
Hi Marco,



Yes I tried a test app with PB2017 and it works in this without issue even with HTTPS. 



Thanks,

Alan

  1. Helpful
There are no comments made yet.
Alan Rice Accepted Answer Pending Moderation
  1. Thursday, 16 November 2017 15:57 PM UTC
  2. PowerBuilder
  3. # 2

Not quiet a solution for me right now, but something worth noting.

I setup a test desktop app in Powerbuilder 2017, setup the webservice proxy and imported the same NVUO I was using in PB12.1 and ran some tests.

I get instant results for calls, even using HTTPS.

 

Migration of to PB 2017 won't be for a little while yet so I still need to get a solution for PB12.1 but at least its positive that when we do move onto the next version there will be less hoops to jump through.

Comment
There are no comments made yet.
Marco Meoni Accepted Answer Pending Moderation
  1. Friday, 17 November 2017 07:46 AM UTC
  2. PowerBuilder
  3. # 3

I am glad that the easiest suggestion (test from PB 2017 rather than go through time-consuming HTTP sniffers) worked out.

Cheers,

Marco

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.