ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Boisvert" <boisv...@intalio.com>
Subject Re: Problem invoking external web service
Date Tue, 09 Sep 2008 14:48:34 GMT
Your web service is not providing a response quickly enough, and Ode gives
up (times out).

You should diagnose your service to understand why it takes more than 120
seconds to respond.

alex

On Tue, Sep 9, 2008 at 4:10 AM, Emanuele Zapparoli <zappasan@gmail.com>wrote:

> Hi folks!I've designed with eclipse bpel a process that call an external
> web
> service. When the web service is invoked I get the following error:
>
>
> Timeout or execution error when waiting for response to MEX
> {MyRoleMex#hqejbhcnp
> hr3kt8lu854tn [Client hqejbhcnphr3kt8lu854tm] calling {http://proc
> }NewService.operazioni(...)}
> java.util.concurrent.TimeoutException: Message exchange
>
> org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture@1c674d8timed
> out when waiting for a
> response!</faultstring><detail><Exception>org.apache.ode.axis2.OdeFault:
> Timeout or execution error when waiting for response to
> MEX {MyRoleMex#hqejbhcnphr3kt8lu854tn [Client hqejbhcnphr3kt8lu854tm]
> calling {http://proc}NewService.operazioni(...)}
> java.util.concurrent.TimeoutException: Message exchange
>
> org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture@1c674d8time
> d out when waiting for a response!&#xd;
>        at
> org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java
> :154)&#xd;
>        at
> org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODE
> MessageReceiver.java:67)&#xd;
>        at
> org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODE
> MessageReceiver.java:50)&#xd;
>        at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMe
> ssageReceiver.java:96)&#xd;
>        at
> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)&#xd;
>        at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq
> uest(HTTPTransportUtils.java:275)&#xd;
>        at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:1
> 20)&#xd;
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)&#xd;
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)&#xd;
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:269)&#xd;
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:188)&#xd;
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:213)&#xd;
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:174)&#xd;
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:127)&#xd;
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:117)&#xd;
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:108)&#xd;
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:174)&#xd;
>        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :874)&#xd;
>        at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
> rocessConnection(Http11BaseProtocol.java:665)&#xd;
>        at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
> int.java:528)&#xd;
>        at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
> lowerWorkerThread.java:81)&#xd;
>        at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:689)&#xd;
>        at java.lang.Thread.run(Unknown Source)&#xd;
>
> If I delete the invoke construct from the bpel file there are no other
> problems.
>
> The bpel file is the following:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <bpws:process exitOnStandardFault="yes" name="proc"
>    suppressJoinFailure="yes" targetNamespace="http://proc"
>    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
>    xmlns:ns="http://procArtifacts"
>    xmlns:ns0="http://services.ws.dvel.it" xmlns:tns="http://proc">
>    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>        location="proc.wsdl" namespace="http://proc"/>
>    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>        location="procArtifacts.wsdl" namespace="http://procArtifacts"/>
>    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>        location="ImportedWSDL/Sum2.wsdl" namespace="
> http://services.ws.dvel.it"/>
>    <bpws:partnerLinks>
>        <bpws:partnerLink myRole="procProvider" name="client"
> partnerLinkType="tns:proc"/>
>        <bpws:partnerLink name="add" partnerLinkType="ns:addLink"
> partnerRole="addProvider"/>
>    </bpws:partnerLinks>
>    <bpws:variables>
>        <bpws:variable messageType="tns:procRequestMessage" name="input"/>
>        <bpws:variable messageType="tns:procResponseMessage" name="output"/>
>        <bpws:variable messageType="ns0:getSumRequest" name="aIn">
>            <bpws:from/>
>        </bpws:variable>
>        <bpws:variable messageType="ns0:getSumResponse" name="aOut">
>            <bpws:from/>
>        </bpws:variable>
>    </bpws:variables>
>    <bpws:sequence name="main">
>        <bpws:receive createInstance="yes" name="receiveInput"
>            operation="operazioni" partnerLink="client"
>            portType="tns:proc" variable="input"/>
>        <bpws:assign name="assignAIN" validate="yes">
>            <bpws:copy>
>                <bpws:from xmlns:bpws="
> http://schemas.xmlsoap.org/ws/2004/03/business-process/
> "><![CDATA[7]]></bpws:from>
>                <bpws:to part="parameters" variable="aIn"/>
>            </bpws:copy>
>            <bpws:copy>
>                <bpws:from xmlns:bpws="
> http://schemas.xmlsoap.org/ws/2004/03/business-process/
> "><![CDATA[10]]></bpws:from>
>                <bpws:to part="parameters" variable="aIn"/>
>            </bpws:copy>
>        </bpws:assign>
>        <bpws:invoke inputVariable="aIn" name="Invoke"
>            operation="getSum" outputVariable="aOut" partnerLink="add"
> portType="ns0:SumPortType"/>
>        <bpws:assign name="Assign" validate="yes">
>            <bpws:copy>
>                <bpws:from part="parameters" variable="aOut">
>                    <bpws:query
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/ns0:return]]></bpws:query>
>                </bpws:from>
>                <bpws:to part="payload" variable="output">
>                    <bpws:query
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns:result]]></bpws:query>
>                </bpws:to>
>            </bpws:copy>
>        </bpws:assign>
>        <bpws:reply name="replyOutput" operation="operazioni"
>            partnerLink="client" portType="tns:proc" variable="output"/>
>    </bpws:sequence>
> </bpws:process>
>
>
> And the wsdl file of the process is:
>
> <?xml version="1.0"?>
> <definitions name="proc"
>        targetNamespace="http://proc"
>        xmlns:tns="http://proc"
>        xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
>        xmlns="http://schemas.xmlsoap.org/wsdl/"
>        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
>
> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     TYPE DEFINITION - List of types participating in this BPEL process
>     The BPEL Designer will generate default request and response types
>     but you can define or import any XML Schema type and use them as part
>     of the message types.
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -->
>    <types>
>        <schema attributeFormDefault="unqualified"
> elementFormDefault="qualified"
>                targetNamespace="http://proc"
>                xmlns="http://www.w3.org/2001/XMLSchema">
>
>            <element name="procRequest">
>                <complexType>
>                    <sequence>
>                        <element name="input" type="int"/>
>                    </sequence>
>                </complexType>
>            </element>
>
>            <element name="procResponse">
>                <complexType>
>                    <sequence>
>                        <element name="result" type="int"/>
>                    </sequence>
>                </complexType>
>            </element>
>        </schema>
>    </types>
>
>
> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     MESSAGE TYPE DEFINITION - Definition of the message types used as
>     part of the port type defintions
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -->
>    <message name="procRequestMessage">
>        <part name="payload" element="tns:procRequest"/>
>    </message>
>    <message name="procResponseMessage">
>        <part name="payload" element="tns:procResponse"/>
>    </message>
>
> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     PORT TYPE DEFINITION - A port type groups a set of operations into
>     a logical service unit.
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -->
>
>    <!-- portType implemented by the proc BPEL process -->
>    <portType name="proc">
>        <operation name="operazioni">
>            <input  message="tns:procRequestMessage" />
>            <output message="tns:procResponseMessage"/>
>        </operation>
>    </portType>
>
>
> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     PARTNER LINK TYPE DEFINITION
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -->
>    <plnk:partnerLinkType name="proc">
>        <plnk:role name="procProvider" portType="tns:proc"/>
>    </plnk:partnerLinkType>
>
>    <binding name="procBinding" type="tns:proc">
>     <soap:binding style="document"
>     transport="http://schemas.xmlsoap.org/soap/http" />
>     <operation name="operazioni">
>     <soap:operation soapAction="http://proc/operazioni" />
>     <input>
>     <soap:body use="literal" />
>     </input>
>     <output>
>     <soap:body use="literal" />
>     </output>
>     </operation>
>    </binding>
>    <service name="NewService">
>     <port name="procPortType" binding="tns:procBinding">
>     <soap:address location="http://localhost:8080/ode/processes/Numeri
> "></soap:address>
>     </port>
>    </service>
> </definitions>
>
>
> The procArtifacts.wsdl file is:
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <definitions xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
>  xmlns:tns="http://procArtifacts"
>  xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
>  xmlns:wsdl="http://services.ws.dvel.it" name="procArtifacts"
>  targetNamespace="http://procArtifacts"
>  xmlns="http://schemas.xmlsoap.org/wsdl/">
>  <plnk:partnerLinkType name="addLink">
>    <plnk:role name="addProvider" portType="wsdl:SumPortType"/>
>  </plnk:partnerLinkType>
>  <import location="ImportedWSDL/Sum2.wsdl" namespace="
> http://services.ws.dvel.it"/>
> </definitions>
>
> Can you help me? I can understand why the process goes in timout. Thank you
> in advance.
>
> Emanuele
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message