IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

WS Timeout

  • 1.  WS Timeout

    Posted Wed May 23, 2007 12:16 PM

    I created a WS Connector from a WSDL File

    When I try to run two specific methods (this error only occurs in two of about ten methods the WS offers), i get the following error:

    com.wm.app.b2b.service.ServiceException:
    java.net.SocketTimeoutException: Read Timed Out

    The problem is this error occurs almost instantly after I run the service (he doesn’t wait enought time for a time out), and also the WS method is executed on the other side (that is, the methods is completed in the server).
    Also if I try to run the WS using soapUI or any other program for running WS, it work perfectly, and doesn’t return this error.

    Any ideas?

    Thank you


    #API-Management
    #webMethods
    #soa


  • 2.  RE: WS Timeout

    Posted Wed May 23, 2007 02:27 PM

    When you step through the flow generated by the web service connector wizard, at what point does the error occur? Assuming that it is on the call to pub.client:soapHTTP or pub.client:soapRPC, have you examined the soap message that is being sent to the provider of the service to determine whether it is properly formed?

    Lots of threads here on the weaknesses of the web services connector wizard. It just creates a starter Flow service for you. Sometimes those Flow services even work. Often they need tweaking to work and always you need to add logic to parameterize the soap endpoint (extracted from the WSDL) and to add additional error handling and logging.

    Mark


    #webMethods
    #soa
    #API-Management


  • 3.  RE: WS Timeout

    Posted Wed May 23, 2007 04:01 PM

    Actually it is on soapHTTP call that the error occurs.
    I’ve check the SOAP message and the difference from using directly soapUI, is very little and ignorable (like namespaces)

    Thanks anyway,
    I’ll try working on the knowledge that the WS Connector doesn’t do a 100% job


    #soa
    #webMethods
    #API-Management


  • 4.  RE: WS Timeout

    Posted Thu May 24, 2007 12:35 AM

    So, you have a WSDL describing a Web Service containing 10 operations. Eight of Flows generated by the web service connector can successfully invoke operations, but two fail immediately with some timeout error.

    Here’s what I would do to isolate the problem:

    1. Download and install a web services testing tool such as the Personal Edition of CrossCheck Network’s SOAPSonar
    2. Point it at the WSDL to generate a test case for each operation in the Web Service
    3. Run the tests for the operations that fail when invoked from WSC-generated Flow services
    4. If the test succeeds look at the soap request that successfully invoked the operation and compare that to the contents of the soapRequestData variable in your generated Flow service immedately prior to your call to pub.client:soapHTTP.
    5. If the test fails, then work with the provider of the service to understand why. When you can successfully invoke each operation from a testing tool, then you will be able to do so from Developer / IS as long as you can produce the same SOAP request.

    Hope that helps,

    Mark


    #soa
    #webMethods
    #API-Management


  • 5.  RE: WS Timeout

    Posted Thu May 24, 2007 12:35 PM

    Hi,

    I tried doing what you suggested,
    I saw the differences, but I can’t change the SOAP request on WM (when he call soapHTTP I get a not SOAP error)
    Instead I tried using the SOAP message generated on WM in soapUI (a software very much like SOAP Sonar, but free) and the call worked perfectly.
    So I assume the SOAP message used by WM is correct.


    #webMethods
    #API-Management
    #soa


  • 6.  RE: WS Timeout

    Posted Thu May 24, 2007 02:18 PM

    Not quite sure what you are saying.

    If your Flow creates a soapRequest that can be pasted into Sonar or soapUI or whatever to successfully invoke that operation, then it should, of course, also work if posted from Integration Server. (Same message sent to the same place should produce same outcome).

    Confirm that the endpoint address (URL) in your flow is correct and that any required authentication is supplied.

    Is this operation being invoked over HTTP or HTTPS?

    Mark


    #API-Management
    #soa
    #webMethods


  • 7.  RE: WS Timeout

    Posted Thu May 24, 2007 04:00 PM

    Hi,

    It’s working with HTTP

    I understand what you are saying, it should work, but it isn’t.

    I’ve been doing more tests, and this is what I found

    Altought I get the SocketTimeoutException the WS method runs (that is, the Data is created on the server)
    I have another method, that is Listing the data created, and sometimes when I run this method I get the same exception, but if I run a second time (in a row) it work.

    The problem is that the methods that never run I can’t call it with the same data (because the second time I run it, the data already exists in the server).

    Is this a known issue on the WM Integration Server? Having to run a service twice to get the correct result?
    Can I do a flush or whatever on the beggining of the service, so one time is enough?

    Thanks once again


    #webMethods
    #API-Management
    #soa


  • 8.  RE: WS Timeout

    Posted Thu May 24, 2007 06:00 PM

    I don’t understand what you are saying here.


    #webMethods
    #soa
    #API-Management


  • 9.  RE: WS Timeout

    Posted Fri May 25, 2007 12:07 PM

    Imagine the WS Method creates some data in a Database.

    When I call the WS with WM I get the error (Read Timed Out).

    But if I take a look in the database, I see that the data was created. Which means that the WS Method was in fact invoked.

    So I guess something went wrong, on the WS reply.


    #webMethods
    #API-Management
    #soa


  • 10.  RE: WS Timeout

    Posted Fri May 25, 2007 07:33 PM

    What is the HTTP return code when the web service operation is called from your Flow service?

    Is the operation being called over HTTPS or HTTP?

    You haven’t mentioned what version of IS you are using. If 6.5 or later set the “loadAs” parameter to byteArrayStream.

    Mark


    #API-Management
    #soa
    #webMethods


  • 11.  RE: WS Timeout

    Posted Fri May 25, 2007 07:59 PM

    What is the HTTP return code when the web service operation is called from your Flow service?

    I don’t have a return code, because the WS Connector throws an Exception. So there is no HTTP Return Code

    Is the operation being called over HTTPS or HTTP?

    It’s being called by regular HTTP

    You haven’t mentioned what version of IS you are using.

    I’m working on version 6.1

    Thank you


    #webMethods
    #API-Management
    #soa