You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Andreas Christiani <an...@googlemail.com> on 2008/08/18 12:46:29 UTC
Assignment Fault
Hi!
I am trying to implement a very simple BPEL process using Eclipse BPEL with
the latest updates and ODE integration provided last week. It's just to test
if I can call a webservice which runs in the same engine like the calling
one. The process can be deployed an compiled, but when I call it, I get an
error:
>From the log:
910406 [ODEServer-4] ERROR org.apache.ode.bpel.runtime.ASSIGN - Assignment
Fault: {
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=64,faultExplanation=Noresults
for expression: {OXPath10Expression xs:pDocType}
As an answer:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring xmlns:axis2ns2="
http://docs.oasis-open.org/wsbpel/2.0/process/executable
">axis2ns2:selectionFailure</faultstring>
<detail/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
I tried to solve the problem with the hints from this list which are all
about initialization, but I don't come any further. Here is my BPEL process:
<!-- Test6 BPEL Process [Generated by the Eclipse BPEL Designer] -->
<bpel:process name="Test6"
targetNamespace="http://Test6"
suppressJoinFailure="yes"
xmlns:tns="http://Test6"
xmlns:bpel="
http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:ns="http://webservice.adapter.xynapse.nubizz.de" xmlns:xs="
http://webservice.adapter.xynapse.nubizz.de/xsd">
<!-- Import the client WSDL -->
<bpel:import location="Test6Artifacts.wsdl" namespace="http://Test6"
importType="http://schemas.xmlsoap.org/wsdl/" />
<!-- =================================================================
-->
<!-- PARTNERLINKS
-->
<!-- List of services participating in this BPEL process
-->
<!-- =================================================================
-->
<bpel:partnerLinks>
<!-- The 'client' role represents the requester of this service. -->
<bpel:partnerLink name="client"
partnerLinkType="tns:Test6"
myRole="Test6Provider"
/>
<bpel:partnerLink name="xynapse" partnerLinkType="tns:xynapse"
partnerRole="xynapse"></bpel:partnerLink>
</bpel:partnerLinks>
<!-- =================================================================
-->
<!-- VARIABLES
-->
<!-- List of messages and XML documents used within this BPEL process
-->
<!-- =================================================================
-->
<bpel:variables>
<!-- Reference to the message passed as input during initiation -->
<bpel:variable name="input"
messageType="tns:Test6RequestMessage"/>
<!--
Reference to the message that will be returned to the requester
-->
<bpel:variable name="output"
messageType="tns:Test6ResponseMessage"/>
<bpel:variable name="xynapseResponse"
messageType="ns:submitDocumentResponse"></bpel:variable>
<bpel:variable name="xynapseRequest"
messageType="ns:submitDocumentRequest"></bpel:variable>
</bpel:variables>
<!-- =================================================================
-->
<!-- ORCHESTRATION LOGIC
-->
<!-- Set of activities coordinating the flow of messages across the
-->
<!-- services integrated within this business process
-->
<!-- =================================================================
-->
<bpel:sequence name="main">
<!-- Receive input from requester.
Note: This maps to operation defined in Test6.wsdl
-->
<bpel:receive name="receiveInput" partnerLink="client"
portType="tns:Test6"
operation="process" variable="input"
createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<bpel:assign validate="no" name="Assign">
<bpel:copy>
<bpel:from>
<bpel:literal xml:space="preserve"><ns0:submitDocument
xmlns:ns0="http://webservice.adapter.xynapse.nubizz.de/xsd" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
</ns0:submitDocument>
</bpel:literal>
</bpel:from>
<bpel:to variable="xynapseRequest"
part="parameters"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from part="payload" variable="input">
<bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:input]]></bpel:query>
</bpel:from>
<bpel:to part="parameters" variable="xynapseRequest">
<bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[xs:pDocType]]></bpel:query>
</bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from part="payload" variable="input">
<bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:input]]></bpel:query>
</bpel:from>
<bpel:to part="parameters" variable="xynapseRequest">
<bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[xs:pDocument]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:invoke name="Invoke" partnerLink="xynapse"
operation="submitDocument" portType="ns:GenericDocumentServicePortType"
inputVariable="xynapseRequest"
outputVariable="xynapseResponse"></bpel:invoke>
<bpel:assign validate="no" name="Assign1">
<bpel:copy>
<bpel:from>
<bpel:literal xml:space="preserve"><tns:Test6Response
xmlns:tns="http://Test6" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
<tns:result></tns:result>
</tns:Test6Response>
</bpel:literal>
</bpel:from>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from part="payload" variable="input">
<bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:input]]></bpel:query>
</bpel:from>
<bpel:to part="payload" variable="output">
<bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:result]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:reply name="replyOutput"
partnerLink="client"
portType="tns:Test6"
operation="process"
variable="output"
/>
</bpel:sequence>
</bpel:process>
And here is the WSDL of the web service I like to call:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:axis2="http://webservice.adapter.xynapse.nubizz.de" 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://webservice.adapter.xynapse.nubizz.de/xsd" 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://webservice.adapter.xynapse.nubizz.de">
<wsdl:types>
<xs:schema xmlns:xsd="
http://webservice.adapter.xynapse.nubizz.de/xsd"
attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://webservice.adapter.xynapse.nubizz.de/xsd">
<xs:element name="submitDocument">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="pDocType"
nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="pDocument"
nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="submitDocumentResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return"
type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="submitDocumentRequest">
<wsdl:part name="parameters" element="ns0:submitDocument"/>
</wsdl:message>
<wsdl:message name="submitDocumentResponse">
<wsdl:part name="parameters" element="ns0:submitDocumentResponse"/>
</wsdl:message>
<wsdl:portType name="GenericDocumentServicePortType">
<wsdl:operation name="submitDocument">
<wsdl:input message="axis2:submitDocumentRequest"
wsaw:Action="urn:submitDocument"/>
<wsdl:output message="axis2:submitDocumentResponse"
wsaw:Action="urn:submitDocumentResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GenericDocumentServiceSOAP11Binding"
type="axis2:GenericDocumentServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<wsdl:operation name="submitDocument">
<soap:operation soapAction="urn:submitDocument"
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="GenericDocumentServiceSOAP12Binding"
type="axis2:GenericDocumentServicePortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<wsdl:operation name="submitDocument">
<soap12:operation soapAction="urn:submitDocument"
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="GenericDocumentServiceHttpBinding"
type="axis2:GenericDocumentServicePortType">
<http:binding verb="POST"/>
<wsdl:operation name="submitDocument">
<http:operation
location="GenericDocumentService/submitDocument"/>
<wsdl:input>
<mime:content type="text/xml" part="submitDocument"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="submitDocument"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GenericDocumentService">
<wsdl:port name="GenericDocumentServiceSOAP11port_http"
binding="axis2:GenericDocumentServiceSOAP11Binding">
<soap:address location="
http://localhost:8080/ode/processes/GenericDocumentService"/>
</wsdl:port>
<wsdl:port name="GenericDocumentServiceSOAP12port_http"
binding="axis2:GenericDocumentServiceSOAP12Binding">
<soap12:address location="
http://localhost:8080/axis2/services/GenericDocumentService
"/><soap12:binding></soap12:binding>
<soap:address location="
http://localhost:8080/ode/processes/GenericDocumentService"/>
</wsdl:port>
<wsdl:port name="GenericDocumentServiceHttpport"
binding="axis2:GenericDocumentServiceHttpBinding">
<http:address location="
http://localhost:8080/axis2/services/GenericDocumentService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Any help is appreciated!
Regards,
Andreas
Re: Assignment Fault
Posted by Alex Boisvert <bo...@intalio.com>.
You must initialize your "xynapseRequest" variable to have the pDocType
element in it if you want to use this element as a target of an assignment.
alex
On Mon, Aug 18, 2008 at 3:46 AM, Andreas Christiani <
andreas.christiani@googlemail.com> wrote:
> Hi!
>
> I am trying to implement a very simple BPEL process using Eclipse BPEL with
> the latest updates and ODE integration provided last week. It's just to
> test
> if I can call a webservice which runs in the same engine like the calling
> one. The process can be deployed an compiled, but when I call it, I get an
> error:
>
> From the log:
> 910406 [ODEServer-4] ERROR org.apache.ode.bpel.runtime.ASSIGN - Assignment
> Fault: {
>
> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=64,faultExplanation=Noresults<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailure,lineNo=64,faultExplanation=Noresults>
> for expression: {OXPath10Expression xs:pDocType}
>
> As an answer:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
> ">
> <soapenv:Body>
> <soapenv:Fault>
> <faultcode>soapenv:Server</faultcode>
> <faultstring xmlns:axis2ns2="
> http://docs.oasis-open.org/wsbpel/2.0/process/executable
> ">axis2ns2:selectionFailure</faultstring>
> <detail/>
> </soapenv:Fault>
> </soapenv:Body>
> </soapenv:Envelope>
>
> I tried to solve the problem with the hints from this list which are all
> about initialization, but I don't come any further. Here is my BPEL
> process:
>
> <!-- Test6 BPEL Process [Generated by the Eclipse BPEL Designer] -->
> <bpel:process name="Test6"
> targetNamespace="http://Test6"
> suppressJoinFailure="yes"
> xmlns:tns="http://Test6"
> xmlns:bpel="
> http://docs.oasis-open.org/wsbpel/2.0/process/executable"
> xmlns:ns="http://webservice.adapter.xynapse.nubizz.de" xmlns:xs="
> http://webservice.adapter.xynapse.nubizz.de/xsd">
>
> <!-- Import the client WSDL -->
> <bpel:import location="Test6Artifacts.wsdl" namespace="http://Test6"
> importType="http://schemas.xmlsoap.org/wsdl/" />
>
> <!-- =================================================================
> -->
> <!-- PARTNERLINKS
> -->
> <!-- List of services participating in this BPEL process
> -->
> <!-- =================================================================
> -->
> <bpel:partnerLinks>
> <!-- The 'client' role represents the requester of this service. -->
> <bpel:partnerLink name="client"
> partnerLinkType="tns:Test6"
> myRole="Test6Provider"
> />
> <bpel:partnerLink name="xynapse" partnerLinkType="tns:xynapse"
> partnerRole="xynapse"></bpel:partnerLink>
> </bpel:partnerLinks>
>
> <!-- =================================================================
> -->
> <!-- VARIABLES
> -->
> <!-- List of messages and XML documents used within this BPEL process
> -->
> <!-- =================================================================
> -->
> <bpel:variables>
> <!-- Reference to the message passed as input during initiation -->
> <bpel:variable name="input"
> messageType="tns:Test6RequestMessage"/>
>
> <!--
> Reference to the message that will be returned to the requester
> -->
> <bpel:variable name="output"
> messageType="tns:Test6ResponseMessage"/>
>
>
> <bpel:variable name="xynapseResponse"
> messageType="ns:submitDocumentResponse"></bpel:variable>
> <bpel:variable name="xynapseRequest"
> messageType="ns:submitDocumentRequest"></bpel:variable>
> </bpel:variables>
>
> <!-- =================================================================
> -->
> <!-- ORCHESTRATION LOGIC
> -->
> <!-- Set of activities coordinating the flow of messages across the
> -->
> <!-- services integrated within this business process
> -->
> <!-- =================================================================
> -->
> <bpel:sequence name="main">
>
> <!-- Receive input from requester.
> Note: This maps to operation defined in Test6.wsdl
> -->
> <bpel:receive name="receiveInput" partnerLink="client"
> portType="tns:Test6"
> operation="process" variable="input"
> createInstance="yes"/>
>
> <!-- Generate reply to synchronous request -->
>
>
> <bpel:assign validate="no" name="Assign">
> <bpel:copy>
> <bpel:from>
> <bpel:literal xml:space="preserve"><ns0:submitDocument
> xmlns:ns0="http://webservice.adapter.xynapse.nubizz.de/xsd" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance">
> </ns0:submitDocument>
> </bpel:literal>
> </bpel:from>
> <bpel:to variable="xynapseRequest"
> part="parameters"></bpel:to>
> </bpel:copy>
> <bpel:copy>
> <bpel:from part="payload" variable="input">
> <bpel:query
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:input]]></bpel:query>
> </bpel:from>
> <bpel:to part="parameters" variable="xynapseRequest">
> <bpel:query
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[xs:pDocType]]></bpel:query>
> </bpel:to>
> </bpel:copy>
> <bpel:copy>
> <bpel:from part="payload" variable="input">
> <bpel:query
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:input]]></bpel:query>
> </bpel:from>
> <bpel:to part="parameters" variable="xynapseRequest">
> <bpel:query
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[xs:pDocument]]></bpel:query>
> </bpel:to>
> </bpel:copy>
> </bpel:assign>
> <bpel:invoke name="Invoke" partnerLink="xynapse"
> operation="submitDocument" portType="ns:GenericDocumentServicePortType"
> inputVariable="xynapseRequest"
> outputVariable="xynapseResponse"></bpel:invoke>
>
> <bpel:assign validate="no" name="Assign1">
> <bpel:copy>
> <bpel:from>
> <bpel:literal xml:space="preserve"><tns:Test6Response
> xmlns:tns="http://Test6" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance">
> <tns:result></tns:result>
> </tns:Test6Response>
> </bpel:literal>
> </bpel:from>
> <bpel:to variable="output" part="payload"></bpel:to>
> </bpel:copy>
> <bpel:copy>
> <bpel:from part="payload" variable="input">
> <bpel:query
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:input]]></bpel:query>
> </bpel:from>
> <bpel:to part="payload" variable="output">
> <bpel:query
>
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:result]]></bpel:query>
> </bpel:to>
> </bpel:copy>
> </bpel:assign>
> <bpel:reply name="replyOutput"
> partnerLink="client"
> portType="tns:Test6"
> operation="process"
> variable="output"
> />
> </bpel:sequence>
> </bpel:process>
>
>
> And here is the WSDL of the web service I like to call:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:axis2="http://webservice.adapter.xynapse.nubizz.de" 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://webservice.adapter.xynapse.nubizz.de/xsd" 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://webservice.adapter.xynapse.nubizz.de">
> <wsdl:types>
> <xs:schema xmlns:xsd="
> http://webservice.adapter.xynapse.nubizz.de/xsd"
> attributeFormDefault="qualified" elementFormDefault="qualified"
> targetNamespace="http://webservice.adapter.xynapse.nubizz.de/xsd">
> <xs:element name="submitDocument">
> <xs:complexType>
> <xs:sequence>
> <xs:element minOccurs="0" name="pDocType"
> nillable="true" type="xs:string"/>
> <xs:element minOccurs="0" name="pDocument"
> nillable="true" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="submitDocumentResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element minOccurs="0" name="return"
> type="xs:boolean"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
> </wsdl:types>
> <wsdl:message name="submitDocumentRequest">
> <wsdl:part name="parameters" element="ns0:submitDocument"/>
> </wsdl:message>
> <wsdl:message name="submitDocumentResponse">
> <wsdl:part name="parameters" element="ns0:submitDocumentResponse"/>
> </wsdl:message>
> <wsdl:portType name="GenericDocumentServicePortType">
> <wsdl:operation name="submitDocument">
> <wsdl:input message="axis2:submitDocumentRequest"
> wsaw:Action="urn:submitDocument"/>
> <wsdl:output message="axis2:submitDocumentResponse"
> wsaw:Action="urn:submitDocumentResponse"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="GenericDocumentServiceSOAP11Binding"
> type="axis2:GenericDocumentServicePortType">
> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
> style="document"/>
> <wsdl:operation name="submitDocument">
> <soap:operation soapAction="urn:submitDocument"
> 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="GenericDocumentServiceSOAP12Binding"
> type="axis2:GenericDocumentServicePortType">
> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"
> style="document"/>
> <wsdl:operation name="submitDocument">
> <soap12:operation soapAction="urn:submitDocument"
> 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="GenericDocumentServiceHttpBinding"
> type="axis2:GenericDocumentServicePortType">
> <http:binding verb="POST"/>
> <wsdl:operation name="submitDocument">
> <http:operation
> location="GenericDocumentService/submitDocument"/>
> <wsdl:input>
> <mime:content type="text/xml" part="submitDocument"/>
> </wsdl:input>
> <wsdl:output>
> <mime:content type="text/xml" part="submitDocument"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="GenericDocumentService">
> <wsdl:port name="GenericDocumentServiceSOAP11port_http"
> binding="axis2:GenericDocumentServiceSOAP11Binding">
> <soap:address location="
> http://localhost:8080/ode/processes/GenericDocumentService"/>
> </wsdl:port>
> <wsdl:port name="GenericDocumentServiceSOAP12port_http"
> binding="axis2:GenericDocumentServiceSOAP12Binding">
> <soap12:address location="
> http://localhost:8080/axis2/services/GenericDocumentService
> "/><soap12:binding></soap12:binding>
> <soap:address location="
> http://localhost:8080/ode/processes/GenericDocumentService"/>
> </wsdl:port>
> <wsdl:port name="GenericDocumentServiceHttpport"
> binding="axis2:GenericDocumentServiceHttpBinding">
> <http:address location="
> http://localhost:8080/axis2/services/GenericDocumentService"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
>
> Any help is appreciated!
>
>
> Regards,
>
> Andreas
>