Hi BPEL folks,
I have a question regarding the assign-element. 
I modeled a simple BPEL process, where the input is an array of xsd:anyURI and 
the output should be a string of the e.g. the third element of this anyURI 
array. I assume, I have some problems withe the XPATH expression in the assign 
element.

This is the bpel file:


  | <?xml version="1.0" encoding="UTF-8"?>
  | <process name="HelloWorld" targetNamespace="urn:samples:review"
  |     xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/";
  |     xmlns:tns="urn:samples:review"
  |     xmlns:char="http://services.planets-project.eu/ifr/characterisation";
  |     xmlns:rep="http://services.planets-project.eu/ifr/reporting";
  |     xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/";
  |     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  |     xmlns:xsd="http://www.w3.org/2001/XMLSchema";
  |     xmlns:array="http://jaxb.dev.java.net/array";
  |     
xsi:schemaLocation="http://schemas.xmlsoap.org/ws/2003/03/business-process/
  |       http://schemas.xmlsoap.org/ws/2003/03/business-process/";>
  | 
  |     <partnerLinks>
  |             <!-- establishes the relationship with the caller agent -->
  |             <partnerLink name="caller" partnerLinkType="tns:Greeter-Caller"
  |                     myRole="Greeter" />
  | 
  |     </partnerLinks>
  | 
  |     <variables>
  |             <!-- holds the incoming message -->
  |             <variable name="request" messageType="tns:nameMessage" />
  |             <!-- holds the outgoing message -->
  |             <variable name="response" messageType="tns:greetingMessage" />
  |             <variable name="dummy" type="xsd:anyURI" />
  | 
  |     </variables>
  | 
  |     <sequence>
  | 
  |             <!-- receive the name of a person -->
  |             <receive operation="sayHello" partnerLink="caller"
  |                     portType="tns:Greeter" variable="request" 
createInstance="yes" />
  | 
  |             <!-- Assign the final Report to the output variable -->
  |             <assign>
  |                     <copy>
  |                             <from variable="request" 
expression="name/array:item[3]" />
  |                             <to variable="response" part="greeting" />
  |                     </copy>
  |             </assign>
  | 
  |             <!-- reply with the greeting -->
  |             <reply operation="sayHello" partnerLink="caller"
  |                     portType="tns:Greeter" variable="response" />
  |     </sequence>
  | 
  | </process>
  | 


and this is the wsdl File:


  | <?xml version="1.0" encoding="UTF-8"?>
  | <definitions targetNamespace="urn:samples:review"
  |   xmlns="http://schemas.xmlsoap.org/wsdl/";
  |   xmlns:tns="urn:samples:review"
  |   xmlns:xsd="http://www.w3.org/2001/XMLSchema";
  |   xmlns:plt="http://schemas.xmlsoap.org/ws/2004/03/partner-link/";
  |   xmlns:char="http://services.planets-project.eu/ifr/characterisation";
  |   xmlns:rep="http://services.planets-project.eu/ifr/reporting";
  |   xmlns:array="http://jaxb.dev.java.net/array";
  | >
  |       
  |  
  | <types>
  |   <xs:schema targetNamespace='http://jaxb.dev.java.net/array' version='1.0' 
xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  |    
  |    <xs:complexType final='#all' name='anyFileURIArray'>
  |     <xs:sequence>
  |      <xs:element maxOccurs='unbounded' minOccurs='0' name='item' 
nillable='true' type='xs:anyURI'/>
  |     </xs:sequence>
  |    </xs:complexType>
  |    
  |   </xs:schema>
  |  </types>
  | 
  |   <!-- characterizes the relationship between the greeter and its caller -->
  |   <plt:partnerLinkType name="Greeter-Caller">
  |     <plt:role name="Greeter" portType="tns:Greeter"/>
  |   </plt:partnerLinkType>
  |   
  |     
  |   <!-- carries the name of a person -->
  |   <message name="nameMessage">
  |     <part name="name" type="array:anyFileURIArray" />
  |   </message>
  | 
  |   <!-- carries the greeting -->
  |   <message name="greetingMessage">
  |     <part name="greeting" type="xsd:string" />
  |   </message>
  | 
  |   <!-- describes the interface presented to callers -->
  |   <portType name="Greeter">
  |     <operation name="sayHello">
  |       <input message="tns:nameMessage" />
  |       <output message="tns:greetingMessage" />
  |     </operation>
  |   </portType>
  | 
  | </definitions>
  | 

The SOAP request of the deployed workflow is as followed:


  | <ns1:sayHello xmlns:ns1="urn:samples:review">
  |   <name><item>file.doc</item>
  | <item>file1.gif</item>
  | <item>file2.doc</item>
  | <item>file3.jpg</item>
  | <item>file4.doc</item>
  | <item>file5.doc</item>
  | <item>file6.gif</item>
  | <item>file7.doc</item>
  | <item>file8.doc</item></name>
  | </ns1:sayHello>
  | 

and here is the result I get, which does not include the third element 
(-->file2.doc) :(


  | <?xml version="1.0" encoding="UTF-8"?>
  | <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";>
  |   <env:Header />
  |   <env:Body>
  |     <ns1:sayHelloResponse xmlns:ns1="urn:samples:review">
  |       <greeting />
  |     </ns1:sayHelloResponse>
  |   </env:Body>
  | </env:Envelope>
  | 
  | 
  | 

Thanks for your help!!! Maybe you can provide me with an example how to use 
XPATH expressions!!!

Cheers Rainer

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4060692#4060692

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4060692
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to