Hi Alex,
I tried to design the process with the BPEL Designer and it asks me if I
want to initialize the variable. I say yes and expect it to be done. Is this
the problem? Do I have to do something more? More precisely: How do I
initialize the variable correctly? The examples in ODE use only variables
with one part and I don't have an idea what to do, not in terms of BPEL code
nor in terms of using Eclipse BPEL Editor the right way ... Maybe you can
provide an example at least in BPEL code, but I wonder if I am the first one
who tries to use Eclipse BPEL to call a webservice that takes to parameters.
I really can't believe that, so I am quite sure that I am doing something
wrong.
Regards,
Andreas
> 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 <
> [EMAIL PROTECTED]> 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
> >
>
>