My BPEL project was successfuly deployed on ODE. However, when I tried to
use it with a client I got the following error:
ERROR - GeronimoLog.error(104) | Assignment Fault: {
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=35,faultExplanation=Noresults
for
expression: {OXPath10Expression /xsd:dummy_input}

The project is simple:
- One service called DiceServer that returns a random value (1 to 6) (I
wrote a client for this one, it works fine)
- One service called ColorServer that returns a color, given a value.

The BPEL process does the following:
- Get a random value from DiceServer
- Send the result to ColorServer
- Get a Random Color
- Return the random Color

dummy_input is a string, the parameter to getDiceValue() on DiceServer
service. If I understood well, the BPEL process couldn't get a value from
getDiceValue(dummy_input). However, I'm sure that this service is working
because I tested it with a client. Hence, there must be something wrong with
the BPEL process.

Thanks,
Chris.
<?xml version="1.0"?>
<definitions name="RandomColor"
        targetNamespace="http://www.utbm.fr/bpel/sample";
        xmlns:tns="http://www.utbm.fr/bpel/sample";
        xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype";
        xmlns:xsd="http://www.w3.org/2001/XMLSchema";
        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://www.utbm.fr/bpel/sample"; 
                xmlns="http://www.w3.org/2001/XMLSchema";>

            <element name="RandomColorRequest">
                <complexType>
                    <sequence>
                        <element name="input" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>

            <element name="RandomColorResponse">
                <complexType>
                    <sequence>
                        <element name="result" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
        </schema>
    </types>


<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     MESSAGE TYPE DEFINITION - Definition of the message types used as 
     part of the port type defintions
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
    <message name="RandomColorRequestMessage">
        <part name="payload" element="tns:RandomColorRequest"/>
    </message>
    <message name="RandomColorResponseMessage">
        <part name="payload" element="tns:RandomColorResponse"/>
    </message>

<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     PORT TYPE DEFINITION - A port type groups a set of operations into
     a logical service unit.
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    

    <!-- portType implemented by the RandomColor BPEL process -->
    <portType name="RandomColor">
        <operation name="getRandomColor">
            <input  message="tns:RandomColorRequestMessage" />
            <output message="tns:RandomColorResponseMessage"/>
        </operation>
    </portType>
  

<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     PARTNER LINK TYPE DEFINITION
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
    <plnk:partnerLinkType name="RandomColor">
        <plnk:role name="RandomColorProvider" portType="tns:RandomColor"/>
    </plnk:partnerLinkType>
    
    <binding name="RandomColorBinding" type="tns:RandomColor">
    	<soap:binding style="document"
    		transport="http://schemas.xmlsoap.org/soap/http"; />
    	<operation name="getRandomColor">
    		<soap:operation
    			soapAction="http://www.utbm.fr/bpel/sample/getRandomColor"; />
    		<input>
    			<soap:body use="literal" />
    		</input>
    		<output>
    			<soap:body use="literal" />
    		</output>
    	</operation>
    </binding>
    <service name="RandomColorService">
    	<port name="RandomColorPort" binding="tns:RandomColorBinding">
    		<soap:address location="http://localhost:8080/ode/processes/RandomColorService";></soap:address>
    	</port>
    </service>
</definitions>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<definitions xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"; xmlns:tns="http://www.utbm.fr/bpel/sampleArtifacts"; xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"; xmlns:wsdl="http://diceserver.utbm.fr"; xmlns:wsdl1="http://colorserver.utbm.fr"; name="RandomColorArtifacts" targetNamespace="http://www.utbm.fr/bpel/sampleArtifacts"; xmlns="http://schemas.xmlsoap.org/wsdl/";>
  <plnk:partnerLinkType name="DicePLT">
    <plnk:role name="DiceProvider" portType="wsdl:DiceServerPortType"/>
  </plnk:partnerLinkType>
  <plnk:partnerLinkType name="ColorPLT">
    <plnk:role name="ColorProvider" portType="wsdl1:ColorServerPortType"/>
  </plnk:partnerLinkType>
  <import location="DiceServer.wsdl" namespace="http://diceserver.utbm.fr"/>
  <import location="ColorServer.wsdl" namespace="http://colorserver.utbm.fr"/>
</definitions>
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                  xmlns:ns1="http://org.apache.axis2/xsd";
                  xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
                  xmlns:ns0="http://colorserver.utbm.fr";
                  xmlns:xs="http://www.w3.org/2001/XMLSchema";
                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
                  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
                  targetNamespace="http://colorserver.utbm.fr";>
   <wsdl:documentation>ColorServer</wsdl:documentation>
   <wsdl:types>
      <xs:schema xmlns:ns="http://colorserver.utbm.fr"; attributeFormDefault="qualified"
                 elementFormDefault="qualified"
                 targetNamespace="http://colorserver.utbm.fr";>
         <xs:element name="getColor">
            <xs:complexType>
               <xs:sequence>
                  <xs:element minOccurs="0" name="val" type="xs:int"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="getColorResponse">
            <xs:complexType>
               <xs:sequence>
                  <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
      </xs:schema>
   </wsdl:types>
   <wsdl:message name="getColorRequest">
      <wsdl:part name="parameters" element="ns0:getColor"/>
   </wsdl:message>
   <wsdl:message name="getColorResponse">
      <wsdl:part name="parameters" element="ns0:getColorResponse"/>
   </wsdl:message>
   <wsdl:portType name="ColorServerPortType">
      <wsdl:operation name="getColor">
         <wsdl:input message="ns0:getColorRequest" wsaw:Action="urn:getColor"/>
         <wsdl:output message="ns0:getColorResponse" wsaw:Action="urn:getColorResponse"/>
      </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="ColorServerSOAP11Binding" type="ns0:ColorServerPortType">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
      <wsdl:operation name="getColor">
         <soap:operation soapAction="urn:getColor" style="document"/>
         <wsdl:input>
            <soap:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap:body use="literal"/>
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:binding name="ColorServerSOAP12Binding" type="ns0:ColorServerPortType">
      <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
      <wsdl:operation name="getColor">
         <soap12:operation soapAction="urn:getColor" style="document"/>
         <wsdl:input>
            <soap12:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap12:body use="literal"/>
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:binding name="ColorServerHttpBinding" type="ns0:ColorServerPortType">
      <http:binding verb="POST"/>
      <wsdl:operation name="getColor">
         <http:operation location="ColorServer/getColor"/>
         <wsdl:input>
            <mime:content type="text/xml" part="getColor"/>
         </wsdl:input>
         <wsdl:output>
            <mime:content type="text/xml" part="getColor"/>
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="ColorServer">
      <wsdl:port name="ColorServerSOAP11port_http" binding="ns0:ColorServerSOAP11Binding">
         <soap:address location="http://localhost:8080/ode/processes/ColorServer"/>
      </wsdl:port>
      <wsdl:port name="ColorServerSOAP12port_http" binding="ns0:ColorServerSOAP12Binding">
         <soap12:address location="http://localhost:8080/ode/processes/ColorServer"/>
      </wsdl:port>
      <wsdl:port name="ColorServerHttpport" binding="ns0:ColorServerHttpBinding">
         <http:address location="http://localhost:8080/ode/processes/ColorServer"/>
      </wsdl:port>
   </wsdl:service>
</wsdl:definitions>
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
                  xmlns:ns1="http://org.apache.axis2/xsd";
                  xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
                  xmlns:ns0="http://diceserver.utbm.fr";
                  xmlns:xs="http://www.w3.org/2001/XMLSchema";
                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
                  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
                  targetNamespace="http://diceserver.utbm.fr";>
   <wsdl:documentation>DiceServer</wsdl:documentation>
   <wsdl:types>
      <xs:schema xmlns:ns="http://diceserver.utbm.fr"; attributeFormDefault="qualified"
                 elementFormDefault="qualified"
                 targetNamespace="http://diceserver.utbm.fr";>
         <xs:element name="getDiceValue">
            <xs:complexType>
               <xs:sequence>
                  <xs:element minOccurs="0" name="dummy_input" nillable="true" type="xs:string"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="getDiceValueResponse">
            <xs:complexType>
               <xs:sequence>
                  <xs:element minOccurs="0" name="return" type="xs:int"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
      </xs:schema>
   </wsdl:types>
   <wsdl:message name="getDiceValueRequest">
      <wsdl:part name="parameters" element="ns0:getDiceValue"/>
   </wsdl:message>
   <wsdl:message name="getDiceValueResponse">
      <wsdl:part name="parameters" element="ns0:getDiceValueResponse"/>
   </wsdl:message>
   <wsdl:portType name="DiceServerPortType">
      <wsdl:operation name="getDiceValue">
         <wsdl:input message="ns0:getDiceValueRequest" wsaw:Action="urn:getDiceValue"/>
         <wsdl:output message="ns0:getDiceValueResponse" wsaw:Action="urn:getDiceValueResponse"/>
      </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="DiceServerSOAP11Binding" type="ns0:DiceServerPortType">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
      <wsdl:operation name="getDiceValue">
         <soap:operation soapAction="urn:getDiceValue" style="document"/>
         <wsdl:input>
            <soap:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap:body use="literal"/>
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:binding name="DiceServerSOAP12Binding" type="ns0:DiceServerPortType">
      <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
      <wsdl:operation name="getDiceValue">
         <soap12:operation soapAction="urn:getDiceValue" style="document"/>
         <wsdl:input>
            <soap12:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap12:body use="literal"/>
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:binding name="DiceServerHttpBinding" type="ns0:DiceServerPortType">
      <http:binding verb="POST"/>
      <wsdl:operation name="getDiceValue">
         <http:operation location="DiceServer/getDiceValue"/>
         <wsdl:input>
            <mime:content type="text/xml" part="getDiceValue"/>
         </wsdl:input>
         <wsdl:output>
            <mime:content type="text/xml" part="getDiceValue"/>
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="DiceServer">
      <wsdl:port name="DiceServerSOAP11port_http" binding="ns0:DiceServerSOAP11Binding">
         <soap:address location="http://localhost:8080/ode/processes/DiceServer"/>
      </wsdl:port>
      <wsdl:port name="DiceServerSOAP12port_http" binding="ns0:DiceServerSOAP12Binding">
         <soap12:address location="http://localhost:8080/ode/processes/DiceServer"/>
      </wsdl:port>
      <wsdl:port name="DiceServerHttpport" binding="ns0:DiceServerHttpBinding">
         <http:address location="http://localhost:8080/ode/processes/DiceServer"/>
      </wsdl:port>
   </wsdl:service>
</wsdl:definitions>
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"; xmlns:pns="http://www.utbm.fr/bpel/sample"; xmlns:wns1="http://diceserver.utbm.fr"; xmlns:wns2="http://colorserver.utbm.fr";>
  <process name="pns:RandomColor">
    <active>true</active>
    <provide partnerLink="client">
      <service name="pns:RandomColorService" port="RandomColorPort"/>
    </provide>
    <invoke partnerLink="DicePL">
      <service name="wns1:DiceServer" port="DiceServerSOAP11port_http"/>
    </invoke>
    <invoke partnerLink="ColorPL">
      <service name="wns2:ColorServer" port="ColorServerSOAP11port_http"/>
    </invoke>
  </process>
</deploy>

Reply via email to