Hello,

I met a problem:

ERROR - GeronimoLog.error(104) |
file:/X:/apache-tomcat-6.0.26/webapps/ode/WEB-INF/processes/TestIn/Caller.bpel:20:
error: [UndeclaredMessage] Attempt to reference undeclared WSDL message
"doSomethingResponse" in namespace http://example.ws.
Could you help me? Thanks!

Here is my code.

DoSomething.wsdl

<?xml version=*"1.0"* encoding=*"UTF-8"*?><wsdl:definitions xmlns:wsdl=*"
http://schemas.xmlsoap.org/wsdl/"* xmlns:axis2=*"http://example.ws/"*
xmlns:ns1=*"http://org.apache.axis2/xsd"* xmlns:ns=*"http://example.ws"*
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/"* targetNamespace=*"
http://example.ws/"*>

<wsdl:types>

<xs:schema attributeFormDefault=*"qualified"* elementFormDefault=*
"qualified"* targetNamespace=*"http://example.ws"*>

<xs:element name=*"doSomething"*>

<xs:complexType>

<xs:sequence>

<xs:element minOccurs=*"0"* name=*"myinput"* nillable=*"true"* type=*
"xs:string"*/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name=*"doSomethingResponse"*>

<xs:complexType>

<xs:sequence>

<xs:element minOccurs=*"0"* name=*"return"* nillable=*"true"* type=*
"xs:string"*/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

</wsdl:types>

<wsdl:message name=*"doSomethingRequest"*>

<wsdl:part name=*"parameters"* element=*"ns:doSomething"*/>

</wsdl:message>

<wsdl:message name=*"doSomethingResponse"*>

<wsdl:part name=*"parameters"* element=*"ns:doSomethingResponse"*/>

</wsdl:message>

<wsdl:portType name=*"DoSomethingPortType"*>

<wsdl:operation name=*"doSomething"*>

<wsdl:input message=*"axis2:doSomethingRequest"* wsaw:Action=*
"urn:doSomething"*/>

<wsdl:output message=*"axis2:doSomethingResponse"* wsaw:Action=*
"urn:doSomethingResponse"*/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name=*"DoSomethingSoap11Binding"* type=*
"axis2:DoSomethingPortType"*>

<soap:binding transport=*"http://schemas.xmlsoap.org/soap/http"* style=*
"document"*/>

<wsdl:operation name=*"doSomething"*>

<soap:operation soapAction=*"urn:doSomething"* 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=*"DoSomethingSoap12Binding"* type=*
"axis2:DoSomethingPortType"*>

<soap12:binding transport=*"http://schemas.xmlsoap.org/soap/http"* style=*
"document"*/>

<wsdl:operation name=*"doSomething"*>

<soap12:operation soapAction=*"urn:doSomething"* 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=*"DoSomethingHttpBinding"* type=*
"axis2:DoSomethingPortType"*>

<http:binding verb=*"POST"*/>

<wsdl:operation name=*"doSomething"*>

<http:operation location=*"DoSomething/doSomething"*/>

<wsdl:input>

<mime:content type=*"text/xml"* part=*"doSomething"*/>

</wsdl:input>

<wsdl:output>

<mime:content type=*"text/xml"* part=*"doSomething"*/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name=*"DoSomething"*>

<wsdl:port name=*"DoSomethingHttpSoap11Endpoint"* binding=*
"axis2:DoSomethingSoap11Binding"*>

<soap:address location=*"http://localhost:8080/axis2/services/DoSomething"*
/>

</wsdl:port>

<wsdl:port name=*"DoSomethingHttpSoap12Endpoint"* binding=*
"axis2:DoSomethingSoap12Binding"*>

<soap12:address location=*"http://localhost:8080/axis2/services/DoSomething";
*/>

</wsdl:port>

<wsdl:port name=*"DoSomethingHttpEndpoint"* binding=*
"axis2:DoSomethingHttpBinding"*>

<http:address location=*"http://localhost:8080/axis2/services/DoSomething"*
/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

Caller.wsdl

<?xml version=*"1.0"*?>

<definitions name=*"Caller"
*

targetNamespace=*"http://MyTest.com/Test";
*

xmlns:tns=*"http://MyTest.com/Test";
*

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://MyTest.com/Test"*

xmlns=*"http://www.w3.org/2001/XMLSchema"*>

<element name=*"CallerRequest"*>

<complexType>

<sequence>

<element name=*"input"* type=*"string"*/>

</sequence>

</complexType>

</element>

<element name=*"CallerResponse"*>

<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=*"CallerRequestMessage"*>

<part name=*"payload"* element=*"tns:CallerRequest"*/>

</message>

<message name=*"CallerResponseMessage"*>

<part name=*"payload"* element=*"tns:CallerResponse"*/>

</message>

<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PORT TYPE DEFINITION - A port type groups a set of operations into

a logical service unit.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<!-- portType implemented by the Caller BPEL process -->

<portType name=*"Caller"*>

<operation name=*"process"*>

<input message=*"tns:CallerRequestMessage"* />

<output message=*"tns:CallerResponseMessage"*/>

</operation>

</portType>

 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PARTNER LINK TYPE DEFINITION

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<plnk:partnerLinkType name=*"Caller"*>

<plnk:role name=*"CallerProvider"* portType=*"tns:Caller"*/>

</plnk:partnerLinkType>

<plnk:partnerLinkType name=*"DSLinkType"*>

<plnk:role name=*"DSProvider"* portType=*"wsdl:DoSomething"*/>

</plnk:partnerLinkType>

<import location=*"DoSomething.wsdl"* namespace=*"http://example.ws"*/>

<binding name=*"CallerBinding"* type=*"tns:Caller"*>

<soap:binding style=*"document"
*

transport=*"http://schemas.xmlsoap.org/soap/http"*>

</soap:binding>

<operation name=*"process"*>

<soap:operation

soapAction=*"http://MyTest.com/Test/process"*>

</soap:operation>

<input>

<soap:body use=*"literal"*></soap:body>

</input>

<output>

<soap:body use=*"literal"*></soap:body>

</output>

</operation>

</binding>

<service name=*"CallerService"*>

<port name=*"CallerPort"* binding=*"tns:CallerBinding"*>

<soap:address location=*"http://localhost:8080/ode/processes/Caller"* />

</port>

</service>

</definitions>

Caller.bpel

<?xml version=*"1.0"* encoding=*"UTF-8"*?>

<bpws:process exitOnStandardFault=*"yes"* name=*"Caller"
*

suppressJoinFailure=*"yes"* targetNamespace=*"http://MyTest.com/Test";
*

xmlns:bpws=*"http://docs.oasis-open.org/wsbpel/2.0/process/executable";
*

xmlns:ns=*"http://MyTest.com/TestArtifacts";
*

xmlns:tns=*"http://MyTest.com/Test"* xmlns:xsd=*"http://example.ws"*>

<bpws:import importType=*"http://schemas.xmlsoap.org/wsdl/";
*

location=*"Caller.wsdl"* namespace=*"http://MyTest.com/Test"*/>

<bpws:import importType=*"http://schemas.xmlsoap.org/wsdl/";
*

location=*"DoSomething.wsdl"* namespace=*"http://example.ws"*/>

<bpws:import importType=*"http://schemas.xmlsoap.org/wsdl/";
*

location=*"CallerArtifacts.wsdl"* namespace=*"
http://MyTest.com/TestArtifacts"*/>

<bpws:partnerLinks>

<bpws:partnerLink myRole=*"CallerProvider"* name=*"client"* partnerLinkType=
*"tns:Caller"*/>

<bpws:partnerLink name=*"DSLink"* partnerLinkType=*"ns:DSLinkType"*
partnerRole=*"DSProvider"*/>

</bpws:partnerLinks>

<bpws:variables>

<bpws:variable messageType=*"tns:CallerRequestMessage"* name=*"input"*/>

<bpws:variable messageType=*"tns:CallerResponseMessage"* name=*"output"*/>

<bpws:variable messageType=*"xsd:doSomethingResponse"* name=*
"DSLinkResponse"*/>

<bpws:variable messageType=*"xsd:doSomethingRequest"* name=*"DSLinkRequest"*
/>

</bpws:variables>

<bpws:sequence name=*"main"*>

<bpws:receive createInstance=*"yes"* name=*"receiveInput"
*

operation=*"process"* partnerLink=*"client"
*

portType=*"tns:Caller"* variable=*"input"*/>

<bpws:assign name=*"Assign"* validate=*"no"*>

<bpws:copy>

<bpws:from>

<bpws:literal>

<xsd:doSomething xmlns:xsd=*"http://example.ws"*>

<xsd:myinput/>

</xsd:doSomething>

</bpws:literal>

</bpws:from>

<bpws:to part=*"parameters"* variable=*"DSLinkRequest"*/>

</bpws:copy>

<bpws:copy>

<bpws:from part=*"payload"* variable=*"input"*>

<bpws:query queryLanguage=*"urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"*
><![CDATA[/tns:input]]></bpws:query>

</bpws:from>

<bpws:to part=*"parameters"* variable=*"DSLinkRequest"*>

<bpws:query queryLanguage=*"urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"*
><![CDATA[/xsd:myinput]]></bpws:query>

</bpws:to>

</bpws:copy>

</bpws:assign>

<bpws:invoke inputVariable=*"DSLinkRequest"* name=*"Invoke"
*

operation=*"doSomething"* outputVariable=*"DSLinkResponse"
*

partnerLink=*"DSLink"* portType=*"xsd:DoSomething"*/>

<bpws:assign name=*"Assign1"* validate=*"no"*>

<bpws:copy>

<bpws:from>

<bpws:literal>

<tns:CallerResponse xmlns:tns=*"http://MyTest.com/Test"*>

<tns:result/>

</tns:CallerResponse>

</bpws:literal>

</bpws:from>

<bpws:to part=*"payload"* variable=*"output"*/>

</bpws:copy>

<bpws:copy>

<bpws:from part=*"parameters"* variable=*"DSLinkResponse"*>

<bpws:query queryLanguage=*"urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"*
><![CDATA[/xsd:doSomethingReturn]]></bpws:query>

</bpws:from>

<bpws:to part=*"payload"* variable=*"output"*>

<bpws:query queryLanguage=*"urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"*
><![CDATA[/tns:result]]></bpws:query>

</bpws:to>

</bpws:copy>

</bpws:assign>

<bpws:reply name=*"replyOutput"* operation=*"process"
*

partnerLink=*"client"* portType=*"tns:Caller"* variable=*"output"*/>

</bpws:sequence>

</bpws:process>


-- 
Best regards,

Sincerely,
Lu Chen

Reply via email to