Hi Diego,

Nice to hear that you got it to work... and thanks for informing us about
that.

Thanks,
Ruwan

On Wed, Oct 22, 2008 at 8:13 PM, Paloschi Diego E <[EMAIL PROTECTED]>wrote:

> Hi Ruwan,
>
> The problem has now been resolved and, it wasn't a Synapse ESB issue
> after all.
>
> After taking a closer look at the web service itself, I have realized
> that the messageReceiver for the IN_OUT MEP operation was using the
> default RawXMLINOutMessageReceiver class which is synchronous. I have
> changed it to use RawXMLINOutAsyncMessageReceiver class (in Axis version
> 1.3) which is indeed asynchronous.
>
> I was always under the impression that no modifications were necessary
> at the service end if a client wishes to make calls to it
> asynchronously, but this doesn't seem to be the case?
>
> Thanks again for your help and time!
>
> Regards,
>
> Diego.
>
> -----Original Message-----
> From: Ruwan Linton [mailto:[EMAIL PROTECTED]
> Sent: 22 October 2008 12:46
> To: [email protected]
> Subject: Re: client http connection to synapse ESB closed four times
> every 60 seconds
>
> Hi Diego,
>
> Can you inspect the message going from synapse to the web service using
> a TCPMon tool and attach the request being sent to the service and what
> you see on the back channel. Ideally you should be seeing a 202 Accepted
> from service to synapse.
>
> Thanks,
> Ruwan
>
> On Wed, Oct 22, 2008 at 4:23 PM, Paloschi Diego E
> <[EMAIL PROTECTED]>wrote:
>
> > Hi Ruwan,
> >
> > With regards to my initial post, I have realised that our client was
> > not including setUseSeparateListener(true) as one of its Options
> properly.
> > This has now been included and, the client now truly uses separate
> > channel for request/response.
> >
> > Having fixed that, we still have problems within the ESB. i.e:
> >
> > The client sends request to ESB and receives back a 202 accepted
> > response. But, we also get a 'TransportUtils - Did not find
> > RequestResponseTransport cannot set response written' debug message
> (?).
> >
> > The ESB receives the request from the client and forwards it to the
> > service. But, after a minute exactly, the ESB gets a 'ERROR_CODE =
> > 00000, ERROR_MESSAGE = Connection timeout' log message.
> >
> > So, when the service actually sends the response back to the ESB, the
> > ESB logs a message 'ERROR AxisEngine The endpoint reference (EPR) for
> > the Operation not found is http:...'
> >
> > Below is the synapse.xml used:
> >
> > <definitions xmlns="http://ws.apache.org/ns/synapse";>
> >
> >        <log level="full"/>
> >
> >        <sequence name="alt_endpoint">
> >                <send>
> >                        <endpoint>
> >                                <address
> > uri="http://localhost:8081/ws-wp82/services/WP82Service";
> > optimize="mtom">
> >                                        <enableAddressing
> > separateListener="true"/>
> >                                </address>
> >                        </endpoint>
> >                </send>
> >        </sequence>
> >
> >        <in>
> >                <!-- establish which web service we are calling -->
> >                <switch source="get-property('To')">
> >                        <case regex=".*WP82Service.*">
> >                                <!-- add a SOAP header to preserve the
> > SOAP request's original 'To' -->
> >                                <header name="esb:orig-to"
> > value="http://192.168.16:8081/ws-wp82/services/WP82Service";
> > xmlns:prime="http://esb.qinetiq.com"/>
> >
> >                                <sequence key="alt_endpoint"/>
> >                        </case>
> >                </switch>
> >                <drop/>
> >        </in>
> >
> >        <out>
> >                <property name="enableMTOM" value="true"
> scope="axis2"/>
> >                <send/>
> >        </out>
> > </definitions >
> >
> > Thanx for any pointers on this.
> >
> > Regards,
> >
> > Diego.
> >
> >
> > Assuming that you are using the asynchronous communication over http
> > using WS-Addressing in between client and ESB as well as ESB and web
> > service there should not be any timeouts, because the back channel of
> > the http request will be after the request being sent and the
> > client/ESB waits for the response over a different channel.
> >
> > Is there any possibility of attaching the synapse configuration that
> > you are using? In which case I can have a look at the synapse.xml and
> > find any issues in the configuration.
> >
> > You do not need to increase the socket.timeout if you are using
> > separate channel to receive the response.
> >
> > Thanks,
> > Ruwan
> >
> >
> >
> >         Hi Asanka,
> >
> >        Thanks for the quick reply.
> >
> >        I should have given more details on our client settings but, it
>
> > is
> >        currently configured to receive responses on a separate
> > transport
> >        channel (asynchronous) and it has WS-addressing enabled
> > (WS-addressing
> >        is enabled in our client, synapse ESB and web service). The
> > transports
> >        used from client to ESB to web service and back are all regular
>
> > http (no
> >        https). Also, there are no firewalls or anything like that
> > along the way
> >        as we are testing on a test-rig!)
> >
> >        The reason we are looking for a configuration problem within
> > the ESB is
> >        simply because when the client calls the web service directly,
> > no
> >        HttpClient connection loss occurs after 60 secs (no matter how
> > long the
> >        response takes).
> >
> >        Regards,
> >
> >        Diego.
> >
> >
> >        > We are using a Synapse ESB (1.2) to mediate web service calls
>
> > to a web
> >
> >        > service. In testing, we have an Axis2 client whose requests
> > are sent
> >        > to our Synapse ESB which, then forwards the request to the
> web
> >        > service. The web service itself can take a long time
> > (10mins+) to send
> >
> >        > a response back. The problem we have is that the client's
> http
> >        > connection to the ESB is closed after 60 seconds and re-tries
>
> > to send
> >        > the request up to four times before giving up.
> >        >
> >        This is the default behavior of the Axis2 client side, which
> > uses
> >        HttpClient
> >        > If our client sends the request to the web service directly,
> > the
> >        > client happily waits 10mins+ for a response to come back.
> >        >
> >        Irrespective of the fact that this works or not, I would very
> > strongly
> >        suggest that waiting on a open socket for a synchronous reply
> > for 10
> >        minutes+ does not look like a good approach.. what you should
> > ideally
> >        use is WS-Addressing, and receive the reply on a new channel.
> > With
> >        http/s and real life situations, an http/s connection does not
> > live this
> >        long, and many intermediate nodes may disconnect the connection
>
> > during
> >        such a long period of inactvity
> >
> > The information contained in this E-Mail and any subsequent
> > correspondence is private and is intended solely for the intended
> > recipient(s).  The information in this communication may be
> > confidential and/or legally privileged.  Nothing in this e-mail is
> > intended to conclude a contract on behalf of QinetiQ or make QinetiQ
> > subject to any other legally binding commitments, unless the e-mail
> > contains an express statement to the contrary or incorporates a formal
>
> > Purchase Order.
> >
> > For those other than the recipient any disclosure, copying,
> > distribution, or any action taken or omitted to be taken in reliance
> > on such information is prohibited and may be unlawful.
> >
> > Emails and other electronic communication with QinetiQ may be
> > monitored and recorded for business purposes including security, audit
>
> > and archival purposes.  Any response to this email indicates consent
> > to this.
> >
> > Telephone calls to QinetiQ may be monitored or recorded for quality
> > control, security and other business purposes.
> >
> > QinetiQ Limited
> > Registered in England & Wales: Company Number:3796233 Registered
> > office: 85 Buckingham Gate, London SW1E 6PD, United Kingdom Trading
> > address: Cody Technology Park, Cody Building, Ively Road, Farnborough,
>
> > Hampshire, GU14 0LX, United Kingdom
> > http://www.qinetiq.com/home/notices/legal.html
> >
>
>
>
> --
> Ruwan Linton
> http://wso2.org - "Oxygenating the Web Services Platform"
> http://ruwansblog.blogspot.com/
> The QinetiQ e-mail privacy policy and company information is detailed
> elsewhere in the body of this email.
>



-- 
Ruwan Linton
http://wso2.org - "Oxygenating the Web Services Platform"
http://ruwansblog.blogspot.com/

Reply via email to