You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Christopher Riley <cr...@hkmconsultingllc.com> on 2008/04/14 18:55:57 UTC

Unable to perform an Assign using XPath 1.0 Expression: Getting Assignment Mismatch error

Hi,

I am trying to execute a simple BPEL script that is copying from one element
to another (from input to result). When I execute the script I get tan
assignment mismatch error indicating that the Xpath failed to find a match.
I am currently using Apache Ode 1.1.1, running within Apache Axis 1.3/Tomcat
6. 

BPEL Script:

<?xml version="1.0" encoding="UTF-8"?> <bpws:process
exitOnStandardFault="yes" name="SampleBroker"    suppressJoinFailure="yes"
targetNamespace="http://www.gleeworks.net/SampleBroker"
xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:tns="http://www.gleeworks.net/SampleBroker">    <bpws:import
importType="http://schemas.xmlsoap.org/wsdl/"
location="SampleBroker.wsdl"
namespace="http://www.gleeworks.net/SampleBroker" />    <bpws:partnerLinks>
<bpws:partnerLink myRole="SampleBrokerProvider" name="client"
partnerLinkType="tns:SampleBroker" />    </bpws:partnerLinks>
<bpws:variables>        <bpws:variable
messageType="tns:SampleBrokerRequestMessage"            name="input" />
<bpws:variable messageType="tns:SampleBrokerResponseMessage"
name="output" />    </bpws:variables>    <bpws:sequence name="main">
<bpws:receive createInstance="yes" name="receiveInput"
operation="process" partnerLink="client" portType="tns:SampleBroker"
variable="input" />        <bpws:assign name="Assign" validate="no">
<bpws:copy>                <bpws:from>                    <bpws:literal>
<ns1:SampleBrokerResponse
xmlns:ns1="http://www.gleeworks.net/SampleBroker.wsdl">
<ns1:result />                        </ns1:SampleBrokerResponse>
</bpws:literal>                </bpws:from>
<bpws:to>$output.payload</bpws:to>            </bpws:copy>
<bpws:copy>        
<bpws:from><![CDATA[$input.payload/SampleBrokerRequest/input]]></bpws:from>
<bpws:to><![CDATA[$output.payload/SampleBrokerResponse/result]]></bpws:to>
</bpws:copy>        </bpws:assign>        <bpws:reply name="replyOutput"
operation="process"            partnerLink="client"
portType="tns:SampleBroker" variable="output" />    </bpws:sequence>
</bpws:process> 




WSDL:

<?xml version="1.0"?> <definitions name="SampleBroker"
targetNamespace="http://www.gleeworks.net/SampleBroker"
xmlns:tns="http://www.gleeworks.net/SampleBroker"
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://www.gleeworks.net/SampleBroker"
xmlns="http://www.w3.org/2001/XMLSchema">             <element
name="SampleBrokerRequest">                <complexType>
<sequence>                        <element name="input" type="string"/>
</sequence>                </complexType>            </element>
<element name="SampleBrokerResponse">                <complexType>
<sequence>                        <element name="result" type="string"/>
</sequence>                </complexType>            </element>
</schema>    </types> <!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MESSAGE TYPE DEFINITION - Definition of the message types used as      part
of the port type defintions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<message name="SampleBrokerRequestMessage">        <part name="payload"
element="tns:SampleBrokerRequest"/>    </message>    <message
name="SampleBrokerResponseMessage">        <part name="payload"
element="tns:SampleBrokerResponse"/>    </message> <!--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into     a
logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- portType implemented by the SampleBroker BPEL process -->    <portType
name="SampleBroker">        <operation name="process">            <input
message="tns:SampleBrokerRequestMessage" />            <output
message="tns:SampleBrokerResponseMessage"/>        </operation>
</portType>  <!-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PARTNER LINK TYPE DEFINITION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<plnk:partnerLinkType name="SampleBroker">        <plnk:role
name="SampleBrokerProvider" portType="tns:SampleBroker"/>
</plnk:partnerLinkType>        <binding name="SampleBrokerBinding"
type="tns:SampleBroker">        <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />        <operation
name="process">            <soap:operation
soapAction="http://www.gleeworks.net/SampleBroker/process" />
<input>                <soap:body use="literal" />            </input>
<output>                <soap:body use="literal" />            </output>
</operation>    </binding>    <service name="SampleBroker">        <port
binding="tns:SampleBrokerBinding" name="SampleBroker">
<soap:address 
location="http://localhost:8080/ode/processes/SampleBroker"></soap:address>
</port>    </service> </definitions>






-- 
Chris Riley, Manager
HKM Consulting LLC
office:   508.763.4141
mobile: 508.273.3102
email:   criley@hkmconsultingllc.com
web:     www.hkmconsultingllc.com




Re: Unable to perform an Assign using XPath 1.0 Expression: Getting Assignment Mismatch error

Posted by Matthieu Riou <ma...@offthelip.org>.
On Mon, Apr 14, 2008 at 9:55 AM, Christopher Riley <
criley@hkmconsultingllc.com> wrote:

> Hi,
>
> I am trying to execute a simple BPEL script that is copying from one
> element
> to another (from input to result). When I execute the script I get tan
> assignment mismatch error indicating that the Xpath failed to find a
> match.
> I am currently using Apache Ode 1.1.1, running within Apache Axis
> 1.3/Tomcat
> 6.
>
> BPEL Script:
>
> <?xml version="1.0" encoding="UTF-8"?> <bpws:process
> exitOnStandardFault="yes" name="SampleBroker"    suppressJoinFailure="yes"
> targetNamespace="http://www.gleeworks.net/SampleBroker"
> xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
> xmlns:tns="http://www.gleeworks.net/SampleBroker">    <bpws:import
> importType="http://schemas.xmlsoap.org/wsdl/"
> location="SampleBroker.wsdl"
> namespace="http://www.gleeworks.net/SampleBroker" />
>  <bpws:partnerLinks>
> <bpws:partnerLink myRole="SampleBrokerProvider" name="client"
> partnerLinkType="tns:SampleBroker" />    </bpws:partnerLinks>
> <bpws:variables>        <bpws:variable
> messageType="tns:SampleBrokerRequestMessage"            name="input" />
> <bpws:variable messageType="tns:SampleBrokerResponseMessage"
> name="output" />    </bpws:variables>    <bpws:sequence name="main">
> <bpws:receive createInstance="yes" name="receiveInput"
> operation="process" partnerLink="client" portType="tns:SampleBroker"
> variable="input" />        <bpws:assign name="Assign" validate="no">
> <bpws:copy>                <bpws:from>                    <bpws:literal>
> <ns1:SampleBrokerResponse
> xmlns:ns1="http://www.gleeworks.net/SampleBroker.wsdl">
> <ns1:result />                        </ns1:SampleBrokerResponse>
> </bpws:literal>                </bpws:from>
> <bpws:to>$output.payload</bpws:to>            </bpws:copy>
> <bpws:copy>
>
> <bpws:from><![CDATA[$input.payload/SampleBrokerRequest/input]]></bpws:from>
> <bpws:to><![CDATA[$output.payload/SampleBrokerResponse/result]]></bpws:to>
> </bpws:copy>        </bpws:assign>        <bpws:reply name="replyOutput"
> operation="process"            partnerLink="client"
> portType="tns:SampleBroker" variable="output" />    </bpws:sequence>
> </bpws:process>
>
>
>
>
> WSDL:
>
> <?xml version="1.0"?> <definitions name="SampleBroker"
> targetNamespace="http://www.gleeworks.net/SampleBroker"
> xmlns:tns="http://www.gleeworks.net/SampleBroker"
> 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://www.gleeworks.net/SampleBroker"
> xmlns="http://www.w3.org/2001/XMLSchema">             <element
> name="SampleBrokerRequest">                <complexType>
> <sequence>                        <element name="input" type="string"/>
> </sequence>                </complexType>            </element>
> <element name="SampleBrokerResponse">                <complexType>
> <sequence>                        <element name="result" type="string"/>
> </sequence>                </complexType>            </element>
> </schema>    </types> <!--
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> MESSAGE TYPE DEFINITION - Definition of the message types used as
>  part
> of the port type defintions
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
> <message name="SampleBrokerRequestMessage">        <part name="payload"
> element="tns:SampleBrokerRequest"/>    </message>    <message
> name="SampleBrokerResponseMessage">        <part name="payload"
> element="tns:SampleBrokerResponse"/>    </message> <!--
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> PORT TYPE DEFINITION - A port type groups a set of operations into     a
> logical service unit.
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
> <!-- portType implemented by the SampleBroker BPEL process -->
>  <portType
> name="SampleBroker">        <operation name="process">            <input
> message="tns:SampleBrokerRequestMessage" />            <output
> message="tns:SampleBrokerResponseMessage"/>        </operation>
> </portType>  <!--
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> PARTNER LINK TYPE DEFINITION
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
> <plnk:partnerLinkType name="SampleBroker">        <plnk:role
> name="SampleBrokerProvider" portType="tns:SampleBroker"/>
> </plnk:partnerLinkType>        <binding name="SampleBrokerBinding"
> type="tns:SampleBroker">        <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http" />        <operation
> name="process">            <soap:operation
> soapAction="http://www.gleeworks.net/SampleBroker/process" />
> <input>                <soap:body use="literal" />            </input>
> <output>                <soap:body use="literal" />            </output>
> </operation>    </binding>    <service name="SampleBroker">        <port
> binding="tns:SampleBrokerBinding" name="SampleBroker">
> <soap:address
> location="http://localhost:8080/ode/processes/SampleBroker
> "></soap:address>
> </port>    </service> </definitions>
>
>
Did you have a look at the FAQ [1]? The answer to the question "*My process
fails with a selectionFailure; What can I do?"* should help.

Matthieu

[1] http://ode.apache.org/faq.html



>
>
>
>
> --
> Chris Riley, Manager
> HKM Consulting LLC
> office:   508.763.4141
> mobile: 508.273.3102
> email:   criley@hkmconsultingllc.com
> web:     www.hkmconsultingllc.com
>
>
>
>