ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emanuele Zapparoli" <zappa...@gmail.com>
Subject Problem invoking an external web service
Date Tue, 09 Sep 2008 10:54:30 GMT
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