Quantcast
Channel: SCN : All Content - PowerBuilder Developer Center
Viewing all articles
Browse latest Browse all 2935

PB Component not receiving data from Web Service

$
0
0

Hello all;

I am have a PB 11.2 component running on EAServer 5.2 server, which is used to fetch and forward PDF reports to a .jsp webpage on our website.  The PB component gets its data from a  .NET Web Service, which arrives in the form of two byte arrays.  The report generally works; however, from time to time, esp. when the jagsrv.exe is using a lot of memory (but not always) the data never arrives; that is, the NVO which should be populated with the data, does not receive the two byte arrays. In fact, it receives nothing at all.  

 

The Web Service  is definitely working correctly; I sniffed the network with WireShark, and discovered that the entire PDF, from the beginning XML tag to the end, is arriving at our EAServer correctly.  The question is, why does the PB Component fail to  receive the data?

 

------------ dst_rpt_org_contact_list_dotnet - function of_get_org_contact_list_report -- Code snippet starts ---------------

try 

  // Create the soap connection object

  inv_conn = Create soapconnection

 

  ll_rc = inv_conn.createinstance( inv_reportservice, is_webservice_name, as_url)

  if (ll_rc <> 0) then

       ls_errors = "Failed to create web service " + is_webservice_name + "."

       return -1

  end if

 

  inv_cst_return_results =  inv_reportservice.getcontactlistreport(al_stakeholder_id, true  )

  If IsValid (inv_cst_return_results) Then

       ll_rc = UpperBound(inv_cst_return_results.ib_pdf1)

       ls_error_msg = inv_cst_return_results.is_error_msg

  else

       ls_errors = "The Web Service's return object inv_cst_return_results was not instantiated. Stakeholder Id was "  + String(al_stakeholder_id)

       return -1

  end if

 

 

  if ll_rc < 1 then

       ls_errors += " The web service " + is_webservice_name + " did not return any array elements. Error msg: "   + ls_error_msg

       return -1

  end if

 

 

catch ( SoapException e )

  ls_errors = "SoapException - Cannot invoke the web service " + is_webservice_name + "." + e.Text

  return -1

catch (PBXRuntimeError e2)

  ls_errors = "PBXRuntimeError error when invoking the web service " + is_webservice_name + "." + e2.Text

  return -1

catch (RuntimeError e3)

  ls_errors = "Unknown runtime error when invoking the web service " + is_webservice_name + "." + e3.Text

  return -1

 

 

------------ Code snippet ends --------------------------------------------------------------------


inv_cst_return_results is a  non-visual object with properties of two byte arrays, ib_pdf1[] and ib_pdf2[], and a string  is_error_msg

inv_conn is an instance variable of type soapconnection


The failures are reported by an email which basically says the call to the function failed.  None of the error messages inside the function are returned.


I would appreciate any advice that you might be able to offer.


thanks


Marvin Haagsma

Systems Analyst, Alberta Gaming and Liquor Commission

St. Albert, AB

mhaagsma [AT] aglc [dot] ca

 

 



Viewing all articles
Browse latest Browse all 2935

Trending Articles