[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Web Service Request - Response Delay



   Hi Thomas & Mike,
   I found the reason for the delay!!!!!!!!
   It was my fault...!!
   I had a small procedure in my stub to leaving an XML element empty in
   case of RPG send a NULL values. It was discuss with you early.
   The function was something like this
   d SearchR         pr         65535a
   d DATA                       65535a   varying
   d SEARCHFOR                    100a
   d REPLACEWITH                  100a
   I searched the 0.00 value in "request" variable & replaced with empty
   XML tag
   The code is something like this....
   Marshaller_toString(
      curZualBapiacap09_A2.ProfitCtr
      ) +
   '</ProfitCtr>' +
   '</item>' +
      '';

     Search_word   = '<DsctDays1>0.00</DsctDays1>';
     replace_word  = '<DsctDays1/>'               ;
     request =  SearchR(request:search_word:replace_word);
   It replace empty tag as i want but with 65353 with space.
   Then I %trim() the return value of the function.
   request = %trim(SearchR(request:search_word:replace_word));
   the speed of dramatically change... 3miunte to 10second
   I'm really sorry & I really appreciate for taking your valuable time
   to help me
   Thanks all
   Dhanushka

   On Thu, Sep 22, 2011 at 5:17 PM, <[1]thomas.raddatz@xxxxxx> wrote:

       HTTP_receiveResponse() is called after HTTPAPI received the
     complete
       response message or a chunk of the response message from the
     server.
       It then passes the received data to the SAX parser (actually
     eXpat) to
       pick up the return values.
       What I want to know is how long does it takes to parse the xml
     message
       and to transfer the return values of the message into the return
     data
       structure. Therefore I asked you to add the debug statements to
       HTTP_receiveResponse.
       The attached zip files contains a sample test program (stub and
     test
       program) and a sample debug log. Please look at the stub module
     and
       search for '//RADDAT'. Add the same debug statements to your
     program
       and call your web service. As a result you should get log
     statements
       similar to:
       WSDL2RPG Ver 1.13 released 2011-01-21
       ** Start producing request message at: 2011-09-22-13.32.30.663000
       ** Finished producing request message at:
     2011-09-22-13.32.31.583000
       ** Sending request message at: 2011-09-22-13.32.31.583000
       ...
       ** Entering HTTP_receiveResponse() at: 2011-09-22-13.32.31.941000
       ** Start parsing response message at: 2011-09-22-13.32.31.941000
       ** Finished parsing response message at:
     2011-09-22-13.32.31.945000
       ...
       ** Entering HTTP_receiveResponse() at: 2011-09-22-13.32.32.123000
       ** Start parsing response message at: 2011-09-22-13.32.32.123000
       ** Finished parsing response message at:
     2011-09-22-13.32.32.131000
       http_close(): entered
       Please do not forget to change the name of the debug file if you
     want
       to call the INEWS003T sample program. Most likely you also have
     to
       specify a proxy server if you want to call INEWS003T.
       Thomas
       [2]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx schrieb am 22.09.2011
     11:30:37:
       > Von: [3]dhanushkamanjula@xxxxxxxxx
       > An: [4]ftpapi@xxxxxxxxxxxxxxxxxxxxxx
       > Datum: 22.09.2011 11:43
       > Betreff: Re: Web Service Request - Response Delay
       > Gesendet von: [5]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx

     >
     > Hi again,
     >
     > My WSDL2RPG version is  v1.13 and HTTPAPI Ver 1.23
     > I did the traceroute from AS400 & Windows machine and identified
     that it is
     > goes with same path.
     > so i don't think this is a network issue.
     > I'm using MemoryManager_createArray() methods as well.
     > I'm really confuse what Mike is telling, can you please explain to
     how to do
     > this.
     > Thomas, What is the expected result of debug the procedure
     > HTTP_receiveResponse()
     >

       > The second scenario, I have to send the few request message to
     the
       server -

     > all are almost similar to attached response.
     > I'm trying to send two message at once & I exectue my attached
     webService
     > client program in different jobq in one subsystem
     > I hope in this case, the both execution will end up with 3
   minutes,
     but it
     > doesn't gives any response.
     > any idea please..
     >
     > Thanks
     > Dhanushka
     >
     > On Wed, Sep 21, 2011 at 11:08 PM, Thomas Raddatz

     <[6]thomas.raddatz@xxxxxxxxxxx
     > > wrote:
     >
     > > Dhanushka,
     > >
     > > Dynamic arrays might be an issue in case the arrays must be
     extended too
     > > often or if you use symbolic names instead of the array handle.
     > >
     > > Because you use dynamic arrays I assume that you do not use
     WSDL2RPG 1.3
     > > but v1.13, right?
     > >
     > > Background information:
     > >
     > > If you use symbolic names instead of the array handles, WSDL2RPG
     has to get
     > > the handle from a "Map" each time you access the array. For that
     it uses
     > > the binary search algorithm. I wished I had a true index to get
     rid of the
     > > binary search to increase performance.
     > >
     > > When creating a dynamic array the array allocates storage for
   256
     elements.
     > > Each time the array is full it reallocates storage for another
   256
     > > elements. So for extremely huge arrays time to reallocate
   storage
     can
     > > dramatically slow down performance. If you use very huge arrays,
     you should
     > > specify a reasonable initial size at each
     MemoryManager_createArray()
     > > statement:
     > >
     > >    MemoryManager_createArray(
     > >       serviceUUID: elemSize: name: ensureUniqueName: increment)
     > >
     > > Do not use Array_new() directly!
     > >
     > > You may also add debug statements to procedure
     HTTP_receiveResponse() of
     > > your stub module:
     > >
     > >      else;
     > >         http_DebugLog_appendText('anyDebugText-StartParser');
     > >         if (XMLSAXParser_parse(g_hSAXParser: i_data: i_length) =
     cTrue);
     > >
     http_DebugLog_appendText('anyDebugText-EndParser-Success');
     > >            return i_length;
     > >         else;
     > >
     http_DebugLog_appendText('anyDebugText-EndParser-Failure');
     > >            return -1;
     > >            // return i_length;
     > >         endif;
     > >      endif;
     > >
     > >   /end-free
     > >   *
     > >  P HTTP_receiveResponse...
     > >  P                 E
     > >
     > >
     > > http_DebugLog_appendText
     > >
     > > Last but not least it might be an idea to set up a soapUI mock
   web
     service
     > > to debug the problem inside the local network.
     > >
     > > Thomas
     > >
     > > Am [7]21.09.2011 18:43, schrieb Dhanushka Manjula:
     > > >
     > > >     @ Mike
     > > >     I'll try to do it tomorrow...
     > > >     @ Thomas,
     > > >     One thing I forgot to mention, I use dynamic arrays in
   order
     to get
     > > >     around the 64k barrier..
     > > >     and processor utilization in our system is not more than
   65%
     > > >     I'll ask network guys to look into the firewall again..
     > > >
     > > >     On Wed, Sep 21, 2011 at 9:30 AM, Thomas Raddatz
     > > >     <[1][8]thomas.raddatz@xxxxxxxxxxx>  wrote:
     > > >
     > > >       Good idea, Mike!
     > > >       It is hard to believe that WSDL2RPG consumes the
     additional time. I
     > > >       assume
     > > >       that one of the following things is true:
     > > >       1. Network connection is different for the System i and
     his PC.
     > > >       2. Too much workload on the System i.
     > > >       3. soapUI does not parse the response, hence it must be
     faster (but
     > > >       not
     > > >       that much)
     > > >       If Dhanushka really uses WSDL2RPG 1.3 then WSDL2RPG uses
     simple
     > > >       string
     > > >       operations to create the request message. That should
   not
     take that
     > > >       much
     > > >       time. Then is calls http_post_xml() to send the request,
     receive
     > > >       the
     > > >       response and parse the response message.
     > > >       Thomas.
     > > >       Am [2]21.09.2011 18:01, schrieb Mike Krebs:
     > > >
     > > >     >  Let's narrow it down a bit. Are you experiencing the
     delay in
     > > >     transmission, receipt, or parsing. I don't know or use
     WSDL2RPG but
     > > >     you can insert a couple of TIME statements to see the time
     of things
     > > >     in your debug log. Edit member HTTPAPIR4 and change the
     following
     > > >     lines (from current beta):
     > > >     >
     > > >     >  About 354 (find entered)
     > > >     >  c                   callp     http_dmsg( 'do_oper(' +
     peOper + '):
     > > '
     > > >     >  c                                      + 'entered at '
   +
     > > >     %char(%time()))
     > > >     >
     > > >     >  About 904 (find comm_blockread)
     > > >     >  c                   callp     http_dmsg('calling
     comm_blockread at
     > > '
     > > >     +
     > > >     >  c                                %char(%time()))
     > > >     >
     > > >     >  Recompile the service program by calling the INSTALL
     routine again
     > > >     or by following the instructions in the program source.
     > > >     >
     > > >     >  If WSDL2RPG has some similar debug points, do the same
     there so
     > > you
     > > >     can see progression as it prepares/parses the XML.
     > > >     >
     > > >     >  So then you can look at your debug file and see how
   long
     each part
     > > >     takes. Narrows down where to look for issues.
     > > >     >
     > > >     >
     > > >     >  -----Original Message-----
     > > >     >  From: [3][9]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
     > > >     [mailto:[4][10]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On
   Behalf
     Of
     > > >     Dhanushka Manjula
     > > >     >  Sent: Wednesday, September 21, 2011 6:34 AM
     > > >     >  To: [5][11]ftpapi@xxxxxxxxxxxxxxxxxxxxxx
     > > >     >  Subject: Web Service Request - Response Delay
     > > >     >
     > > >     >  Hello,
     > > >     >
     > > >     >  I'm using WSDL2RPG 1.3 + scott's LIBHTTP to send the
     attached
     > > >     request
     > > >     >  message to the server in remote location via 2MB E1
   line.
     > > >     >  it takes around 3 minutes to receive the attached
     response
     > > message.
     > > >     >  Then, I used the SOAP-UI from my windows machine&
     execute the
     > > same
     > > >     request
     > > >     >  &   it takes around 10 seconds to complete the process.
     > > >     >  what will be the reason for this delay?
     > > >     >
     > > >     >  Thank you
     > > >     >  Dhanushka
     > > >     >
     > > >
     > >

   ----------------------------------------------------------------------
     > > >     -
     > > >     >  This is the FTPAPI mailing list.  To unsubscribe,
   please
     go to:

       > > >     >
     [6][1][12]http://www.scottklement.com/mailman/listinfo/ftpapi

     > > >     >
     > > >
     > >

   ----------------------------------------------------------------------
     > > >     -
     > > >     >
     > > >
     > >

   ----------------------------------------------------------------------
     > > >     -
     > > >     This is the FTPAPI mailing list.  To unsubscribe, please
   go
     to:

       > > >
     [7][2][13]http://www.scottklement.com/mailman/listinfo/ftpapi
       > > >
       > >

     -------------------------------------------------------------------
     ---
       > > >     -
       > > >
       > > > References
       > > >
       > > >     1. [3]mailto:[14]thomas.raddatz@xxxxxxxxxxx

     > > >     2. tel:21.09.2011%2018

       > > >     3. [4]mailto:[15]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
       > > >     4. [5]mailto:[16]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
       > > >     5. [6]mailto:[17]ftpapi@xxxxxxxxxxxxxxxxxxxxxx
       > > >     6.
     [7][18]http://www.scottklement.com/mailman/listinfo/ftpapi
       > > >     7.
     [8][19]http://www.scottklement.com/mailman/listinfo/ftpapi

     > > >
     > > >
     > > >
     > > >
     > > >

   ----------------------------------------------------------------------
     -
     > > > This is the FTPAPI mailing list.  To unsubscribe, please go
   to:

       > > > [9][20]http://www.scottklement.com/mailman/listinfo/ftpapi

     > > >

   ----------------------------------------------------------------------
     -
     > >

   ----------------------------------------------------------------------
     -
     > > This is the FTPAPI mailing list.  To unsubscribe, please go to:

       > > [10][21]http://www.scottklement.com/mailman/listinfo/ftpapi
       > >

     -------------------------------------------------------------------
     ---
       -
       > >
       > [Anhang "SAP0010TN.txt" gelöscht von Thomas Raddatz/OBI/DE]

     >

   ----------------------------------------------------------------------
     -
     > This is the FTPAPI mailing list.  To unsubscribe, please go to:

       > [11][22]http://www.scottklement.com/mailman/listinfo/ftpapi
       >

     -------------------------------------------------------------------
     ---
       -
       --
       IMPORTANT NOTICE:
       This email is confidential, may be legally privileged, and is for
     the
       intended recipient only. Access, disclosure, copying,
     distribution, or
       reliance on any of it by anyone else is prohibited and may be a
       criminal
       offence. Please delete if obtained in error and email
     confirmation to
       the sender.
     References
       1. [23]http://www.scottklement.com/mailman/listinfo/ftpapi
       2. [24]http://www.scottklement.com/mailman/listinfo/ftpapi

     3. mailto:[25]thomas.raddatz@xxxxxxxxxxx

     4. mailto:[26]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
     5. mailto:[27]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
     6. mailto:[28]ftpapi@xxxxxxxxxxxxxxxxxxxxxx

     7. [29]http://www.scottklement.com/mailman/listinfo/ftpapi

       8. [30]http://www.scottklement.com/mailman/listinfo/ftpapi
       9. [31]http://www.scottklement.com/mailman/listinfo/ftpapi
      10. [32]http://www.scottklement.com/mailman/listinfo/ftpapi
      11. [33]http://www.scottklement.com/mailman/listinfo/ftpapi
     -------------------------------------------------------------------
     ----
     This is the FTPAPI mailing list.  To unsubscribe, please go to:
     [34]http://www.scottklement.com/mailman/listinfo/ftpapi
     -------------------------------------------------------------------
     ----

References

   1. mailto:thomas.raddatz@xxxxxx
   2. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   3. mailto:dhanushkamanjula@xxxxxxxxx
   4. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
   5. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   6. mailto:thomas.raddatz@xxxxxxxxxxx
   7. tel:21.09.2011%2018
   8. mailto:thomas.raddatz@xxxxxxxxxxx
   9. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  10. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  11. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
  12. http://www.scottklement.com/mailman/listinfo/ftpapi
  13. http://www.scottklement.com/mailman/listinfo/ftpapi
  14. mailto:thomas.raddatz@xxxxxxxxxxx
  15. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  16. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  17. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
  18. http://www.scottklement.com/mailman/listinfo/ftpapi
  19. http://www.scottklement.com/mailman/listinfo/ftpapi
  20. http://www.scottklement.com/mailman/listinfo/ftpapi
  21. http://www.scottklement.com/mailman/listinfo/ftpapi
  22. http://www.scottklement.com/mailman/listinfo/ftpapi
  23. http://www.scottklement.com/mailman/listinfo/ftpapi
  24. http://www.scottklement.com/mailman/listinfo/ftpapi
  25. mailto:thomas.raddatz@xxxxxxxxxxx
  26. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  27. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  28. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
  29. http://www.scottklement.com/mailman/listinfo/ftpapi
  30. http://www.scottklement.com/mailman/listinfo/ftpapi
  31. http://www.scottklement.com/mailman/listinfo/ftpapi
  32. http://www.scottklement.com/mailman/listinfo/ftpapi
  33. http://www.scottklement.com/mailman/listinfo/ftpapi
  34. http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------