Need help with axis2ns1:selectionFailure [message #638382] |
Thu, 11 November 2010 01:24  |
Eclipse User |
|
|
|
Dear all,
I'm trying to invoke an external web service from my BPEL process, but I keep getting axis2ns1:selectionFailure error when testing with SOAPUI. I'm using eclipse, axis, tomcat 6, ode 1.3.4.
The process is simple receive--> assign--> invoke (external web service)--> assign --> reply. I think the variables for the invoke process have been initialized.
Is there a way that I can see which line in my BPEL process causing the error? I have changed the log4j.properties log level (e.g. log4j.category.org.apache.ode.bpel.engine=DEBUG ...) but I still cannot find the information.
Below are the wsdl and the my bpel files.
Could somebody give me a pointer how to resolve the error?
Thanks.
[B]BPEL[/B]
<bpel:process name="BookTrip"
targetNamespace="http://booktrip.acme.com"
suppressJoinFailure="yes"
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:tns="http://booktrip.acme.com" xmlns:ns="http://provider.com" xmlns:ns1="http://message.flight.provider.com" xmlns:ns0="http://apartmentpackage">
<!-- Import the client WSDL -->
<bpel:import namespace="http://apartmentpackage" locaxmlns:ns="http://provider.com" xmlns:msg="http://message.flight.provider.com"tion="ApartmentService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"></bpel:import>
<bpel:import namespace="http://provider.com" location="FlightService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"></bpel:import>
<bpel:import location="BookTripArtifacts.wsdl" namespace="http://booktrip.acme.com"
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:BookTrip"
myRole="BookTripProvider"
/>
<bpel:partnerLink name="FlightServicePL" partnerLinkType="tns:FligtServicePLT" partnerRole="FlightServiceProvider"></bpel:partnerLink>
<bpel:partnerLink name="ApartmentServicePL" partnerLinkType="tns:ApartmentServicePLT" partnerRole="ApartmentServiceProvider"></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:BookTripRequestMessage"/>
<!--
Reference to the message that will be returned to the requester
-->
<bpel:variable name="output"
messageType="tns:BookTripResponseMessage"/>
<bpel:variable name="FlightServicePLResponse" messageType="ns:bookFlightResponse"></bpel:variable>
<bpel:variable name="FlightServicePLRequest" messageType="ns:bookFlightRequest"></bpel:variable>
<bpel:variable name="ApartmentServicePLResponse" messageType="ns0:bookApartmentResponse"></bpel:variable>
<bpel:variable name="ApartmentServicePLRequest" messageType="ns0:bookApartmentRequest"></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 BookTrip.wsdl
-->
<bpel:receive name="receiveInput" partnerLink="client"
portType="tns:BookTrip"
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"><impl:bookApartment xmlns:impl="http://apartmentpackage" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<impl:fromDate></impl:fromDate>
<impl:toDate></impl:toDate>
<impl:apartmentID></impl:apartmentID>
</impl:bookApartment>
</bpel:literal>
</bpel:from>
<bpel:to variable="ApartmentServicePLRequest" 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:apartmentID]]></bpel:query>
</bpel:from>
<bpel:to part="parameters" variable="ApartmentServicePLRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[ns0:apartmentID]]></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:returnDate]]>
</bpel:query>
</bpel:from>
<bpel:to part="parameters" variable="ApartmentServicePLRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[ns0:toDate]]>
</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:departureDate]]></bpel:query>
</bpel:from>
<bpel:to part="parameters" variable="ApartmentServicePLRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[ns0:fromDate]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:invoke name="Invoke" partnerLink="ApartmentServicePL" operation="bookApartment" portType="ns0:ApartmentService" inputVariable="ApartmentServicePLRequest" outputVariable="ApartmentServicePLResponse"></bpel:invoke>
<bpel:assign validate="no" name="Assign1">
<bpel:copy>
<bpel:from>
<bpel:literal xml:space="preserve"><tns:BookTripResponse xmlns:tns="http://booktrip.acme.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tns:apartmentBookingCode></tns:apartmentBookingCode>
<tns:flightBookingCode></tns:flightBookingCode>
<tns:carBookingCode></tns:carBookingCode>
</tns:BookTripResponse>
</bpel:literal>
</bpel:from>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from part="parameters" variable="ApartmentServicePLResponse">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[ns0:bookApartmentReturn/ns0:aptbooking/ns0:bookingID]]></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:apartmentBookingCode]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:reply name="replyOutput"
partnerLink="client"
portType="tns:BookTrip"
operation="process"
variable="output"
/>
</bpel:sequence>
</bpel:process>
[B]Apartment WSDL:[/B]
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://apartmentpackage" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://apartmentpackage" xmlns:intf="http://apartmentpackage" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->
<wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="http://apartmentpackage" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="StatusOfOperation">
<sequence>
<element name="statusCode" nillable="true" type="xsd:int"/>
<element name="statusCodeDescription" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<element name="bookApartment">
<complexType>
<sequence>
<element name="fromDate" type="xsd:dateTime"/>
<element name="toDate" type="xsd:dateTime"/>
<element name="apartmentID" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="bookApartmentResponse">
<complexType>
<sequence>
<element name="bookApartmentReturn" type="impl:ApartmentBookingResponse"/>
</sequence>
</complexType>
</element>
<complexType name="ApartmentBooking">
<sequence>
<element name="apartmentID" nillable="true" type="xsd:string"/>
<element name="bookingID" nillable="true" type="xsd:string"/>
<element name="fromDate" nillable="true" type="xsd:dateTime"/>
<element name="toDate" nillable="true" type="xsd:dateTime"/>
</sequence>
</complexType>
<complexType name="ApartmentBookingResponse">
<sequence>
<element name="aptbooking" nillable="true" type="impl:ApartmentBooking"/>
<element name="bookApartmentStatus" nillable="true" type="impl:StatusOfOperation"/>
</sequence>
</complexType>
<!--CUT-->
<wsdl:message name="bookApartmentResponse">
<wsdl:part element="impl:bookApartmentResponse" name="parameters"/>
</wsdl:message
<wsdl:message name="bookApartmentRequest">
<wsdl:part element="impl:bookApartment" name="parameters"/>
</wsdl:message>
<!--CUT-->
<wsdl:operation name="bookApartment">
<wsdl:input message="impl:bookApartmentRequest" name="bookApartmentRequest"/>
<wsdl:output message="impl:bookApartmentResponse" name="bookApartmentResponse"/>
</wsdl:operation>
[B]
Artifacts WSDL[/B]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://booktrip.acme.com"
xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
xmlns:wsdl="http://provider.com"
xmlns:wsdl1="http://apartmentpackage"
name="BookTrip" targetNamespace="http://booktrip.acme.com">
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<plnk:partnerLinkType name="FligtServicePLT">
<plnk:role name="FlightServiceProvider" portType="wsdl:FlightService"/>
</plnk:partnerLinkType>
<plnk:partnerLinkType name="ApartmentServicePLT">
<plnk:role name="ApartmentServiceProvider" portType="wsdl1:ApartmentService"/>
</plnk:partnerLinkType>
<import location="FlightService.wsdl" namespace="http://provider.com"/>
<import location="ApartmentService.wsdl" namespace="http://apartmentpackage"/>
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://booktrip.acme.com">
<element name="BookTripRequest">
<complexType>
<sequence>
<element name="departureFlightNumber" type="string"/>
<element name="returnFlightNumber" type="string"/>
<element name="apartmentID" type="string"/>
<element name="carID" type="dateTime"/>
<element name="departureDate" type="dateTime"/>
<element name="returnDate" type="dateTime"/>
</sequence>
</complexType>
</element>
<element name="BookTripResponse">
<complexType>
<sequence>
<element name="apartmentBookingCode" type="string"/>
<element name="flightBookingCode" type="string"/>
<element name="carBookingCode" 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="BookTripRequestMessage">
<part element="tns:BookTripRequest" name="payload"/>
</message>
<message name="BookTripResponseMessage">
<part element="tns:BookTripResponse" name="payload"/>
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- portType implemented by the BookTrip BPEL process -->
<portType name="BookTrip">
<operation name="process">
<input message="tns:BookTripRequestMessage"/>
<output message="tns:BookTripResponseMessage"/>
</operation>
</portType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PARTNER LINK TYPE DEFINITION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<plnk:partnerLinkType name="BookTrip">
<plnk:role name="BookTripProvider" portType="tns:BookTrip"/>
</plnk:partnerLinkType>
<binding name="BookTripBinding" type="tns:BookTrip">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="process">
<soap:operation soapAction="http://booktrip.acme.com/process"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="BookTrip">
<port binding="tns:BookTripBinding" name="BookTripPort">
<soap:address location="http://localhost:8180/ode/processes/BookTrip"/>
</port>
</service>
</definitions>
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.06670 seconds