Hi Tammo, hi Matthieu,

thanks for your help! Finally a combination of both of your hints solved the problem.

For reasons of completeness, I post the working process again.

Regards,
Christoph

#######################################
Corrected/working BPEL-process
#######################################

<process name="xpathTest"
targetNamespace="http://initial/testbpel";
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable";
xmlns:testWsdl="http://ifs";
xmlns:testXsd="http://ifs/xsd";>


<import location="bpelTest.wsdl"
    namespace="http://ifs";
    importType="http://schemas.xmlsoap.org/wsdl/"; />

<partnerLinks>
<partnerLink name="testing" partnerLinkType="testWsdl:testingLT" myRole="testService" />
</partnerLinks>


<variables>
   <variable name="DataTOin" messageType="testWsdl:testItMsgIN" />
<variable name="DataTOout" messageType="testWsdl:testItMsgOUT" /> </variables>


<sequence>
<receive partnerLink="testing" portType="testWsdl:testingPT" operation="testIt" variable="DataTOin" createInstance="yes">
   </receive>
<assign name="assign1">
         <copy>
<from><literal><testWsdl:doItResponse><testWsdl:param><testXsd:s1/><testXsd:zahl>0</testXsd:zahl></testWsdl:param></testWsdl:doItResponse></literal></from>
             <to>$DataTOout.out</to>
         </copy>
   </assign>
<assign name="assign2">
         <copy>
               <!-- I tried this without the namespaces, too -->
             <from>$DataTOin.in/testWsdl:param/testXsd:zahl</from>
             <to>$DataTOout.out/testWsdl:param/testXsd:zahl</to>
         </copy>
   </assign>
<reply partnerLink="testing" portType="testWsdl:testingPT" operation="testIt" variable="DataTOout">
   </reply>
</sequence>

</process>

Matthieu Riou schrieb:
Here it seems the variable is initialized as it's set with the input
message. However if you check the fromPart assignment:

    <from xmlns:testXsd="http://ifs/xsd
">$DataTOin.in/testXsd:param/testWsdl:zahl</from>

>From the definitions attached, the namespace prefixes look inverted to me.
The param element is in the testWsdl namespace and the zahl element in the
testXsd. So you should have:

    <from xmlns:testXsd="http://ifs/xsd
">$DataTOin.in/testWsdl:param/testXsd:zahl</from>

Same thing for the to part of the assignment.

Cheers,
Matthieu

On Fri, May 30, 2008 at 7:17 AM, Tammo van Lessen <[EMAIL PROTECTED]>
wrote:

Hi,

please see http://ode.apache.org/faq.html#FAQ-LanguageRelatedBPELQuestionsand look for 
"My process fails with a selectionFailure; What can I do?". A
variable must be initialized prior to accessing a child node directly via
XPath. So adding a
<copy><from><literal><testXsd:param><testWsdl:zahl/><testXsd:param><literal><from><to>$DataTOin.in</to></copy>
should actually do the job.

Best,
 Tammo


Christoph M. Pflügler wrote:

Hi there,

I'm actually facing problems when using XPath expressions in my BPEL
process. I always get the fault message below. I was trying around for quite
a while now and I am not able to solve the problem. I was able to access the
message parts, but nothing below them (eg. DataTOin.in worked, while
$DataTOin.in/param did not). The example is oriented at chapter 8.2 (Usage
of Query and Expression Languages) of the BPEL standard (statusMessage,
statusContainer etc.).  Is there anybody who knows how to solve this kind of
problem?

Any help would be greatly appreciated!!

Regards,
Christoph


#######################################
fault message
#######################################

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/";>
 <soapenv:Body>
  <soapenv:Fault>
    <faultcode>soapenv:Server</faultcode>
    <faultstring xmlns:axis2ns7="
http://docs.oasis-open.org/wsbpel/2.0/process/executable";>axis2ns7:selectionFailure</faultstring>

    <detail/>
  </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>


#######################################
relevant snippet of BPEL process
#######################################

<assign name="assign1">
        <copy>
              <!-- I tried this without the namespaces, too -->
            <from 
xmlns:testXsd="http://ifs/xsd";>$DataTOin.in/testXsd:param/testWsdl:zahl</from>

            <to 
xmlns:testXsd="http://ifs/xsd";>$DataTOout.out/testXsd:param/testWsdl:zahl</to>

        </copy>
  </assign>

##########################################
The relevant snippet from ode.log is:
##########################################


2008-05-30 15:17:57,171 : DEBUG - GeronimoLog.debug(66) | Process store
event: {ProcessStoreEvent#UNDEPLOYED:{
http://initial/testbpel}xpathTest-141<http://initial/testbpel%7DxpathTest-141>
}
2008-05-30 15:17:57,171 : DEBUG - GeronimoLog.debug(66) | Deactivating
process 
{http://initial/testbpel}xpathTest-141<http://initial/testbpel%7DxpathTest-141>
2008-05-30 15:17:57,171 : DEBUG - GeronimoLog.debug(66) | Destroying
service {http://ifs}bpelService port testPort
2008-05-30 15:17:57,171 : INFO - GeronimoLog.info(79) | Unregistered
process 
{http://initial/testbpel}xpathTest-141<http://initial/testbpel%7DxpathTest-141>
.
2008-05-30 15:17:57,218 : DEBUG - GeronimoLog.debug(66) | Process store
event: 
{ProcessStoreEvent#DEPLOYED:{http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
}
2008-05-30 15:17:57,234 : DEBUG - GeronimoLog.debug(66) | Ignoring store
event: 
{ProcessStoreEvent#DEPLOYED:{http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
}
2008-05-30 15:17:57,234 : DEBUG - GeronimoLog.debug(66) | Process store
event: {ProcessStoreEvent#ACTVIATED:{
http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
}
2008-05-30 15:17:57,234 : DEBUG - GeronimoLog.debug(66) | register: {
http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
2008-05-30 15:17:57,234 : DEBUG - GeronimoLog.debug(66) | Registering
process 
{http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>with
 server.
2008-05-30 15:17:57,234 : DEBUG - GeronimoLog.debug(66) | Register
process: serviceId={http://ifs}bpelService:testPort,
process=BpelProcess[{http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
]
2008-05-30 15:17:57,234 : DEBUG - GeronimoLog.debug(66) | Activating {
http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
2008-05-30 15:17:57,234 : DEBUG - GeronimoLog.debug(66) | Destroying
service {http://ifs}bpelService port testPort
2008-05-30 15:17:57,234 : DEBUG - GeronimoLog.debug(66) | Couldn't find
service {http://ifs}bpelService port testPort to destroy.
2008-05-30 15:17:57,234 : DEBUG - GeronimoLog.debug(66) | Create
AxisService: service={http://ifs}bpelService port=testPort
WSDL=bpelTest.wsdl BPEL=bpelTest.bpel
2008-05-30 15:17:57,250 : DEBUG - GeronimoLog.debug(66) | Get import:
 import=dto.xsd
parent=file:/C:/Programme/apache-tomcat-6.0.16/webapps/ode/WEB-INF/processes/xpathTester/bpelTest.wsdl

2008-05-30 15:17:57,250 : DEBUG - GeronimoLog.debug(66) | resolveEntity:
targetNamespace=http://ifs/xsd schemaLocation=dto.xsd
baseUri=file:/C:/Programme/apache-tomcat-6.0.16/webapps/ode/WEB-INF/processes/xpathTester/bpelTest.wsdl

2008-05-30 15:17:57,250 : DEBUG - GeronimoLog.debug(66) | Looking for
Axis2 service configuration file:
file:/C:/Programme/apache-tomcat-6.0.16/webapps/ode/WEB-INF/processes/xpathTester/bpelService.axis2

2008-05-30 15:17:57,250 : DEBUG - GeronimoLog.debug(66) | Axis2 service
configuration not found:
file:/C:/Programme/apache-tomcat-6.0.16/webapps/ode/WEB-INF/processes/xpathTester/bpelService.axis2

2008-05-30 15:17:57,250 : DEBUG - GeronimoLog.debug(66) | Setting service
with empty namespace replication
2008-05-30 15:17:57,250 : DEBUG - GeronimoLog.debug(66) | Created Axis2
service {http://ifs}bpelService
2008-05-30 15:17:57,250 : DEBUG - GeronimoLog.debug(66) | Activated {
http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>myrole
 testing: EPR is [EMAIL PROTECTED]
2008-05-30 15:17:57,265 : DEBUG - GeronimoLog.debug(66) | Activated {
http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
2008-05-30 15:17:57,265 : DEBUG - GeronimoLog.debug(66) | Rehydrating
process 
{http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
2008-05-30 15:17:57,296 : DEBUG - GeronimoLog.debug(66) | Creating process
DAO for 
{http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>(guid=hqejbhcnphr3bc6es3hv5a)
2008-05-30 15:17:57,296 : INFO - GeronimoLog.info(79) | Registered process
{http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
.
2008-05-30 15:17:57,296 : INFO - GeronimoLog.info(79) | Deployment of
artifact xpathTester successful: 
[{http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
]
2008-05-30 15:18:24,718 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-120; rescheduling job
hqejbhcnphr3bc6es3hv4r for 30.05.08 15:19
2008-05-30 15:18:24,828 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-113; rescheduling job
hqejbhcnphr3bc6es3hv4s for 30.05.08 15:19
2008-05-30 15:18:24,875 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-104; rescheduling job
hqejbhcnphr3bc6es3hv4t for 30.05.08 15:19
2008-05-30 15:18:24,890 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-118; rescheduling job
hqejbhcnphr3bc6es3hv4u for 30.05.08 15:19
2008-05-30 15:18:25,000 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-104; rescheduling job
hqejbhcnphr3bc6es3hv4w for 30.05.08 15:19
2008-05-30 15:18:25,000 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-115; rescheduling job
hqejbhcnphr3bc6es3hv4v for 30.05.08 15:19
2008-05-30 15:18:25,000 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-115; rescheduling job
hqejbhcnphr3bc6es3hv4x for 30.05.08 15:19
2008-05-30 15:18:25,046 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-82; rescheduling job
hqejbhcnphr3bc6es3hv50 for 30.05.08 15:19
2008-05-30 15:18:25,093 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-106; rescheduling job
hqejbhcnphr3bc6es3hv52 for 30.05.08 15:19
2008-05-30 15:18:25,093 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-80; rescheduling job
hqejbhcnphr3bc6es3hv51 for 30.05.08 15:19
2008-05-30 15:18:25,093 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-118; rescheduling job
hqejbhcnphr3bc6es3hv53 for 30.05.08 15:19
2008-05-30 15:18:25,140 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-108; rescheduling job
hqejbhcnphr3bc6es3hv54 for 30.05.08 15:19
2008-05-30 15:18:25,156 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-118; rescheduling job
hqejbhcnphr3bc6es3hv56 for 30.05.08 15:19
2008-05-30 15:18:25,156 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-122; rescheduling job
hqejbhcnphr3bc6es3hv55 for 30.05.08 15:19
2008-05-30 15:18:25,187 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-115; rescheduling job
hqejbhcnphr3bc6es3hv57 for 30.05.08 15:19
2008-05-30 15:18:25,187 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-115; rescheduling job
hqejbhcnphr3bc6es3hv59 for 30.05.08 15:19
2008-05-30 15:18:25,187 : INFO - GeronimoLog.info(79) | Received a
scheduled job event for inactive process
{orchestration:test:party2:bpel}party2-124; rescheduling job
hqejbhcnphr3bc6es3hv58 for 30.05.08 15:19
2008-05-30 15:18:57,015 : DEBUG - GeronimoLog.debug(66) | The system is
checking for the operation using the following WSAAction: urn:testIt
2008-05-30 15:18:57,015 : DEBUG - GeronimoLog.debug(66) | Checking for
Operation using SOAP message body's first child's local name : doIt
2008-05-30 15:18:57,015 : DEBUG - GeronimoLog.debug(66) | Received request
message for xpath.{http://ifs}testIt
2008-05-30 15:18:57,015 : DEBUG - GeronimoLog.debug(66) | Starting
transaction.
2008-05-30 15:18:57,015 : DEBUG - GeronimoLog.debug(66) | Routed: svcQname
{http://ifs}bpelService --> BpelProcess[{
http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
]
2008-05-30 15:18:57,015 : DEBUG - GeronimoLog.debug(66) | ODE routed to
operation Operation: name=testIt
style=REQUEST_RESPONSE,1
Input: name=null
Message: name={http://ifs}testItMsgIN
Part: name=in
elementName={http://ifs}doIt
Output: name=null
Message: name={http://ifs}testItMsgOUT
Part: name=out
elementName={http://ifs}doItResponse from service {http://ifs}bpelService
2008-05-30 15:18:57,031 : DEBUG - GeronimoLog.debug(66) | Invoking ODE
using MEX {MyRoleMex#hqejbhcnphr3bc6es3hv5t [Client hqejbhcnphr3bc6es3hv5s]
calling {http://ifs}bpelService.testIt(...)}
2008-05-30 15:18:57,031 : DEBUG - GeronimoLog.debug(66) | Message content:
 <?xml version="1.0" encoding="UTF-8"?>
<message><in><doIt xmlns="http://ifs"; xmlns:ns2="http://ifs";
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
          <param>
             <s1 xmlns="http://ifs/xsd"; xmlns:ns1="http://ifs/xsd";>Hallo,
Hallo!!</s1>
             <zahl xmlns="http://ifs/xsd"; xmlns:ns1="http://ifs/xsd
">200</zahl>
          </param>
       </doIt></in></message>
2008-05-30 15:18:57,031 : DEBUG - GeronimoLog.debug(66) | Routed: svcQname
{http://ifs}bpelService --> BpelProcess[{
http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
]
2008-05-30 15:18:57,031 : DEBUG - GeronimoLog.debug(66) | invoke() EPR=
null ==> 
BpelProcess[{http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>
]
2008-05-30 15:18:57,031 : DEBUG - GeronimoLog.debug(66) | Commiting ODE
MEX {MyRoleMex#hqejbhcnphr3bc6es3hv5t [Client hqejbhcnphr3bc6es3hv5s]
calling {http://ifs}bpelService.testIt(...)}
2008-05-30 15:18:57,031 : DEBUG - GeronimoLog.debug(66) | Commiting
transaction.
2008-05-30 15:18:57,031 : DEBUG - GeronimoLog.debug(66) | >>
handleWorkEvent(jobData={mexid=hqejbhcnphr3bc6es3hv5t, pid={
http://initial/testbpel}xpathTest-142<http://initial/testbpel%7DxpathTest-142>,
type=INVOKE_INTERNAL})
2008-05-30 15:18:57,031 : DEBUG - GeronimoLog.debug(66) | InvokeInternal
event for mexid hqejbhcnphr3bc6es3hv5t
2008-05-30 15:18:57,062 : DEBUG - GeronimoLog.debug(66) | GET MEX property
org.apache.ode.bpel.myRoleSessionId = null
2008-05-30 15:18:57,062 : DEBUG - GeronimoLog.debug(66) | GET MEX property
org.apache.ode.bpel.myRoleSessionId = null
2008-05-30 15:18:57,062 : DEBUG - GeronimoLog.debug(66) | GET MEX property
org.apache.ode.bpel.partnerRoleSessionId = null
2008-05-30 15:18:57,062 : DEBUG - GeronimoLog.debug(66) | INPUTMSG:
12.testIt: MSG RCVD keys=[] mySessionId=null partnerSessionId=null
2008-05-30 15:18:57,062 : DEBUG - GeronimoLog.debug(66) | INPUTMSG:
12.testIt: routing failed, CREATING NEW INSTANCE
2008-05-30 15:18:57,062 : DEBUG - GeronimoLog.debug(66) |
BpelRuntimeContextImpl created for instance 12007. INDEXED STATE={}
2008-05-30 15:18:57,078 : DEBUG - GeronimoLog.debug(66) | SELECT:
PickResponseChannel#9: USING CORRELATOR 12.testIt
2008-05-30 15:18:57,078 : DEBUG - GeronimoLog.debug(66) | SELECT:
PickResponseChannel#9: CHECKING for NEW INSTANCE match
2008-05-30 15:18:57,078 : DEBUG - GeronimoLog.debug(66) | INPUTMSGMATCH:
Changing process instance state from ready to active
2008-05-30 15:18:57,078 : DEBUG - GeronimoLog.debug(66) | SELECT:
PickResponseChannel#9: FOUND match for NEW instance
mexRef={MyRoleMex#hqejbhcnphr3bc6es3hv5t [Client hqejbhcnphr3bc6es3hv5s]
calling {http://ifs}bpelService.testIt(...)}
2008-05-30 15:18:57,093 : ERROR - GeronimoLog.error(104) | Assignment
Fault: {
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=27,faultExplanation=R-Value<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailure,lineNo=27,faultExplanation=R-Value>expression
 "{OXPath10Expression $DataTOin.in/testXsd:param/testWsdl:zahl}"
did not select any nodes.
2008-05-30 15:18:57,093 : DEBUG - GeronimoLog.debug(66) | ProcessImpl
completed with fault '{
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailure>'

2008-05-30 15:18:57,093 : DEBUG - GeronimoLog.debug(66) | Processing an
async reply from service {http://ifs}bpelService
2008-05-30 15:18:57,171 : DEBUG - GeronimoLog.debug(66) | Received myrole
mex response callback
2008-05-30 15:18:57,171 : DEBUG - GeronimoLog.debug(66) | Handling
response for MEX {MyRoleMex#hqejbhcnphr3bc6es3hv5t [Client
hqejbhcnphr3bc6es3hv5s] calling {http://ifs}bpelService.testIt(...)}
2008-05-30 15:18:57,171 : DEBUG - GeronimoLog.debug(66) | Starting
transaction.
2008-05-30 15:18:57,218 : DEBUG - GeronimoLog.debug(66) | Fault response
message: {
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailure>
2008-05-30 15:18:57,218 : DEBUG - GeronimoLog.debug(66) | Returning fault:
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring
xmlns:axis2ns7="http://docs.oasis-open.org/wsbpel/2.0/process/executable";>axis2ns7:selectionFailure</faultstring><detail
/></soapenv:Fault></soapenv:Body></soapenv:Envelope>
2008-05-30 15:18:57,218 : DEBUG - GeronimoLog.debug(66) | Releasing mex
hqejbhcnphr3bc6es3hv5t
2008-05-30 15:18:57,218 : DEBUG - GeronimoLog.debug(66) | Comitting
transaction.
2008-05-30 15:18:57,218 : DEBUG - GeronimoLog.debug(66) | Reply for
xpath.{http://ifs}testIt
2008-05-30 15:18:57,218 : DEBUG - GeronimoLog.debug(66) | Reply message
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring
xmlns:axis2ns7="http://docs.oasis-open.org/wsbpel/2.0/process/executable";>axis2ns7:selectionFailure</faultstring><detail
/></soapenv:Fault></soapenv:Body></soapenv:Envelope>



#######################################
complete BPEL process
#######################################

<process name="xpathTest"
targetNamespace="http://initial/testbpel";
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable";
xmlns:testWsdl="http://ifs";>


<import location="bpelTest.wsdl"
   namespace="http://ifs";
   importType="http://schemas.xmlsoap.org/wsdl/"; />

<partnerLinks>
  <partnerLink name="testing" partnerLinkType="testWsdl:testingLT"
myRole="testService" />
</partnerLinks>


<variables>
  <variable name="DataTOin" messageType="testWsdl:testItMsgIN" />
  <variable name="DataTOout" messageType="testWsdl:testItMsgOUT" />
</variables>


<sequence>
  <receive partnerLink="testing" portType="testWsdl:testingPT"
operation="testIt" variable="DataTOin" createInstance="yes">
  </receive>
    <assign name="assign1">
        <copy>
              <!-- I tried this without the namespaces, too -->
            <from 
xmlns:testXsd="http://ifs/xsd";>$DataTOin.in/testXsd:param/testWsdl:zahl</from>

            <to 
xmlns:testXsd="http://ifs/xsd";>$DataTOout.out/testXsd:param/testWsdl:zahl</to>

        </copy>
  </assign>
    <reply partnerLink="testing" portType="testWsdl:testingPT"
operation="testIt" variable="DataTOout">
  </reply>
</sequence>

</process>

#######################################
complete WSDL
#######################################

<wsdl:definitions
xmlns:pos="http://ifs";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
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/";
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype";
xmlns:ns0="http://ifs/xsd";
targetNamespace="http://ifs";>

<wsdl:types>
    <xs:schema xmlns:ns="http://ifs"; attributeFormDefault="qualified"
               elementFormDefault="qualified"
               targetNamespace="http://ifs";>
       <xs:import namespace="http://ifs/xsd";
                  schemaLocation="dto.xsd" />
       <xs:element name="doIt">
          <xs:complexType>
             <xs:sequence>
                <xs:element minOccurs="0" name="param" nillable="true"
type="ns0:DTO"/>
             </xs:sequence>
          </xs:complexType>
       </xs:element>
       <xs:element name="doItResponse">
          <xs:complexType>
             <xs:sequence>
                <xs:element minOccurs="0" name="return" nillable="true"
type="ns0:DTO"/>
             </xs:sequence>
          </xs:complexType>
       </xs:element>
    </xs:schema>
 </wsdl:types>


<wsdl:message name="testItMsgIN">
  <wsdl:part name="in" element="pos:doIt"/>
</wsdl:message>

<wsdl:message name="testItMsgOUT">
  <wsdl:part name="out" element="pos:doItResponse"/>
</wsdl:message>



<wsdl:portType name="testingPT">
  <wsdl:operation name="testIt">
      <wsdl:input message="pos:testItMsgIN" />
      <wsdl:output message="pos:testItMsgOUT" />
  </wsdl:operation>
</wsdl:portType>



<wsdl:binding name="bpelTestBinding" type="pos:testingPT">
      <soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="testIt">
          <soap:operation soapAction="" style="document"/>
          <wsdl:input>
              <soap:body
                  namespace="http://ifs";
                  use="literal"/>
          </wsdl:input>
          <wsdl:output>
              <soap:body
                  namespace="http://ifs";
                  use="literal"/>
          </wsdl:output>
      </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="bpelService">
      <wsdl:port name="testPort" binding="pos:bpelTestBinding">
           <soap:address location="
http://localhost:8080/ode/processes/xpath"/>
      </wsdl:port>
  </wsdl:service>





<plnk:partnerLinkType name="testingLT">
  <plnk:role name="testService" portType="pos:testingPT" />
</plnk:partnerLinkType>


</wsdl:definitions>


#######################################
dto.xsd
#######################################

<xs:schema xmlns:ax21="http://ifs/xsd";
      attributeFormDefault="qualified"
      elementFormDefault="qualified"
      targetNamespace="http://ifs/xsd";
      xmlns:xs="http://www.w3.org/2001/XMLSchema";>
       <xs:complexType name="DTO">
          <xs:sequence>
             <xs:element minOccurs="0" name="s1" nillable="true"
type="xs:string"/>
             <xs:element minOccurs="0" name="zahl" type="xs:int"/>
          </xs:sequence>
       </xs:complexType>
</xs:schema>

#######################################
request SOAP message
#######################################

<soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/";>
    <soapenv:Body>
       <ns2:doIt xmlns:ns2="http://ifs";>
          <ns2:param>
             <ns1:s1 xmlns:ns1="http://ifs/xsd";>Hallo, Hallo!!</ns1:s1>
             <ns1:zahl xmlns:ns1="http://ifs/xsd";>200</ns1:zahl>
          </ns2:param>
       </ns2:doIt>
    </soapenv:Body>
 </soapenv:Envelope>



Reply via email to