You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Anup Chandran <an...@3ds.com> on 2007/08/06 03:42:22 UTC
Invoking Web Service
Hello All,
I have been trying to get ODE to invoke an external webservice, however it
throws the following error, not sure what is the issue.
21:18:28,180 DEBUG [ODEAxisDispatcher] Checking for Service using target
endpoin
t address : http://localhost:8080/ode/processes/helloMatrixServiceProcess
DEBUG - GeronimoLog.debug(66) | Found service in registry from name
helloMatrixS
erviceProcess: org.apache.axis2.description.AxisService@82fb6a
21:18:28,180 DEBUG [ODEAxisDispatcher] Found service in registry from name
hello
MatrixServiceProcess: org.apache.axis2.description.AxisService@82fb6a
DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP message
body's
first child's local name : hello
21:18:28,190 DEBUG [ODEAxisDispatcher] Checking for Operation using SOAP
message
body's first child's local name : hello
DEBUG - GeronimoLog.debug(66) | Found operation
org.apache.axis2.description.InO
utAxisOperation@14829f5
21:18:28,190 DEBUG [ODEAxisDispatcher] Found operation
org.apache.axis2.descript
ion.InOutAxisOperation@14829f5
DEBUG - GeronimoLog.debug(66) | Received request message for
helloMatrixServiceP
rocess.hello
21:18:28,190 DEBUG [ODEMessageReceiver] Received request message for
helloMatrix
ServiceProcess.hello
DEBUG - GeronimoLog.debug(66) | Starting transaction.
21:18:28,190 DEBUG [ODEService] Starting transaction.
DEBUG - GeronimoLog.debug(66) | Routed: svcQname
{http://ode/bpel/unit-test.wsdl
}HelloService -->
BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceProce
ss-40]
21:18:28,200 DEBUG [BpelEngineImpl] Routed: svcQname
{http://ode/bpel/unit-test.
wsdl}HelloService -->
BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceP
rocess-40]
DEBUG - GeronimoLog.debug(66) | Rehydrating process
{http://ode/bpel/unit-test}H
elloMatrixServiceProcess-40
21:18:28,200 DEBUG [BpelProcess] Rehydrating process
{http://ode/bpel/unit-test}
HelloMatrixServiceProcess-40
DEBUG - GeronimoLog.debug(66) | Processing <invoke> element for process
{http://
ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
matrixPartnerLink -
-> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
21:18:28,410 DEBUG [BpelProcess] Processing <invoke> element for process
{http:/
/ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
matrixPartnerLink
--> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
ERROR - GeronimoLog.error(108) | Could not create external service.
java.lang.NullPointerException: Null wsdl def.
at
org.apache.ode.axis2.util.SoapMessageConverter.<init>(SoapMessageConv
erter.java:102)
at
org.apache.ode.axis2.ExternalService.<init>(ExternalService.java:83)
at
org.apache.ode.axis2.ODEServer.createExternalService(ODEServer.java:3
26)
at
org.apache.ode.axis2.BindingContextImpl.createPartnerRoleChannel(Bind
ingContextImpl.java:73)
at
org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:520)
at
org.apache.ode.bpel.engine.BpelProcess.getEndpointToMyRoleMap(BpelPro
cess.java:565)
at
org.apache.ode.bpel.engine.BpelProcess.initMyRoleMex(BpelProcess.java
:168)
at
org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
ngineImpl.java:131)
at
org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
ngineImpl.java:138)
at
org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java
:110)
The BPEL definition :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<bpws:process
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:ns="http://client.test.jpo"
xmlns:test="http://ode/bpel/unit-test.wsdl"
xmlns:tns="http://ode/bpel/unit-test"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" exitOnStandardFault="yes"
name="HelloMatrixServiceProcess"
targetNamespace="http://ode/bpel/unit-test">
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="HelloMatrix.wsdl" namespace="http://ode/bpel/unit-test.wsdl"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="JpoTestHelloMatrixMatrixService.wsdl"
namespace="http://client.test.jpo"/>
<bpws:partnerLinks>
<bpws:partnerLink myRole="me" name="helloPartnerLink"
partnerLinkType="test:HelloPartnerLinkType"/>
<bpws:partnerLink name="matrixPartnerLink"
partnerLinkType="ns:HelloMatrixPartnerLinkType" partnerRole="you"/>
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable messageType="test:HelloMessage" name="myVar"/>
<bpws:variable name="tmpVar" type="xsd:string"/>
<bpws:variable messageType="ns:connectResponse"
name="matrixPartnerLinkResponse"/>
<bpws:variable messageType="ns:connectRequest"
name="matrixPartnerLinkRequest"/>
</bpws:variables>
<bpws:sequence>
<bpws:receive createInstance="yes" name="start" operation="hello"
partnerLink="helloPartnerLink" portType="test:HelloPortType"
variable="myVar"/>
<bpws:assign name="AssignUsername" validate="no">
<bpws:copy>
<bpws:from>
<bpws:literal>
<bpws:literal>
<bpws:literal>Test Everything</bpws:literal>
</bpws:literal>
</bpws:literal>
</bpws:from>
<bpws:to part="username" variable="matrixPartnerLinkRequest"/>
</bpws:copy>
</bpws:assign>
<bpws:assign name="AssignPassword" validate="no">
<bpws:copy>
<bpws:from>
<bpws:literal>
<bpws:literal>
<bpws:literal>1234</bpws:literal>
</bpws:literal>
</bpws:literal>
</bpws:from>
<bpws:to part="password" variable="matrixPartnerLinkRequest"/>
</bpws:copy>
</bpws:assign>
<bpws:invoke inputVariable="matrixPartnerLinkRequest"
name="InvokeMatrixWebService" operation="connect"
outputVariable="matrixPartnerLinkResponse" partnerLink="matrixPartnerLink"
portType="ns:HelloMatrix"/>
<bpws:assign name="AssignResults" validate="no">
<bpws:copy>
<bpws:from part="connectReturn"
variable="matrixPartnerLinkResponse"/>
<bpws:to part="TestPart" variable="myVar"/>
</bpws:copy>
</bpws:assign>
<bpws:reply name="end" operation="hello" partnerLink="helloPartnerLink"
portType="test:HelloPortType" variable="myVar"/>
</bpws:sequence>
</bpws:process>
The WSDL file for the Process :
<?xml version="1.0" encoding="utf-8" ?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<wsdl:definitions
targetNamespace="http://ode/bpel/unit-test.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://ode/bpel/unit-test.wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
<wsdl:message name="HelloMessage">
<wsdl:part name="TestPart" type="xsd:string"/>
</wsdl:message>
<wsdl:portType name="HelloPortType">
<wsdl:operation name="hello">
<wsdl:input message="tns:HelloMessage" name="TestIn"/>
<wsdl:output message="tns:HelloMessage" name="TestOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="hello">
<soap:operation soapAction="" style="rpc"/>
<wsdl:input>
<soap:body
namespace="http://ode/bpel/unit-test.wsdl"
use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body
namespace="http://ode/bpel/unit-test.wsdl"
use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloService">
<wsdl:port name="HelloPort" binding="tns:HelloSoapBinding">
<soap:address
location="http://localhost:8080/ode/processes/helloMatrixServiceProcess"/>
</wsdl:port>
</wsdl:service>
<plnk:partnerLinkType name="HelloPartnerLinkType">
<plnk:role name="me" portType="tns:HelloPortType"/>
<plnk:role name="you" portType="tns:HelloPortType"/>
</plnk:partnerLinkType>
</wsdl:definitions>
The WSDL that defines the external service :
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://client.test.jpo"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://client.test.jpo" xmlns:intf="http://client.test.jpo"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
<wsdl:types/>
<wsdl:message name="connectRequest">
<wsdl:part name="username" type="xsd:string"/>
<wsdl:part name="password" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="connectResponse">
<wsdl:part name="connectReturn" type="xsd:string"/>
</wsdl:message>
<wsdl:portType name="HelloMatrixMatrixService">
<wsdl:operation name="connect" parameterOrder="username password">
<wsdl:input message="impl:connectRequest" name="connectRequest"/>
<wsdl:output message="impl:connectResponse" name="connectResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="JpoTestHelloMatrixMatrixServiceSoapBinding"
type="impl:HelloMatrixMatrixService">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="connect">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="connectRequest">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://client.test.jpo" use="encoded"/>
</wsdl:input>
<wsdl:output name="connectResponse">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://client.test.jpo" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloMatrixMatrixServiceService">
<wsdl:port binding="impl:JpoTestHelloMatrixMatrixServiceSoapBinding"
name="JpoTestHelloMatrixMatrixService">
<wsdlsoap:address
location="http://localhost:8080/ematrix/services/JpoTestHelloMatrixMatrixService"/>
</wsdl:port>
</wsdl:service>
<plnk:partnerLinkType name="HelloMatrixPartnerLinkType">
<plnk:role name="me" portType="impl:HelloMatrixMatrixService"/>
<plnk:role name="you" portType="impl:HelloMatrixMatrixService"/>
</plnk:partnerLinkType>
</wsdl:definitions>
The deploy file :
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
xmlns:pns="http://ode/bpel/unit-test"
xmlns:wns="http://ode/bpel/unit-test.wsdl"
xmlns:mws="http://client.jpo.test">
<process name="pns:HelloMatrixServiceProcess">
<active>true</active>
<provide partnerLink="helloPartnerLink">
<service name="wns:HelloService" port="HelloPort"/>
</provide>
<invoke partnerLink="matrixPartnerLink">
<service name="mws:HelloMatrixService" port="JpoTestHelloMatrix"/>
</invoke>
</process>
</deploy>
Please let me know if something is amiss in my definitions.. Thanks.
--
View this message in context: http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12010024
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Invoking Web Service
Posted by Anup Chandran <an...@3ds.com>.
Thanks that seems to work with out issues after removing the duplicate...
I used BPEL Project (eclipse plugin ) to create the .bpel file... Wonedr why
it added those duplicate entries... might be an issue with the plugin.
Thanks for your help alex.
Alex Boisvert wrote:
>
> Anup,
>
> Your WS invocation is failing. Set the "httpclient" logging category to
> DEBUG to see the SOAP fault returned by your service.
>
> Your request is:
> <soapenv:Body>
> <axis2ns1:connect xmlns:axis2ns1="http://client.test.jpo">
> <username>
> <bpws:literal xmlns:bpws="
> http://schemas.xmlsoap.org/ws/2004/03/business-process/">Test
> Everything</bpws:literal>
> </username>
> <password>
> <bpws:literal xmlns:bpws="
> http://schemas.xmlsoap.org/ws/2004/03/business-process/">1234</bpws:literal>
> </password>
> </axis2ns1:connect>
>
> I don't think you want the <bpws:literal> element in there... Looking at
> your original BPEL, I see duplicate/nested <bpws:literal> so you should
> remove these.
>
> cheers,
> alex
>
>
>
> On 8/6/07, Anup Chandran <an...@3ds.com> wrote:
>>
>>
>> Thanks for pointing out the corrections. I fixed the deploy.xml and this
>> it
>> does go through the instantiation and finally throws error in the Invoke
>> activity.
>>
>> Here is the trace snippet :
>>
>>
>> DEBUG - GeronimoLog.debug(66) | Invoking a partner operation: connect
>> 11:08:32,098 DEBUG [MessageExchangeContextImpl] Invoking a partner
>> operation: co
>> nnect
>> DEBUG - GeronimoLog.debug(66) | The service to invoke is the external
>> service or
>> g.apache.ode.axis2.ExternalService@99b6af
>> 11:08:32,098 DEBUG [MessageExchangeContextImpl] The service to invoke is
>> the
>> ext
>> ernal service org.apache.ode.axis2.ExternalService@99b6af
>> DEBUG - GeronimoLog.debug(66) | Resolving endpoint reference <?xml
>> version="1.0"
>> encoding="UTF-8"?>
>> <service-ref
>> xmlns="http://docs.oasis-open.org/wsbpel/2.0/serviceref"><EndpointR
>> eference xmlns="http://www.w3.org/2005/08/addressing
>> "><Metadata><ServiceName
>> xml
>> ns="http://www.w3.org/2006/05/addressing/wsdl"
>> EndpointName="JpoTestHelloMatrixM
>> atrixService"
>> xmlns:servicens="http://client.test.jpo">servicens:HelloMatrixMatr
>> ixServiceService</ServiceName></Metadata><Address>
>> http://localhost:8080/ematrix/
>>
>> services/JpoTestHelloMatrixMatrixService</Address></EndpointReference></service-
>> ref>
>> 11:08:32,098 DEBUG [EndpointReferenceContextImpl] Resolving endpoint
>> reference <
>> ?xml version="1.0" encoding="UTF-8"?>
>> <service-ref
>> xmlns="http://docs.oasis-open.org/wsbpel/2.0/serviceref"><EndpointR
>> eference xmlns="http://www.w3.org/2005/08/addressing
>> "><Metadata><ServiceName
>> xml
>> ns="http://www.w3.org/2006/05/addressing/wsdl"
>> EndpointName="JpoTestHelloMatrixM
>> atrixService"
>> xmlns:servicens="http://client.test.jpo">servicens:HelloMatrixMatr
>> ixServiceService</ServiceName></Metadata><Address>
>> http://localhost:8080/ematrix/
>>
>> services/JpoTestHelloMatrixMatrixService</Address></EndpointReference></service-
>> ref>
>> DEBUG - GeronimoLog.debug(66) | GET MEX property
>> org.apache.ode.bpel.partnerRole
>> SessionId = null
>> 11:08:32,109 DEBUG [MessageExchangeImpl] GET MEX property
>> org.apache.ode.bpel.pa
>> rtnerRoleSessionId = null
>> DEBUG - GeronimoLog.debug(66) | GET MEX property
>> org.apache.ode.bpel.myRoleSessi
>> onId = null
>> 11:08:32,109 DEBUG [MessageExchangeImpl] GET MEX property
>> org.apache.ode.bpel.my
>> RoleSessionId = null
>> DEBUG - GeronimoLog.debug(66) | My-Role EPR not specified, SEP will not
>> be
>> used.
>>
>> 11:08:32,109 DEBUG [ExternalService] My-Role EPR not specified, SEP will
>> not
>> be
>> used.
>> DEBUG - GeronimoLog.debug(66) | Axis2 sending message to
>> http://localhost:8080/e
>> matrix/services/JpoTestHelloMatrixMatrixService using MEX
>> {PartnerRoleMex#hqejbh
>> cnphr2harmm4s6vd [PID
>> {http://ode/bpel/unit-test}HelloMatrixServiceProcess-42] c
>> alling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}
>> 11:08:32,130 DEBUG [ExternalService] Axis2 sending message to
>> http://localhost:8
>> 080/ematrix/services/JpoTestHelloMatrixMatrixService using MEX
>> {PartnerRoleMex#h
>> qejbhcnphr2harmm4s6vd [PID
>> {http://ode/bpel/unit-test}HelloMatrixServiceProcess-
>> 42] calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}
>> DEBUG - GeronimoLog.debug(66) | Message: <?xml version='1.0'
>> encoding='utf-8'?><
>> soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soap
>> env:Body><axis2ns1:connect
>> xmlns:axis2ns1="http://client.test.jpo"><username>
>> <bpws:literal
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
>> ness-process/">Test Everything</bpws:literal>
>> </username><password>
>> <bpws:literal
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
>> ness-process/">1234</bpws:literal>
>>
>> </password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
>> 11:08:32,261 DEBUG [ExternalService] Message: <?xml version='1.0'
>> encoding='utf-
>> 8'?><soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>> <soapenv:Body><axis2ns1:connect
>> xmlns:axis2ns1="http://client.test.jpo"><usernam
>> e>
>> <bpws:literal
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
>> ness-process/">Test Everything</bpws:literal>
>> </username><password>
>> <bpws:literal
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
>> ness-process/">1234</bpws:literal>
>>
>> </password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
>> DEBUG - GeronimoLog.debug(66) | replyAsync mex=hqejbhcnphr2harmm4s6vd
>> 11:08:32,370 DEBUG [PartnerRoleMessageExchangeImpl] replyAsync
>> mex=hqejbhcnphr2h
>> armm4s6vd
>> DEBUG - GeronimoLog.debug(66) | Setting execution state on instance 1704
>> 11:08:32,555 DEBUG [BpelRuntimeContextImpl] Setting execution state on
>> instance
>> 1704
>> DEBUG - GeronimoLog.debug(66) | Sending stateful TO epr in message header
>> using
>> session null
>> 11:08:35,465 DEBUG [SessionOutHandler] Sending stateful TO epr in message
>> header
>> using session null
>> DEBUG - GeronimoLog.debug(66) | Sending a message containing wsa
>> endpoints
>> in he
>> aders for session passing.
>> 11:08:35,465 DEBUG [SessionOutHandler] Sending a message containing wsa
>> endpoint
>> s in headers for session passing.
>> DEBUG - GeronimoLog.debug(66) | <?xml version='1.0'
>> encoding='utf-8'?><soapenv:E
>> nvelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Heade
>> r><addr:To
>> xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:80
>> 80/ematrix/services/JpoTestHelloMatrixMatrixService</addr:To><addr:Action
>> xmlns:
>> addr="http://www.w3.org/2005/08/addressing
>> "></addr:Action></soapenv:Header><soap
>> env:Body><axis2ns1:connect
>> xmlns:axis2ns1="http://client.test.jpo"><username>
>> <bpws:literal
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
>> ness-process/">Test Everything</bpws:literal>
>> </username><password>
>> <bpws:literal
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
>> ness-process/">1234</bpws:literal>
>>
>> </password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
>> 11:08:35,476 DEBUG [SessionOutHandler] <?xml version='1.0'
>> encoding='utf-8'?><so
>> apenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapen
>> v:Header><addr:To
>> xmlns:addr="http://www.w3.org/2005/08/addressing">http://local
>>
>> host:8080/ematrix/services/JpoTestHelloMatrixMatrixService</addr:To><addr:Action
>>
>> xmlns:addr="http://www.w3.org/2005/08/addressing
>> "></addr:Action></soapenv:Heade
>> r><soapenv:Body><axis2ns1:connect
>> xmlns:axis2ns1="http://client.test.jpo"><usern
>> ame>
>> <bpws:literal
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
>> ness-process/">Test Everything</bpws:literal>
>> </username><password>
>> <bpws:literal
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
>> ness-process/">1234</bpws:literal>
>>
>> </password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
>> - Exception:
>> AxisFault
>> faultCode: {http://xml.apache.org/axis/}Server.userException
>> faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a
>> child e
>> lement, which is NOT expected, in something it was trying to deserialize.
>> faultActor: null
>> faultDetail:
>> stackTrace: org.xml.sax.SAXException: SimpleDeserializer
>> encountered
>> a c
>> hild element, which is NOT expected, in something it was trying to
>> deserialize.
>> at
>> org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDe
>> serializer.java:188)
>> at
>> org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
>> rializationContextImpl.java:893)
>> at
>> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
>> va:200)
>> at
>> org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
>> t.java:684)
>> at
>> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
>> at org.apache.axis.message.RPCElement.getParams(RPCElement.java
>> :265)
>> at
>> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
>> .java:190)
>> at
>> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
>> 276)
>> at
>> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
>> y.java:71)
>> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
>> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
>> at
>> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437
>> )
>> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
>> at
>> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:70
>> 1)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>> at
>> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
>> e.java:335)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
>> icationFilterChain.java:252)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
>> ilterChain.java:173)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
>> alve.java:213)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
>> alve.java:178)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
>> ava:126)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
>> ava:105)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
>> ve.java:107)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
>> a:148)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
>> :869)
>> at
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
>> rocessConnection(Http11BaseProtocol.java:664)
>> at
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
>> int.java:527)
>> at
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
>> lowerWorkerThread.java:80)
>> at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
>> ool.java:684)
>> at java.lang.Thread.run(Thread.java:595)
>>
>>
>> org.xml.sax.SAXException: SimpleDeserializer encountered a child element,
>> which
>> is NOT expected, in something it was trying to deserialize.
>> at org.apache.axis.AxisFault.makeFault(AxisFault.java:120)
>> at
>> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
>> 280)
>> at
>> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
>> y.java:71)
>> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
>> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
>> at
>> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437
>> )
>> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
>> at
>> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:70
>> 1)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>> at
>> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
>> e.java:335)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
>> icationFilterChain.java:252)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
>> ilterChain.java:173)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
>> alve.java:213)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
>> alve.java:178)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
>> ava:126)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
>> ava:105)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
>> ve.java:107)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
>> a:148)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
>> :869)
>> at
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
>> rocessConnection(Http11BaseProtocol.java:664)
>> at
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
>> int.java:527)
>> at
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
>> lowerWorkerThread.java:80)
>> at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
>> ool.java:684)
>> at java.lang.Thread.run(Thread.java:595)
>> Caused by: org.xml.sax.SAXException: SimpleDeserializer encountered a
>> child
>> elem
>> ent, which is NOT expected, in something it was trying to deserialize.
>> at
>> org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDe
>> serializer.java:188)
>> at
>> org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
>> rializationContextImpl.java:893)
>> at
>> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
>> va:200)
>> at
>> org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
>> t.java:684)
>> at
>> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
>> at org.apache.axis.message.RPCElement.getParams(RPCElement.java
>> :265)
>> at
>> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
>> .java:190)
>> at
>> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
>> 276)
>> ... 23 more
>> ERROR - GeronimoLog.error(108) | Error sending message
>> (mex={PartnerRoleMex#hqej
>> bhcnphr2harmm4s6vd [PID
>> {http://ode/bpel/unit-test}HelloMatrixServiceProcess-42]
>> calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}):
>> getFirstSOA
>> PText() not allowed for SOAP 1.1!
>> java.lang.UnsupportedOperationException: getFirstSOAPText() not allowed
>> for
>> SOAP
>> 1.1!
>> at
>> org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultReasonImpl.getFirst
>> SOAPText(SOAP11FaultReasonImpl.java:59)
>> at org.apache.axis2.AxisFault.<init>(AxisFault.java:152)
>> at
>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisO
>> peration.java:271)
>> at
>> org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAx
>> isOperation.java:202)
>> at
>> org.apache.ode.axis2.ExternalService$1$1.call(ExternalService.java:13
>> 6)
>> at
>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:123)
>>
>>
>> Not sure what the error means. Thanks for your help.
>>
>> Regards
>> Anup
>>
>>
>>
>> Alex Boisvert wrote:
>> >
>> > It appears you service+port references in deploy.xml are inconsistent
>> with
>> > the WSDL.
>> >
>> > In deploy.xml you have:
>> > <invoke partnerLink="matrixPartnerLink">
>> > <service name="mws:HelloMatrixService"
>> > port="JpoTestHelloMatrix"/>
>> > </invoke>
>> >
>> > with xmlns:mws="http://client.jpo.test"
>> >
>> > whereas in the WSDL you have
>> >
>> > 1) targetNamespace="http://client.test.jpo"
>> > 2) service name is "HelloMatrixMatrixServiceService"
>> > 3) port name is "JpoTestHelloMatrixMatrixService"
>> >
>> > I'll improve the error reporting for this case.
>> >
>> > alex
>> >
>> >
>> > On 8/5/07, Anup Chandran <an...@3ds.com> wrote:
>> >>
>> >>
>> >> Hello All,
>> >>
>> >> I have been trying to get ODE to invoke an external webservice,
>> however
>> >> it
>> >> throws the following error, not sure what is the issue.
>> >>
>> >> 21:18:28,180 DEBUG [ODEAxisDispatcher] Checking for Service using
>> target
>> >> endpoin
>> >> t address :
>> http://localhost:8080/ode/processes/helloMatrixServiceProcess
>> >> DEBUG - GeronimoLog.debug(66) | Found service in registry from name
>> >> helloMatrixS
>> >> erviceProcess: org.apache.axis2.description.AxisService@82fb6a
>> >> 21:18:28,180 DEBUG [ODEAxisDispatcher] Found service in registry from
>> >> name
>> >> hello
>> >> MatrixServiceProcess: org.apache.axis2.description.AxisService@82fb6a
>> >> DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP
>> message
>> >> body's
>> >> first child's local name : hello
>> >> 21:18:28,190 DEBUG [ODEAxisDispatcher] Checking for Operation using
>> SOAP
>> >> message
>> >> body's first child's local name : hello
>> >> DEBUG - GeronimoLog.debug(66) | Found operation
>> >> org.apache.axis2.description.InO
>> >> utAxisOperation@14829f5
>> >> 21:18:28,190 DEBUG [ODEAxisDispatcher] Found operation
>> >> org.apache.axis2.descript
>> >> ion.InOutAxisOperation@14829f5
>> >> DEBUG - GeronimoLog.debug(66) | Received request message for
>> >> helloMatrixServiceP
>> >> rocess.hello
>> >> 21:18:28,190 DEBUG [ODEMessageReceiver] Received request message for
>> >> helloMatrix
>> >> ServiceProcess.hello
>> >> DEBUG - GeronimoLog.debug(66) | Starting transaction.
>> >> 21:18:28,190 DEBUG [ODEService] Starting transaction.
>> >> DEBUG - GeronimoLog.debug(66) | Routed: svcQname
>> >> {http://ode/bpel/unit-test.wsdl
>> >> }HelloService -->
>> >> BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceProce
>> >> ss-40]
>> >> 21:18:28,200 DEBUG [BpelEngineImpl] Routed: svcQname
>> >> {http://ode/bpel/unit-test.
>> >> wsdl}HelloService -->
>> >> BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceP
>> >> rocess-40]
>> >> DEBUG - GeronimoLog.debug(66) | Rehydrating process
>> >> {http://ode/bpel/unit-test}H
>> >> elloMatrixServiceProcess-40
>> >> 21:18:28,200 DEBUG [BpelProcess] Rehydrating process
>> >> {http://ode/bpel/unit-test}
>> >> HelloMatrixServiceProcess-40
>> >> DEBUG - GeronimoLog.debug(66) | Processing <invoke> element for
>> process
>> >> {http://
>> >> ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
>> >> matrixPartnerLink -
>> >> -> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
>> >> 21:18:28,410 DEBUG [BpelProcess] Processing <invoke> element for
>> process
>> >> {http:/
>> >> /ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
>> >> matrixPartnerLink
>> >> --> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
>> >> ERROR - GeronimoLog.error(108) | Could not create external service.
>> >> java.lang.NullPointerException: Null wsdl def.
>> >> at
>> >> org.apache.ode.axis2.util.SoapMessageConverter.<init>(SoapMessageConv
>> >> erter.java:102)
>> >> at
>> >> org.apache.ode.axis2.ExternalService.<init>(ExternalService.java:83)
>> >> at
>> >> org.apache.ode.axis2.ODEServer.createExternalService(ODEServer.java:3
>> >> 26)
>> >> at
>> >> org.apache.ode.axis2.BindingContextImpl.createPartnerRoleChannel(Bind
>> >> ingContextImpl.java:73)
>> >> at
>> >> org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:520)
>> >> at
>> >> org.apache.ode.bpel.engine.BpelProcess.getEndpointToMyRoleMap(BpelPro
>> >> cess.java:565)
>> >> at
>> >> org.apache.ode.bpel.engine.BpelProcess.initMyRoleMex(BpelProcess.java
>> >> :168)
>> >> at
>> >> org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
>> >> ngineImpl.java:131)
>> >> at
>> >> org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
>> >> ngineImpl.java:138)
>> >> at
>> >> org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java
>> >> :110)
>> >>
>> >>
>> >> The BPEL definition :
>> >>
>> >> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> >> <bpws:process
>> >> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
>> >> xmlns:ns="http://client.test.jpo"
>> >> xmlns:test="http://ode/bpel/unit-test.wsdl"
>> >> xmlns:tns="http://ode/bpel/unit-test"
>> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema" exitOnStandardFault="yes"
>> >> name="HelloMatrixServiceProcess"
>> >> targetNamespace="http://ode/bpel/unit-test">
>> >> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>> >> location="HelloMatrix.wsdl" namespace="http://ode/bpel/unit-test.wsdl
>> "/>
>> >> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>> >> location="JpoTestHelloMatrixMatrixService.wsdl"
>> >> namespace="http://client.test.jpo"/>
>> >> <bpws:partnerLinks>
>> >> <bpws:partnerLink myRole="me" name="helloPartnerLink"
>> >> partnerLinkType="test:HelloPartnerLinkType"/>
>> >> <bpws:partnerLink name="matrixPartnerLink"
>> >> partnerLinkType="ns:HelloMatrixPartnerLinkType" partnerRole="you"/>
>> >> </bpws:partnerLinks>
>> >> <bpws:variables>
>> >> <bpws:variable messageType="test:HelloMessage" name="myVar"/>
>> >> <bpws:variable name="tmpVar" type="xsd:string"/>
>> >> <bpws:variable messageType="ns:connectResponse"
>> >> name="matrixPartnerLinkResponse"/>
>> >> <bpws:variable messageType="ns:connectRequest"
>> >> name="matrixPartnerLinkRequest"/>
>> >> </bpws:variables>
>> >> <bpws:sequence>
>> >> <bpws:receive createInstance="yes" name="start" operation="hello"
>> >> partnerLink="helloPartnerLink" portType="test:HelloPortType"
>> >> variable="myVar"/>
>> >> <bpws:assign name="AssignUsername" validate="no">
>> >> <bpws:copy>
>> >> <bpws:from>
>> >> <bpws:literal>
>> >> <bpws:literal>
>> >> <bpws:literal>Test Everything</bpws:literal>
>> >> </bpws:literal>
>> >> </bpws:literal>
>> >> </bpws:from>
>> >> <bpws:to part="username" variable="matrixPartnerLinkRequest"/>
>> >> </bpws:copy>
>> >> </bpws:assign>
>> >> <bpws:assign name="AssignPassword" validate="no">
>> >> <bpws:copy>
>> >> <bpws:from>
>> >> <bpws:literal>
>> >> <bpws:literal>
>> >> <bpws:literal>1234</bpws:literal>
>> >> </bpws:literal>
>> >> </bpws:literal>
>> >> </bpws:from>
>> >> <bpws:to part="password" variable="matrixPartnerLinkRequest"/>
>> >> </bpws:copy>
>> >> </bpws:assign>
>> >> <bpws:invoke inputVariable="matrixPartnerLinkRequest"
>> >> name="InvokeMatrixWebService" operation="connect"
>> >> outputVariable="matrixPartnerLinkResponse"
>> >> partnerLink="matrixPartnerLink"
>> >> portType="ns:HelloMatrix"/>
>> >> <bpws:assign name="AssignResults" validate="no">
>> >> <bpws:copy>
>> >> <bpws:from part="connectReturn"
>> >> variable="matrixPartnerLinkResponse"/>
>> >> <bpws:to part="TestPart" variable="myVar"/>
>> >> </bpws:copy>
>> >> </bpws:assign>
>> >> <bpws:reply name="end" operation="hello"
>> >> partnerLink="helloPartnerLink"
>> >> portType="test:HelloPortType" variable="myVar"/>
>> >> </bpws:sequence>
>> >> </bpws:process>
>> >>
>> >>
>> >> The WSDL file for the Process :
>> >>
>> >> <?xml version="1.0" encoding="utf-8" ?>
>> >> <!--
>> >> ~ Licensed to the Apache Software Foundation (ASF) under one
>> >> ~ or more contributor license agreements. See the NOTICE file
>> >> ~ distributed with this work for additional information
>> >> ~ regarding copyright ownership. The ASF licenses this file
>> >> ~ to you under the Apache License, Version 2.0 (the
>> >> ~ "License"); you may not use this file except in compliance
>> >> ~ with the License. You may obtain a copy of the License at
>> >> ~
>> >> ~ http://www.apache.org/licenses/LICENSE-2.0
>> >> ~
>> >> ~ Unless required by applicable law or agreed to in writing,
>> >> ~ software distributed under the License is distributed on an
>> >> ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> >> ~ KIND, either express or implied. See the License for the
>> >> ~ specific language governing permissions and limitations
>> >> ~ under the License.
>> >> -->
>> >>
>> >> <wsdl:definitions
>> >> targetNamespace="http://ode/bpel/unit-test.wsdl"
>> >> xmlns="http://schemas.xmlsoap.org/wsdl/"
>> >> xmlns:tns="http://ode/bpel/unit-test.wsdl"
>> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> >> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>> >>
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/
>> "
>> >> xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
>> >>
>> >> <wsdl:message name="HelloMessage">
>> >> <wsdl:part name="TestPart" type="xsd:string"/>
>> >> </wsdl:message>
>> >>
>> >> <wsdl:portType name="HelloPortType">
>> >> <wsdl:operation name="hello">
>> >> <wsdl:input message="tns:HelloMessage" name="TestIn"/>
>> >> <wsdl:output message="tns:HelloMessage" name="TestOut"/>
>> >> </wsdl:operation>
>> >> </wsdl:portType>
>> >>
>> >> <wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType">
>> >> <soap:binding style="rpc"
>> >> transport="http://schemas.xmlsoap.org/soap/http"/>
>> >> <wsdl:operation name="hello">
>> >> <soap:operation soapAction="" style="rpc"/>
>> >> <wsdl:input>
>> >> <soap:body
>> >> namespace="http://ode/bpel/unit-test.wsdl"
>> >> use="literal"/>
>> >> </wsdl:input>
>> >> <wsdl:output>
>> >> <soap:body
>> >> namespace="http://ode/bpel/unit-test.wsdl"
>> >> use="literal"/>
>> >> </wsdl:output>
>> >> </wsdl:operation>
>> >> </wsdl:binding>
>> >> <wsdl:service name="HelloService">
>> >> <wsdl:port name="HelloPort"
>> >> binding="tns:HelloSoapBinding">
>> >> <soap:address
>> >>
>> location="http://localhost:8080/ode/processes/helloMatrixServiceProcess
>> "/>
>> >> </wsdl:port>
>> >> </wsdl:service>
>> >>
>> >> <plnk:partnerLinkType name="HelloPartnerLinkType">
>> >> <plnk:role name="me" portType="tns:HelloPortType"/>
>> >> <plnk:role name="you" portType="tns:HelloPortType"/>
>> >> </plnk:partnerLinkType>
>> >> </wsdl:definitions>
>> >>
>> >>
>> >> The WSDL that defines the external service :
>> >>
>> >> <?xml version="1.0" encoding="UTF-8"?>
>> >> <wsdl:definitions targetNamespace="http://client.test.jpo"
>> >> xmlns:apachesoap="http://xml.apache.org/xml-soap"
>> >> xmlns:impl="http://client.test.jpo"
>> xmlns:intf="http://client.test.jpo"
>> >> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> >> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
>> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> >> xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
>> >> <wsdl:types/>
>> >> <wsdl:message name="connectRequest">
>> >> <wsdl:part name="username" type="xsd:string"/>
>> >> <wsdl:part name="password" type="xsd:string"/>
>> >> </wsdl:message>
>> >> <wsdl:message name="connectResponse">
>> >> <wsdl:part name="connectReturn" type="xsd:string"/>
>> >> </wsdl:message>
>> >> <wsdl:portType name="HelloMatrixMatrixService">
>> >> <wsdl:operation name="connect" parameterOrder="username password">
>> >> <wsdl:input message="impl:connectRequest"
>> name="connectRequest"/>
>> >> <wsdl:output message="impl:connectResponse"
>> >> name="connectResponse"/>
>> >> </wsdl:operation>
>> >> </wsdl:portType>
>> >> <wsdl:binding name="JpoTestHelloMatrixMatrixServiceSoapBinding"
>> >> type="impl:HelloMatrixMatrixService">
>> >> <wsdlsoap:binding style="rpc"
>> >> transport="http://schemas.xmlsoap.org/soap/http"/>
>> >> <wsdl:operation name="connect">
>> >> <wsdlsoap:operation soapAction=""/>
>> >> <wsdl:input name="connectRequest">
>> >> <wsdlsoap:body
>> >> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>> >> namespace="http://client.test.jpo" use="encoded"/>
>> >> </wsdl:input>
>> >> <wsdl:output name="connectResponse">
>> >> <wsdlsoap:body
>> >> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>> >> namespace="http://client.test.jpo" use="encoded"/>
>> >> </wsdl:output>
>> >> </wsdl:operation>
>> >> </wsdl:binding>
>> >> <wsdl:service name="HelloMatrixMatrixServiceService">
>> >> <wsdl:port
>> binding="impl:JpoTestHelloMatrixMatrixServiceSoapBinding"
>> >> name="JpoTestHelloMatrixMatrixService">
>> >> <wsdlsoap:address
>> >> location="
>> >> http://localhost:8080/ematrix/services/JpoTestHelloMatrixMatrixService
>> "/>
>> >> </wsdl:port>
>> >> </wsdl:service>
>> >>
>> >> <plnk:partnerLinkType name="HelloMatrixPartnerLinkType">
>> >> <plnk:role name="me" portType="impl:HelloMatrixMatrixService"/>
>> >> <plnk:role name="you" portType="impl:HelloMatrixMatrixService"/>
>> >> </plnk:partnerLinkType>
>> >>
>> >> </wsdl:definitions>
>> >>
>> >>
>> >> The deploy file :
>> >>
>> >> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
>> >> xmlns:pns="http://ode/bpel/unit-test"
>> >> xmlns:wns="http://ode/bpel/unit-test.wsdl"
>> >>
>> >> xmlns:mws="http://client.jpo.test">
>> >>
>> >>
>> >> <process name="pns:HelloMatrixServiceProcess">
>> >> <active>true</active>
>> >> <provide partnerLink="helloPartnerLink">
>> >> <service name="wns:HelloService"
>> >> port="HelloPort"/>
>> >> </provide>
>> >> <invoke partnerLink="matrixPartnerLink">
>> >>
>> >> <service name="mws:HelloMatrixService"
>> >> port="JpoTestHelloMatrix"/>
>> >>
>> >> </invoke>
>> >>
>> >> </process>
>> >> </deploy>
>> >>
>> >>
>> >> Please let me know if something is amiss in my definitions.. Thanks.
>> >> --
>> >> View this message in context:
>> >> http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12010024
>> >> Sent from the Apache Ode User mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12018756
>> Sent from the Apache Ode User mailing list archive at Nabble.com.
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12021370
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Invoking Web Service
Posted by Alex Boisvert <bo...@intalio.com>.
Anup,
Your WS invocation is failing. Set the "httpclient" logging category to
DEBUG to see the SOAP fault returned by your service.
Your request is:
<soapenv:Body>
<axis2ns1:connect xmlns:axis2ns1="http://client.test.jpo">
<username>
<bpws:literal xmlns:bpws="
http://schemas.xmlsoap.org/ws/2004/03/business-process/">Test
Everything</bpws:literal>
</username>
<password>
<bpws:literal xmlns:bpws="
http://schemas.xmlsoap.org/ws/2004/03/business-process/">1234</bpws:literal>
</password>
</axis2ns1:connect>
I don't think you want the <bpws:literal> element in there... Looking at
your original BPEL, I see duplicate/nested <bpws:literal> so you should
remove these.
cheers,
alex
On 8/6/07, Anup Chandran <an...@3ds.com> wrote:
>
>
> Thanks for pointing out the corrections. I fixed the deploy.xml and this
> it
> does go through the instantiation and finally throws error in the Invoke
> activity.
>
> Here is the trace snippet :
>
>
> DEBUG - GeronimoLog.debug(66) | Invoking a partner operation: connect
> 11:08:32,098 DEBUG [MessageExchangeContextImpl] Invoking a partner
> operation: co
> nnect
> DEBUG - GeronimoLog.debug(66) | The service to invoke is the external
> service or
> g.apache.ode.axis2.ExternalService@99b6af
> 11:08:32,098 DEBUG [MessageExchangeContextImpl] The service to invoke is
> the
> ext
> ernal service org.apache.ode.axis2.ExternalService@99b6af
> DEBUG - GeronimoLog.debug(66) | Resolving endpoint reference <?xml
> version="1.0"
> encoding="UTF-8"?>
> <service-ref
> xmlns="http://docs.oasis-open.org/wsbpel/2.0/serviceref"><EndpointR
> eference xmlns="http://www.w3.org/2005/08/addressing
> "><Metadata><ServiceName
> xml
> ns="http://www.w3.org/2006/05/addressing/wsdl"
> EndpointName="JpoTestHelloMatrixM
> atrixService"
> xmlns:servicens="http://client.test.jpo">servicens:HelloMatrixMatr
> ixServiceService</ServiceName></Metadata><Address>
> http://localhost:8080/ematrix/
>
> services/JpoTestHelloMatrixMatrixService</Address></EndpointReference></service-
> ref>
> 11:08:32,098 DEBUG [EndpointReferenceContextImpl] Resolving endpoint
> reference <
> ?xml version="1.0" encoding="UTF-8"?>
> <service-ref
> xmlns="http://docs.oasis-open.org/wsbpel/2.0/serviceref"><EndpointR
> eference xmlns="http://www.w3.org/2005/08/addressing
> "><Metadata><ServiceName
> xml
> ns="http://www.w3.org/2006/05/addressing/wsdl"
> EndpointName="JpoTestHelloMatrixM
> atrixService"
> xmlns:servicens="http://client.test.jpo">servicens:HelloMatrixMatr
> ixServiceService</ServiceName></Metadata><Address>
> http://localhost:8080/ematrix/
>
> services/JpoTestHelloMatrixMatrixService</Address></EndpointReference></service-
> ref>
> DEBUG - GeronimoLog.debug(66) | GET MEX property
> org.apache.ode.bpel.partnerRole
> SessionId = null
> 11:08:32,109 DEBUG [MessageExchangeImpl] GET MEX property
> org.apache.ode.bpel.pa
> rtnerRoleSessionId = null
> DEBUG - GeronimoLog.debug(66) | GET MEX property
> org.apache.ode.bpel.myRoleSessi
> onId = null
> 11:08:32,109 DEBUG [MessageExchangeImpl] GET MEX property
> org.apache.ode.bpel.my
> RoleSessionId = null
> DEBUG - GeronimoLog.debug(66) | My-Role EPR not specified, SEP will not be
> used.
>
> 11:08:32,109 DEBUG [ExternalService] My-Role EPR not specified, SEP will
> not
> be
> used.
> DEBUG - GeronimoLog.debug(66) | Axis2 sending message to
> http://localhost:8080/e
> matrix/services/JpoTestHelloMatrixMatrixService using MEX
> {PartnerRoleMex#hqejbh
> cnphr2harmm4s6vd [PID
> {http://ode/bpel/unit-test}HelloMatrixServiceProcess-42] c
> alling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}
> 11:08:32,130 DEBUG [ExternalService] Axis2 sending message to
> http://localhost:8
> 080/ematrix/services/JpoTestHelloMatrixMatrixService using MEX
> {PartnerRoleMex#h
> qejbhcnphr2harmm4s6vd [PID
> {http://ode/bpel/unit-test}HelloMatrixServiceProcess-
> 42] calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}
> DEBUG - GeronimoLog.debug(66) | Message: <?xml version='1.0'
> encoding='utf-8'?><
> soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soap
> env:Body><axis2ns1:connect
> xmlns:axis2ns1="http://client.test.jpo"><username>
> <bpws:literal
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
> ness-process/">Test Everything</bpws:literal>
> </username><password>
> <bpws:literal
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
> ness-process/">1234</bpws:literal>
> </password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
> 11:08:32,261 DEBUG [ExternalService] Message: <?xml version='1.0'
> encoding='utf-
> 8'?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Body><axis2ns1:connect
> xmlns:axis2ns1="http://client.test.jpo"><usernam
> e>
> <bpws:literal
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
> ness-process/">Test Everything</bpws:literal>
> </username><password>
> <bpws:literal
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
> ness-process/">1234</bpws:literal>
> </password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
> DEBUG - GeronimoLog.debug(66) | replyAsync mex=hqejbhcnphr2harmm4s6vd
> 11:08:32,370 DEBUG [PartnerRoleMessageExchangeImpl] replyAsync
> mex=hqejbhcnphr2h
> armm4s6vd
> DEBUG - GeronimoLog.debug(66) | Setting execution state on instance 1704
> 11:08:32,555 DEBUG [BpelRuntimeContextImpl] Setting execution state on
> instance
> 1704
> DEBUG - GeronimoLog.debug(66) | Sending stateful TO epr in message header
> using
> session null
> 11:08:35,465 DEBUG [SessionOutHandler] Sending stateful TO epr in message
> header
> using session null
> DEBUG - GeronimoLog.debug(66) | Sending a message containing wsa endpoints
> in he
> aders for session passing.
> 11:08:35,465 DEBUG [SessionOutHandler] Sending a message containing wsa
> endpoint
> s in headers for session passing.
> DEBUG - GeronimoLog.debug(66) | <?xml version='1.0'
> encoding='utf-8'?><soapenv:E
> nvelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Heade
> r><addr:To
> xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:80
> 80/ematrix/services/JpoTestHelloMatrixMatrixService</addr:To><addr:Action
> xmlns:
> addr="http://www.w3.org/2005/08/addressing
> "></addr:Action></soapenv:Header><soap
> env:Body><axis2ns1:connect
> xmlns:axis2ns1="http://client.test.jpo"><username>
> <bpws:literal
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
> ness-process/">Test Everything</bpws:literal>
> </username><password>
> <bpws:literal
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
> ness-process/">1234</bpws:literal>
> </password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
> 11:08:35,476 DEBUG [SessionOutHandler] <?xml version='1.0'
> encoding='utf-8'?><so
> apenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapen
> v:Header><addr:To
> xmlns:addr="http://www.w3.org/2005/08/addressing">http://local
>
> host:8080/ematrix/services/JpoTestHelloMatrixMatrixService</addr:To><addr:Action
>
> xmlns:addr="http://www.w3.org/2005/08/addressing
> "></addr:Action></soapenv:Heade
> r><soapenv:Body><axis2ns1:connect
> xmlns:axis2ns1="http://client.test.jpo"><usern
> ame>
> <bpws:literal
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
> ness-process/">Test Everything</bpws:literal>
> </username><password>
> <bpws:literal
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
> ness-process/">1234</bpws:literal>
> </password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
> - Exception:
> AxisFault
> faultCode: {http://xml.apache.org/axis/}Server.userException
> faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a
> child e
> lement, which is NOT expected, in something it was trying to deserialize.
> faultActor: null
> faultDetail:
> stackTrace: org.xml.sax.SAXException: SimpleDeserializer
> encountered
> a c
> hild element, which is NOT expected, in something it was trying to
> deserialize.
> at
> org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDe
> serializer.java:188)
> at
> org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
> rializationContextImpl.java:893)
> at
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
> va:200)
> at
> org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
> t.java:684)
> at
> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
> at org.apache.axis.message.RPCElement.getParams(RPCElement.java
> :265)
> at
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
> .java:190)
> at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
> 276)
> at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
> y.java:71)
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
> at
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437
> )
> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
> at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:70
> 1)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
> at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
> e.java:335)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:178)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:107)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :869)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
> rocessConnection(Http11BaseProtocol.java:664)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
> int.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
> lowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:684)
> at java.lang.Thread.run(Thread.java:595)
>
>
> org.xml.sax.SAXException: SimpleDeserializer encountered a child element,
> which
> is NOT expected, in something it was trying to deserialize.
> at org.apache.axis.AxisFault.makeFault(AxisFault.java:120)
> at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
> 280)
> at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
> y.java:71)
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
> at
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437
> )
> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
> at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:70
> 1)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
> at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
> e.java:335)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:178)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:107)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :869)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
> rocessConnection(Http11BaseProtocol.java:664)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
> int.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
> lowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:684)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: org.xml.sax.SAXException: SimpleDeserializer encountered a
> child
> elem
> ent, which is NOT expected, in something it was trying to deserialize.
> at
> org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDe
> serializer.java:188)
> at
> org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
> rializationContextImpl.java:893)
> at
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
> va:200)
> at
> org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
> t.java:684)
> at
> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
> at org.apache.axis.message.RPCElement.getParams(RPCElement.java
> :265)
> at
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
> .java:190)
> at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
> 276)
> ... 23 more
> ERROR - GeronimoLog.error(108) | Error sending message
> (mex={PartnerRoleMex#hqej
> bhcnphr2harmm4s6vd [PID
> {http://ode/bpel/unit-test}HelloMatrixServiceProcess-42]
> calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}):
> getFirstSOA
> PText() not allowed for SOAP 1.1!
> java.lang.UnsupportedOperationException: getFirstSOAPText() not allowed
> for
> SOAP
> 1.1!
> at
> org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultReasonImpl.getFirst
> SOAPText(SOAP11FaultReasonImpl.java:59)
> at org.apache.axis2.AxisFault.<init>(AxisFault.java:152)
> at
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisO
> peration.java:271)
> at
> org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAx
> isOperation.java:202)
> at
> org.apache.ode.axis2.ExternalService$1$1.call(ExternalService.java:13
> 6)
> at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> at java.util.concurrent.FutureTask.run(FutureTask.java:123)
>
>
> Not sure what the error means. Thanks for your help.
>
> Regards
> Anup
>
>
>
> Alex Boisvert wrote:
> >
> > It appears you service+port references in deploy.xml are inconsistent
> with
> > the WSDL.
> >
> > In deploy.xml you have:
> > <invoke partnerLink="matrixPartnerLink">
> > <service name="mws:HelloMatrixService"
> > port="JpoTestHelloMatrix"/>
> > </invoke>
> >
> > with xmlns:mws="http://client.jpo.test"
> >
> > whereas in the WSDL you have
> >
> > 1) targetNamespace="http://client.test.jpo"
> > 2) service name is "HelloMatrixMatrixServiceService"
> > 3) port name is "JpoTestHelloMatrixMatrixService"
> >
> > I'll improve the error reporting for this case.
> >
> > alex
> >
> >
> > On 8/5/07, Anup Chandran <an...@3ds.com> wrote:
> >>
> >>
> >> Hello All,
> >>
> >> I have been trying to get ODE to invoke an external webservice, however
> >> it
> >> throws the following error, not sure what is the issue.
> >>
> >> 21:18:28,180 DEBUG [ODEAxisDispatcher] Checking for Service using
> target
> >> endpoin
> >> t address :
> http://localhost:8080/ode/processes/helloMatrixServiceProcess
> >> DEBUG - GeronimoLog.debug(66) | Found service in registry from name
> >> helloMatrixS
> >> erviceProcess: org.apache.axis2.description.AxisService@82fb6a
> >> 21:18:28,180 DEBUG [ODEAxisDispatcher] Found service in registry from
> >> name
> >> hello
> >> MatrixServiceProcess: org.apache.axis2.description.AxisService@82fb6a
> >> DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP
> message
> >> body's
> >> first child's local name : hello
> >> 21:18:28,190 DEBUG [ODEAxisDispatcher] Checking for Operation using
> SOAP
> >> message
> >> body's first child's local name : hello
> >> DEBUG - GeronimoLog.debug(66) | Found operation
> >> org.apache.axis2.description.InO
> >> utAxisOperation@14829f5
> >> 21:18:28,190 DEBUG [ODEAxisDispatcher] Found operation
> >> org.apache.axis2.descript
> >> ion.InOutAxisOperation@14829f5
> >> DEBUG - GeronimoLog.debug(66) | Received request message for
> >> helloMatrixServiceP
> >> rocess.hello
> >> 21:18:28,190 DEBUG [ODEMessageReceiver] Received request message for
> >> helloMatrix
> >> ServiceProcess.hello
> >> DEBUG - GeronimoLog.debug(66) | Starting transaction.
> >> 21:18:28,190 DEBUG [ODEService] Starting transaction.
> >> DEBUG - GeronimoLog.debug(66) | Routed: svcQname
> >> {http://ode/bpel/unit-test.wsdl
> >> }HelloService -->
> >> BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceProce
> >> ss-40]
> >> 21:18:28,200 DEBUG [BpelEngineImpl] Routed: svcQname
> >> {http://ode/bpel/unit-test.
> >> wsdl}HelloService -->
> >> BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceP
> >> rocess-40]
> >> DEBUG - GeronimoLog.debug(66) | Rehydrating process
> >> {http://ode/bpel/unit-test}H
> >> elloMatrixServiceProcess-40
> >> 21:18:28,200 DEBUG [BpelProcess] Rehydrating process
> >> {http://ode/bpel/unit-test}
> >> HelloMatrixServiceProcess-40
> >> DEBUG - GeronimoLog.debug(66) | Processing <invoke> element for process
> >> {http://
> >> ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
> >> matrixPartnerLink -
> >> -> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
> >> 21:18:28,410 DEBUG [BpelProcess] Processing <invoke> element for
> process
> >> {http:/
> >> /ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
> >> matrixPartnerLink
> >> --> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
> >> ERROR - GeronimoLog.error(108) | Could not create external service.
> >> java.lang.NullPointerException: Null wsdl def.
> >> at
> >> org.apache.ode.axis2.util.SoapMessageConverter.<init>(SoapMessageConv
> >> erter.java:102)
> >> at
> >> org.apache.ode.axis2.ExternalService.<init>(ExternalService.java:83)
> >> at
> >> org.apache.ode.axis2.ODEServer.createExternalService(ODEServer.java:3
> >> 26)
> >> at
> >> org.apache.ode.axis2.BindingContextImpl.createPartnerRoleChannel(Bind
> >> ingContextImpl.java:73)
> >> at
> >> org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:520)
> >> at
> >> org.apache.ode.bpel.engine.BpelProcess.getEndpointToMyRoleMap(BpelPro
> >> cess.java:565)
> >> at
> >> org.apache.ode.bpel.engine.BpelProcess.initMyRoleMex(BpelProcess.java
> >> :168)
> >> at
> >> org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
> >> ngineImpl.java:131)
> >> at
> >> org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
> >> ngineImpl.java:138)
> >> at
> >> org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java
> >> :110)
> >>
> >>
> >> The BPEL definition :
> >>
> >> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> >> <bpws:process
> >> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
> >> xmlns:ns="http://client.test.jpo"
> >> xmlns:test="http://ode/bpel/unit-test.wsdl"
> >> xmlns:tns="http://ode/bpel/unit-test"
> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema" exitOnStandardFault="yes"
> >> name="HelloMatrixServiceProcess"
> >> targetNamespace="http://ode/bpel/unit-test">
> >> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
> >> location="HelloMatrix.wsdl" namespace="http://ode/bpel/unit-test.wsdl
> "/>
> >> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
> >> location="JpoTestHelloMatrixMatrixService.wsdl"
> >> namespace="http://client.test.jpo"/>
> >> <bpws:partnerLinks>
> >> <bpws:partnerLink myRole="me" name="helloPartnerLink"
> >> partnerLinkType="test:HelloPartnerLinkType"/>
> >> <bpws:partnerLink name="matrixPartnerLink"
> >> partnerLinkType="ns:HelloMatrixPartnerLinkType" partnerRole="you"/>
> >> </bpws:partnerLinks>
> >> <bpws:variables>
> >> <bpws:variable messageType="test:HelloMessage" name="myVar"/>
> >> <bpws:variable name="tmpVar" type="xsd:string"/>
> >> <bpws:variable messageType="ns:connectResponse"
> >> name="matrixPartnerLinkResponse"/>
> >> <bpws:variable messageType="ns:connectRequest"
> >> name="matrixPartnerLinkRequest"/>
> >> </bpws:variables>
> >> <bpws:sequence>
> >> <bpws:receive createInstance="yes" name="start" operation="hello"
> >> partnerLink="helloPartnerLink" portType="test:HelloPortType"
> >> variable="myVar"/>
> >> <bpws:assign name="AssignUsername" validate="no">
> >> <bpws:copy>
> >> <bpws:from>
> >> <bpws:literal>
> >> <bpws:literal>
> >> <bpws:literal>Test Everything</bpws:literal>
> >> </bpws:literal>
> >> </bpws:literal>
> >> </bpws:from>
> >> <bpws:to part="username" variable="matrixPartnerLinkRequest"/>
> >> </bpws:copy>
> >> </bpws:assign>
> >> <bpws:assign name="AssignPassword" validate="no">
> >> <bpws:copy>
> >> <bpws:from>
> >> <bpws:literal>
> >> <bpws:literal>
> >> <bpws:literal>1234</bpws:literal>
> >> </bpws:literal>
> >> </bpws:literal>
> >> </bpws:from>
> >> <bpws:to part="password" variable="matrixPartnerLinkRequest"/>
> >> </bpws:copy>
> >> </bpws:assign>
> >> <bpws:invoke inputVariable="matrixPartnerLinkRequest"
> >> name="InvokeMatrixWebService" operation="connect"
> >> outputVariable="matrixPartnerLinkResponse"
> >> partnerLink="matrixPartnerLink"
> >> portType="ns:HelloMatrix"/>
> >> <bpws:assign name="AssignResults" validate="no">
> >> <bpws:copy>
> >> <bpws:from part="connectReturn"
> >> variable="matrixPartnerLinkResponse"/>
> >> <bpws:to part="TestPart" variable="myVar"/>
> >> </bpws:copy>
> >> </bpws:assign>
> >> <bpws:reply name="end" operation="hello"
> >> partnerLink="helloPartnerLink"
> >> portType="test:HelloPortType" variable="myVar"/>
> >> </bpws:sequence>
> >> </bpws:process>
> >>
> >>
> >> The WSDL file for the Process :
> >>
> >> <?xml version="1.0" encoding="utf-8" ?>
> >> <!--
> >> ~ Licensed to the Apache Software Foundation (ASF) under one
> >> ~ or more contributor license agreements. See the NOTICE file
> >> ~ distributed with this work for additional information
> >> ~ regarding copyright ownership. The ASF licenses this file
> >> ~ to you under the Apache License, Version 2.0 (the
> >> ~ "License"); you may not use this file except in compliance
> >> ~ with the License. You may obtain a copy of the License at
> >> ~
> >> ~ http://www.apache.org/licenses/LICENSE-2.0
> >> ~
> >> ~ Unless required by applicable law or agreed to in writing,
> >> ~ software distributed under the License is distributed on an
> >> ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> >> ~ KIND, either express or implied. See the License for the
> >> ~ specific language governing permissions and limitations
> >> ~ under the License.
> >> -->
> >>
> >> <wsdl:definitions
> >> targetNamespace="http://ode/bpel/unit-test.wsdl"
> >> xmlns="http://schemas.xmlsoap.org/wsdl/"
> >> xmlns:tns="http://ode/bpel/unit-test.wsdl"
> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> >> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/
> "
> >> xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
> >>
> >> <wsdl:message name="HelloMessage">
> >> <wsdl:part name="TestPart" type="xsd:string"/>
> >> </wsdl:message>
> >>
> >> <wsdl:portType name="HelloPortType">
> >> <wsdl:operation name="hello">
> >> <wsdl:input message="tns:HelloMessage" name="TestIn"/>
> >> <wsdl:output message="tns:HelloMessage" name="TestOut"/>
> >> </wsdl:operation>
> >> </wsdl:portType>
> >>
> >> <wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType">
> >> <soap:binding style="rpc"
> >> transport="http://schemas.xmlsoap.org/soap/http"/>
> >> <wsdl:operation name="hello">
> >> <soap:operation soapAction="" style="rpc"/>
> >> <wsdl:input>
> >> <soap:body
> >> namespace="http://ode/bpel/unit-test.wsdl"
> >> use="literal"/>
> >> </wsdl:input>
> >> <wsdl:output>
> >> <soap:body
> >> namespace="http://ode/bpel/unit-test.wsdl"
> >> use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> </wsdl:binding>
> >> <wsdl:service name="HelloService">
> >> <wsdl:port name="HelloPort"
> >> binding="tns:HelloSoapBinding">
> >> <soap:address
> >> location="http://localhost:8080/ode/processes/helloMatrixServiceProcess
> "/>
> >> </wsdl:port>
> >> </wsdl:service>
> >>
> >> <plnk:partnerLinkType name="HelloPartnerLinkType">
> >> <plnk:role name="me" portType="tns:HelloPortType"/>
> >> <plnk:role name="you" portType="tns:HelloPortType"/>
> >> </plnk:partnerLinkType>
> >> </wsdl:definitions>
> >>
> >>
> >> The WSDL that defines the external service :
> >>
> >> <?xml version="1.0" encoding="UTF-8"?>
> >> <wsdl:definitions targetNamespace="http://client.test.jpo"
> >> xmlns:apachesoap="http://xml.apache.org/xml-soap"
> >> xmlns:impl="http://client.test.jpo" xmlns:intf="http://client.test.jpo"
> >> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> >> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >> xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
> >> <wsdl:types/>
> >> <wsdl:message name="connectRequest">
> >> <wsdl:part name="username" type="xsd:string"/>
> >> <wsdl:part name="password" type="xsd:string"/>
> >> </wsdl:message>
> >> <wsdl:message name="connectResponse">
> >> <wsdl:part name="connectReturn" type="xsd:string"/>
> >> </wsdl:message>
> >> <wsdl:portType name="HelloMatrixMatrixService">
> >> <wsdl:operation name="connect" parameterOrder="username password">
> >> <wsdl:input message="impl:connectRequest" name="connectRequest"/>
> >> <wsdl:output message="impl:connectResponse"
> >> name="connectResponse"/>
> >> </wsdl:operation>
> >> </wsdl:portType>
> >> <wsdl:binding name="JpoTestHelloMatrixMatrixServiceSoapBinding"
> >> type="impl:HelloMatrixMatrixService">
> >> <wsdlsoap:binding style="rpc"
> >> transport="http://schemas.xmlsoap.org/soap/http"/>
> >> <wsdl:operation name="connect">
> >> <wsdlsoap:operation soapAction=""/>
> >> <wsdl:input name="connectRequest">
> >> <wsdlsoap:body
> >> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> >> namespace="http://client.test.jpo" use="encoded"/>
> >> </wsdl:input>
> >> <wsdl:output name="connectResponse">
> >> <wsdlsoap:body
> >> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> >> namespace="http://client.test.jpo" use="encoded"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> </wsdl:binding>
> >> <wsdl:service name="HelloMatrixMatrixServiceService">
> >> <wsdl:port
> binding="impl:JpoTestHelloMatrixMatrixServiceSoapBinding"
> >> name="JpoTestHelloMatrixMatrixService">
> >> <wsdlsoap:address
> >> location="
> >> http://localhost:8080/ematrix/services/JpoTestHelloMatrixMatrixService
> "/>
> >> </wsdl:port>
> >> </wsdl:service>
> >>
> >> <plnk:partnerLinkType name="HelloMatrixPartnerLinkType">
> >> <plnk:role name="me" portType="impl:HelloMatrixMatrixService"/>
> >> <plnk:role name="you" portType="impl:HelloMatrixMatrixService"/>
> >> </plnk:partnerLinkType>
> >>
> >> </wsdl:definitions>
> >>
> >>
> >> The deploy file :
> >>
> >> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
> >> xmlns:pns="http://ode/bpel/unit-test"
> >> xmlns:wns="http://ode/bpel/unit-test.wsdl"
> >>
> >> xmlns:mws="http://client.jpo.test">
> >>
> >>
> >> <process name="pns:HelloMatrixServiceProcess">
> >> <active>true</active>
> >> <provide partnerLink="helloPartnerLink">
> >> <service name="wns:HelloService"
> >> port="HelloPort"/>
> >> </provide>
> >> <invoke partnerLink="matrixPartnerLink">
> >>
> >> <service name="mws:HelloMatrixService"
> >> port="JpoTestHelloMatrix"/>
> >>
> >> </invoke>
> >>
> >> </process>
> >> </deploy>
> >>
> >>
> >> Please let me know if something is amiss in my definitions.. Thanks.
> >> --
> >> View this message in context:
> >> http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12010024
> >> Sent from the Apache Ode User mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12018756
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>
Re: Invoking Web Service
Posted by Alex Boisvert <bo...@intalio.com>.
Axis2 1.3 does not work with Ode 1.0 due to incompatible class changes (some
methods were renamed and constants moved around).
Ode 1.0 was released with axis2 1.1.1 (unpatched). You can patch it by
replacing axis2-kernel-1.1.1 with axis2-kernel-intalio-1.1.1b.
This being said, the getFirstSoapText() exception happens after a <fault> is
returned from your web service. If the <invoke> is successful, you will
avoid this issue so I recommend you get your request message in correct form
first.
regards,
alex
On 8/6/07, Anup Chandran <an...@3ds.com> wrote:
>
>
> apache-ode-war-1.0-incubating.zip
> is the ODE version that I'm using.
>
> Sorry if I'm being naive here, how do i upgrade from axis2-1.1.1.jar(which
> i see in the above distribution of ODE) to Axis2 1.3
>
> Apparently Axis2 1.3 is distributed seperately as a WAR file (axis2.war).
>
> The kernal jar in the above distribution is axis2-kernel-1.1.1.jar
>
> Thanx
>
>
>
>
> Alex Boisvert wrote:
> >
> > The getFirstSOAPTest() exception was a bug in Axis2 1.1.x and is fixed
> in
> > Axis2 1.3.
> >
> > It should not happen with axis2-kernel-intalio-1.1.1b if the
> classloading
> > order is correct, meaning that axis2-kernel-intalio is loaded before
> > axis2.jar, or if axis2.jar is not present at all.
> >
> > alex
> >
> >
> > On 8/6/07, Rich Taylor <bh...@gmail.com> wrote:
> >>
> >> I have encountered this "getFirstSOAPText() not allowed for SOAP 1.1!"
> >> issue
> >> as well but haven't had a chance to write it up. I was wondering if it
> >> was
> >> something I was doing. Now I'm even more curious.
> >>
> >> - Rich
> >>
> >>
> >> ERROR - GeronimoLog.error(108) | Error sending message
> >> > (mex={PartnerRoleMex#hqej
> >> > bhcnphr2harmm4s6vd [PID
> >> > {http://ode/bpel/unit-test}HelloMatrixServiceProcess-42]
> >> > calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}):
> >> > getFirstSOA
> >> > PText() not allowed for SOAP 1.1!
> >> > java.lang.UnsupportedOperationException: getFirstSOAPText() not
> allowed
> >> > for SOAP 1.1!
> >> > at
> >> > org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultReasonImpl.getFirst
> >> > SOAPText(SOAP11FaultReasonImpl.java:59)
> >> > at org.apache.axis2.AxisFault.<init>(AxisFault.java:152)
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12021278
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>
Re: Invoking Web Service
Posted by Anup Chandran <an...@3ds.com>.
apache-ode-war-1.0-incubating.zip
is the ODE version that I'm using.
Sorry if I'm being naive here, how do i upgrade from axis2-1.1.1.jar (which
i see in the above distribution of ODE) to Axis2 1.3
Apparently Axis2 1.3 is distributed seperately as a WAR file (axis2.war).
The kernal jar in the above distribution is axis2-kernel-1.1.1.jar
Thanx
Alex Boisvert wrote:
>
> The getFirstSOAPTest() exception was a bug in Axis2 1.1.x and is fixed in
> Axis2 1.3.
>
> It should not happen with axis2-kernel-intalio-1.1.1b if the classloading
> order is correct, meaning that axis2-kernel-intalio is loaded before
> axis2.jar, or if axis2.jar is not present at all.
>
> alex
>
>
> On 8/6/07, Rich Taylor <bh...@gmail.com> wrote:
>>
>> I have encountered this "getFirstSOAPText() not allowed for SOAP 1.1!"
>> issue
>> as well but haven't had a chance to write it up. I was wondering if it
>> was
>> something I was doing. Now I'm even more curious.
>>
>> - Rich
>>
>>
>> ERROR - GeronimoLog.error(108) | Error sending message
>> > (mex={PartnerRoleMex#hqej
>> > bhcnphr2harmm4s6vd [PID
>> > {http://ode/bpel/unit-test}HelloMatrixServiceProcess-42]
>> > calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}):
>> > getFirstSOA
>> > PText() not allowed for SOAP 1.1!
>> > java.lang.UnsupportedOperationException: getFirstSOAPText() not allowed
>> > for SOAP 1.1!
>> > at
>> > org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultReasonImpl.getFirst
>> > SOAPText(SOAP11FaultReasonImpl.java:59)
>> > at org.apache.axis2.AxisFault.<init>(AxisFault.java:152)
>
>
--
View this message in context: http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12021278
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Invoking Web Service
Posted by Alex Boisvert <bo...@intalio.com>.
The getFirstSOAPTest() exception was a bug in Axis2 1.1.x and is fixed in
Axis2 1.3.
It should not happen with axis2-kernel-intalio-1.1.1b if the classloading
order is correct, meaning that axis2-kernel-intalio is loaded before
axis2.jar, or if axis2.jar is not present at all.
alex
On 8/6/07, Rich Taylor <bh...@gmail.com> wrote:
>
> I have encountered this "getFirstSOAPText() not allowed for SOAP 1.1!"
> issue
> as well but haven't had a chance to write it up. I was wondering if it
> was
> something I was doing. Now I'm even more curious.
>
> - Rich
>
>
> ERROR - GeronimoLog.error(108) | Error sending message
> > (mex={PartnerRoleMex#hqej
> > bhcnphr2harmm4s6vd [PID
> > {http://ode/bpel/unit-test}HelloMatrixServiceProcess-42]
> > calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}):
> > getFirstSOA
> > PText() not allowed for SOAP 1.1!
> > java.lang.UnsupportedOperationException: getFirstSOAPText() not allowed
> > for SOAP 1.1!
> > at
> > org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultReasonImpl.getFirst
> > SOAPText(SOAP11FaultReasonImpl.java:59)
> > at org.apache.axis2.AxisFault.<init>(AxisFault.java:152)
Re: Invoking Web Service
Posted by Rich Taylor <bh...@gmail.com>.
I have encountered this "getFirstSOAPText() not allowed for SOAP 1.1!" issue
as well but haven't had a chance to write it up. I was wondering if it was
something I was doing. Now I'm even more curious.
- Rich
ERROR - GeronimoLog.error(108) | Error sending message
> (mex={PartnerRoleMex#hqej
> bhcnphr2harmm4s6vd [PID
> {http://ode/bpel/unit-test}HelloMatrixServiceProcess-42]
> calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}):
> getFirstSOA
> PText() not allowed for SOAP 1.1!
> java.lang.UnsupportedOperationException: getFirstSOAPText() not allowed
> for
> SOAP
> 1.1!
> at
> org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultReasonImpl.getFirst
> SOAPText(SOAP11FaultReasonImpl.java:59)
> at org.apache.axis2.AxisFault.<init>(AxisFault.java:152)
> at
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisO
> peration.java:271)
> at
> org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAx
> isOperation.java:202)
> at
> org.apache.ode.axis2.ExternalService$1$1.call(ExternalService.java:13
> 6)
> at
>
Re: Invoking Web Service
Posted by Anup Chandran <an...@3ds.com>.
Thanks for pointing out the corrections. I fixed the deploy.xml and this it
does go through the instantiation and finally throws error in the Invoke
activity.
Here is the trace snippet :
DEBUG - GeronimoLog.debug(66) | Invoking a partner operation: connect
11:08:32,098 DEBUG [MessageExchangeContextImpl] Invoking a partner
operation: co
nnect
DEBUG - GeronimoLog.debug(66) | The service to invoke is the external
service or
g.apache.ode.axis2.ExternalService@99b6af
11:08:32,098 DEBUG [MessageExchangeContextImpl] The service to invoke is the
ext
ernal service org.apache.ode.axis2.ExternalService@99b6af
DEBUG - GeronimoLog.debug(66) | Resolving endpoint reference <?xml
version="1.0"
encoding="UTF-8"?>
<service-ref
xmlns="http://docs.oasis-open.org/wsbpel/2.0/serviceref"><EndpointR
eference xmlns="http://www.w3.org/2005/08/addressing"><Metadata><ServiceName
xml
ns="http://www.w3.org/2006/05/addressing/wsdl"
EndpointName="JpoTestHelloMatrixM
atrixService"
xmlns:servicens="http://client.test.jpo">servicens:HelloMatrixMatr
ixServiceService</ServiceName></Metadata><Address>http://localhost:8080/ematrix/
services/JpoTestHelloMatrixMatrixService</Address></EndpointReference></service-
ref>
11:08:32,098 DEBUG [EndpointReferenceContextImpl] Resolving endpoint
reference <
?xml version="1.0" encoding="UTF-8"?>
<service-ref
xmlns="http://docs.oasis-open.org/wsbpel/2.0/serviceref"><EndpointR
eference xmlns="http://www.w3.org/2005/08/addressing"><Metadata><ServiceName
xml
ns="http://www.w3.org/2006/05/addressing/wsdl"
EndpointName="JpoTestHelloMatrixM
atrixService"
xmlns:servicens="http://client.test.jpo">servicens:HelloMatrixMatr
ixServiceService</ServiceName></Metadata><Address>http://localhost:8080/ematrix/
services/JpoTestHelloMatrixMatrixService</Address></EndpointReference></service-
ref>
DEBUG - GeronimoLog.debug(66) | GET MEX property
org.apache.ode.bpel.partnerRole
SessionId = null
11:08:32,109 DEBUG [MessageExchangeImpl] GET MEX property
org.apache.ode.bpel.pa
rtnerRoleSessionId = null
DEBUG - GeronimoLog.debug(66) | GET MEX property
org.apache.ode.bpel.myRoleSessi
onId = null
11:08:32,109 DEBUG [MessageExchangeImpl] GET MEX property
org.apache.ode.bpel.my
RoleSessionId = null
DEBUG - GeronimoLog.debug(66) | My-Role EPR not specified, SEP will not be
used.
11:08:32,109 DEBUG [ExternalService] My-Role EPR not specified, SEP will not
be
used.
DEBUG - GeronimoLog.debug(66) | Axis2 sending message to
http://localhost:8080/e
matrix/services/JpoTestHelloMatrixMatrixService using MEX
{PartnerRoleMex#hqejbh
cnphr2harmm4s6vd [PID
{http://ode/bpel/unit-test}HelloMatrixServiceProcess-42] c
alling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}
11:08:32,130 DEBUG [ExternalService] Axis2 sending message to
http://localhost:8
080/ematrix/services/JpoTestHelloMatrixMatrixService using MEX
{PartnerRoleMex#h
qejbhcnphr2harmm4s6vd [PID
{http://ode/bpel/unit-test}HelloMatrixServiceProcess-
42] calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}
DEBUG - GeronimoLog.debug(66) | Message: <?xml version='1.0'
encoding='utf-8'?><
soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soap
env:Body><axis2ns1:connect
xmlns:axis2ns1="http://client.test.jpo"><username>
<bpws:literal
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
ness-process/">Test Everything</bpws:literal>
</username><password>
<bpws:literal
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
ness-process/">1234</bpws:literal>
</password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
11:08:32,261 DEBUG [ExternalService] Message: <?xml version='1.0'
encoding='utf-
8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body><axis2ns1:connect
xmlns:axis2ns1="http://client.test.jpo"><usernam
e>
<bpws:literal
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
ness-process/">Test Everything</bpws:literal>
</username><password>
<bpws:literal
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
ness-process/">1234</bpws:literal>
</password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
DEBUG - GeronimoLog.debug(66) | replyAsync mex=hqejbhcnphr2harmm4s6vd
11:08:32,370 DEBUG [PartnerRoleMessageExchangeImpl] replyAsync
mex=hqejbhcnphr2h
armm4s6vd
DEBUG - GeronimoLog.debug(66) | Setting execution state on instance 1704
11:08:32,555 DEBUG [BpelRuntimeContextImpl] Setting execution state on
instance
1704
DEBUG - GeronimoLog.debug(66) | Sending stateful TO epr in message header
using
session null
11:08:35,465 DEBUG [SessionOutHandler] Sending stateful TO epr in message
header
using session null
DEBUG - GeronimoLog.debug(66) | Sending a message containing wsa endpoints
in he
aders for session passing.
11:08:35,465 DEBUG [SessionOutHandler] Sending a message containing wsa
endpoint
s in headers for session passing.
DEBUG - GeronimoLog.debug(66) | <?xml version='1.0'
encoding='utf-8'?><soapenv:E
nvelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Heade
r><addr:To
xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:80
80/ematrix/services/JpoTestHelloMatrixMatrixService</addr:To><addr:Action
xmlns:
addr="http://www.w3.org/2005/08/addressing"></addr:Action></soapenv:Header><soap
env:Body><axis2ns1:connect
xmlns:axis2ns1="http://client.test.jpo"><username>
<bpws:literal
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
ness-process/">Test Everything</bpws:literal>
</username><password>
<bpws:literal
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
ness-process/">1234</bpws:literal>
</password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
11:08:35,476 DEBUG [SessionOutHandler] <?xml version='1.0'
encoding='utf-8'?><so
apenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapen
v:Header><addr:To
xmlns:addr="http://www.w3.org/2005/08/addressing">http://local
host:8080/ematrix/services/JpoTestHelloMatrixMatrixService</addr:To><addr:Action
xmlns:addr="http://www.w3.org/2005/08/addressing"></addr:Action></soapenv:Heade
r><soapenv:Body><axis2ns1:connect
xmlns:axis2ns1="http://client.test.jpo"><usern
ame>
<bpws:literal
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
ness-process/">Test Everything</bpws:literal>
</username><password>
<bpws:literal
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/busi
ness-process/">1234</bpws:literal>
</password></axis2ns1:connect></soapenv:Body></soapenv:Envelope>
- Exception:
AxisFault
faultCode: {http://xml.apache.org/axis/}Server.userException
faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a
child e
lement, which is NOT expected, in something it was trying to deserialize.
faultActor: null
faultDetail:
stackTrace: org.xml.sax.SAXException: SimpleDeserializer encountered
a c
hild element, which is NOT expected, in something it was trying to
deserialize.
at
org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDe
serializer.java:188)
at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
rializationContextImpl.java:893)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
va:200)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
t.java:684)
at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)
at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
.java:190)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
276)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437
)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:70
1)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:595)
org.xml.sax.SAXException: SimpleDeserializer encountered a child element,
which
is NOT expected, in something it was trying to deserialize.
at org.apache.axis.AxisFault.makeFault(AxisFault.java:120)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
280)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437
)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:70
1)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.xml.sax.SAXException: SimpleDeserializer encountered a child
elem
ent, which is NOT expected, in something it was trying to deserialize.
at
org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDe
serializer.java:188)
at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
rializationContextImpl.java:893)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
va:200)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
t.java:684)
at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)
at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
.java:190)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
276)
... 23 more
ERROR - GeronimoLog.error(108) | Error sending message
(mex={PartnerRoleMex#hqej
bhcnphr2harmm4s6vd [PID
{http://ode/bpel/unit-test}HelloMatrixServiceProcess-42]
calling org.apache.ode.bpel.epr.WSAEndpoint@1bfe745.connect(...)}):
getFirstSOA
PText() not allowed for SOAP 1.1!
java.lang.UnsupportedOperationException: getFirstSOAPText() not allowed for
SOAP
1.1!
at
org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultReasonImpl.getFirst
SOAPText(SOAP11FaultReasonImpl.java:59)
at org.apache.axis2.AxisFault.<init>(AxisFault.java:152)
at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisO
peration.java:271)
at
org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAx
isOperation.java:202)
at
org.apache.ode.axis2.ExternalService$1$1.call(ExternalService.java:13
6)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
Not sure what the error means. Thanks for your help.
Regards
Anup
Alex Boisvert wrote:
>
> It appears you service+port references in deploy.xml are inconsistent with
> the WSDL.
>
> In deploy.xml you have:
> <invoke partnerLink="matrixPartnerLink">
> <service name="mws:HelloMatrixService"
> port="JpoTestHelloMatrix"/>
> </invoke>
>
> with xmlns:mws="http://client.jpo.test"
>
> whereas in the WSDL you have
>
> 1) targetNamespace="http://client.test.jpo"
> 2) service name is "HelloMatrixMatrixServiceService"
> 3) port name is "JpoTestHelloMatrixMatrixService"
>
> I'll improve the error reporting for this case.
>
> alex
>
>
> On 8/5/07, Anup Chandran <an...@3ds.com> wrote:
>>
>>
>> Hello All,
>>
>> I have been trying to get ODE to invoke an external webservice, however
>> it
>> throws the following error, not sure what is the issue.
>>
>> 21:18:28,180 DEBUG [ODEAxisDispatcher] Checking for Service using target
>> endpoin
>> t address : http://localhost:8080/ode/processes/helloMatrixServiceProcess
>> DEBUG - GeronimoLog.debug(66) | Found service in registry from name
>> helloMatrixS
>> erviceProcess: org.apache.axis2.description.AxisService@82fb6a
>> 21:18:28,180 DEBUG [ODEAxisDispatcher] Found service in registry from
>> name
>> hello
>> MatrixServiceProcess: org.apache.axis2.description.AxisService@82fb6a
>> DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP message
>> body's
>> first child's local name : hello
>> 21:18:28,190 DEBUG [ODEAxisDispatcher] Checking for Operation using SOAP
>> message
>> body's first child's local name : hello
>> DEBUG - GeronimoLog.debug(66) | Found operation
>> org.apache.axis2.description.InO
>> utAxisOperation@14829f5
>> 21:18:28,190 DEBUG [ODEAxisDispatcher] Found operation
>> org.apache.axis2.descript
>> ion.InOutAxisOperation@14829f5
>> DEBUG - GeronimoLog.debug(66) | Received request message for
>> helloMatrixServiceP
>> rocess.hello
>> 21:18:28,190 DEBUG [ODEMessageReceiver] Received request message for
>> helloMatrix
>> ServiceProcess.hello
>> DEBUG - GeronimoLog.debug(66) | Starting transaction.
>> 21:18:28,190 DEBUG [ODEService] Starting transaction.
>> DEBUG - GeronimoLog.debug(66) | Routed: svcQname
>> {http://ode/bpel/unit-test.wsdl
>> }HelloService -->
>> BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceProce
>> ss-40]
>> 21:18:28,200 DEBUG [BpelEngineImpl] Routed: svcQname
>> {http://ode/bpel/unit-test.
>> wsdl}HelloService -->
>> BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceP
>> rocess-40]
>> DEBUG - GeronimoLog.debug(66) | Rehydrating process
>> {http://ode/bpel/unit-test}H
>> elloMatrixServiceProcess-40
>> 21:18:28,200 DEBUG [BpelProcess] Rehydrating process
>> {http://ode/bpel/unit-test}
>> HelloMatrixServiceProcess-40
>> DEBUG - GeronimoLog.debug(66) | Processing <invoke> element for process
>> {http://
>> ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
>> matrixPartnerLink -
>> -> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
>> 21:18:28,410 DEBUG [BpelProcess] Processing <invoke> element for process
>> {http:/
>> /ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
>> matrixPartnerLink
>> --> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
>> ERROR - GeronimoLog.error(108) | Could not create external service.
>> java.lang.NullPointerException: Null wsdl def.
>> at
>> org.apache.ode.axis2.util.SoapMessageConverter.<init>(SoapMessageConv
>> erter.java:102)
>> at
>> org.apache.ode.axis2.ExternalService.<init>(ExternalService.java:83)
>> at
>> org.apache.ode.axis2.ODEServer.createExternalService(ODEServer.java:3
>> 26)
>> at
>> org.apache.ode.axis2.BindingContextImpl.createPartnerRoleChannel(Bind
>> ingContextImpl.java:73)
>> at
>> org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:520)
>> at
>> org.apache.ode.bpel.engine.BpelProcess.getEndpointToMyRoleMap(BpelPro
>> cess.java:565)
>> at
>> org.apache.ode.bpel.engine.BpelProcess.initMyRoleMex(BpelProcess.java
>> :168)
>> at
>> org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
>> ngineImpl.java:131)
>> at
>> org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
>> ngineImpl.java:138)
>> at
>> org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java
>> :110)
>>
>>
>> The BPEL definition :
>>
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> <bpws:process
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
>> xmlns:ns="http://client.test.jpo"
>> xmlns:test="http://ode/bpel/unit-test.wsdl"
>> xmlns:tns="http://ode/bpel/unit-test"
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" exitOnStandardFault="yes"
>> name="HelloMatrixServiceProcess"
>> targetNamespace="http://ode/bpel/unit-test">
>> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>> location="HelloMatrix.wsdl" namespace="http://ode/bpel/unit-test.wsdl"/>
>> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>> location="JpoTestHelloMatrixMatrixService.wsdl"
>> namespace="http://client.test.jpo"/>
>> <bpws:partnerLinks>
>> <bpws:partnerLink myRole="me" name="helloPartnerLink"
>> partnerLinkType="test:HelloPartnerLinkType"/>
>> <bpws:partnerLink name="matrixPartnerLink"
>> partnerLinkType="ns:HelloMatrixPartnerLinkType" partnerRole="you"/>
>> </bpws:partnerLinks>
>> <bpws:variables>
>> <bpws:variable messageType="test:HelloMessage" name="myVar"/>
>> <bpws:variable name="tmpVar" type="xsd:string"/>
>> <bpws:variable messageType="ns:connectResponse"
>> name="matrixPartnerLinkResponse"/>
>> <bpws:variable messageType="ns:connectRequest"
>> name="matrixPartnerLinkRequest"/>
>> </bpws:variables>
>> <bpws:sequence>
>> <bpws:receive createInstance="yes" name="start" operation="hello"
>> partnerLink="helloPartnerLink" portType="test:HelloPortType"
>> variable="myVar"/>
>> <bpws:assign name="AssignUsername" validate="no">
>> <bpws:copy>
>> <bpws:from>
>> <bpws:literal>
>> <bpws:literal>
>> <bpws:literal>Test Everything</bpws:literal>
>> </bpws:literal>
>> </bpws:literal>
>> </bpws:from>
>> <bpws:to part="username" variable="matrixPartnerLinkRequest"/>
>> </bpws:copy>
>> </bpws:assign>
>> <bpws:assign name="AssignPassword" validate="no">
>> <bpws:copy>
>> <bpws:from>
>> <bpws:literal>
>> <bpws:literal>
>> <bpws:literal>1234</bpws:literal>
>> </bpws:literal>
>> </bpws:literal>
>> </bpws:from>
>> <bpws:to part="password" variable="matrixPartnerLinkRequest"/>
>> </bpws:copy>
>> </bpws:assign>
>> <bpws:invoke inputVariable="matrixPartnerLinkRequest"
>> name="InvokeMatrixWebService" operation="connect"
>> outputVariable="matrixPartnerLinkResponse"
>> partnerLink="matrixPartnerLink"
>> portType="ns:HelloMatrix"/>
>> <bpws:assign name="AssignResults" validate="no">
>> <bpws:copy>
>> <bpws:from part="connectReturn"
>> variable="matrixPartnerLinkResponse"/>
>> <bpws:to part="TestPart" variable="myVar"/>
>> </bpws:copy>
>> </bpws:assign>
>> <bpws:reply name="end" operation="hello"
>> partnerLink="helloPartnerLink"
>> portType="test:HelloPortType" variable="myVar"/>
>> </bpws:sequence>
>> </bpws:process>
>>
>>
>> The WSDL file for the Process :
>>
>> <?xml version="1.0" encoding="utf-8" ?>
>> <!--
>> ~ Licensed to the Apache Software Foundation (ASF) under one
>> ~ or more contributor license agreements. See the NOTICE file
>> ~ distributed with this work for additional information
>> ~ regarding copyright ownership. The ASF licenses this file
>> ~ to you under the Apache License, Version 2.0 (the
>> ~ "License"); you may not use this file except in compliance
>> ~ with the License. You may obtain a copy of the License at
>> ~
>> ~ http://www.apache.org/licenses/LICENSE-2.0
>> ~
>> ~ Unless required by applicable law or agreed to in writing,
>> ~ software distributed under the License is distributed on an
>> ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> ~ KIND, either express or implied. See the License for the
>> ~ specific language governing permissions and limitations
>> ~ under the License.
>> -->
>>
>> <wsdl:definitions
>> targetNamespace="http://ode/bpel/unit-test.wsdl"
>> xmlns="http://schemas.xmlsoap.org/wsdl/"
>> xmlns:tns="http://ode/bpel/unit-test.wsdl"
>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
>> xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
>>
>> <wsdl:message name="HelloMessage">
>> <wsdl:part name="TestPart" type="xsd:string"/>
>> </wsdl:message>
>>
>> <wsdl:portType name="HelloPortType">
>> <wsdl:operation name="hello">
>> <wsdl:input message="tns:HelloMessage" name="TestIn"/>
>> <wsdl:output message="tns:HelloMessage" name="TestOut"/>
>> </wsdl:operation>
>> </wsdl:portType>
>>
>> <wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType">
>> <soap:binding style="rpc"
>> transport="http://schemas.xmlsoap.org/soap/http"/>
>> <wsdl:operation name="hello">
>> <soap:operation soapAction="" style="rpc"/>
>> <wsdl:input>
>> <soap:body
>> namespace="http://ode/bpel/unit-test.wsdl"
>> use="literal"/>
>> </wsdl:input>
>> <wsdl:output>
>> <soap:body
>> namespace="http://ode/bpel/unit-test.wsdl"
>> use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> </wsdl:binding>
>> <wsdl:service name="HelloService">
>> <wsdl:port name="HelloPort"
>> binding="tns:HelloSoapBinding">
>> <soap:address
>> location="http://localhost:8080/ode/processes/helloMatrixServiceProcess"/>
>> </wsdl:port>
>> </wsdl:service>
>>
>> <plnk:partnerLinkType name="HelloPartnerLinkType">
>> <plnk:role name="me" portType="tns:HelloPortType"/>
>> <plnk:role name="you" portType="tns:HelloPortType"/>
>> </plnk:partnerLinkType>
>> </wsdl:definitions>
>>
>>
>> The WSDL that defines the external service :
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <wsdl:definitions targetNamespace="http://client.test.jpo"
>> xmlns:apachesoap="http://xml.apache.org/xml-soap"
>> xmlns:impl="http://client.test.jpo" xmlns:intf="http://client.test.jpo"
>> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
>> <wsdl:types/>
>> <wsdl:message name="connectRequest">
>> <wsdl:part name="username" type="xsd:string"/>
>> <wsdl:part name="password" type="xsd:string"/>
>> </wsdl:message>
>> <wsdl:message name="connectResponse">
>> <wsdl:part name="connectReturn" type="xsd:string"/>
>> </wsdl:message>
>> <wsdl:portType name="HelloMatrixMatrixService">
>> <wsdl:operation name="connect" parameterOrder="username password">
>> <wsdl:input message="impl:connectRequest" name="connectRequest"/>
>> <wsdl:output message="impl:connectResponse"
>> name="connectResponse"/>
>> </wsdl:operation>
>> </wsdl:portType>
>> <wsdl:binding name="JpoTestHelloMatrixMatrixServiceSoapBinding"
>> type="impl:HelloMatrixMatrixService">
>> <wsdlsoap:binding style="rpc"
>> transport="http://schemas.xmlsoap.org/soap/http"/>
>> <wsdl:operation name="connect">
>> <wsdlsoap:operation soapAction=""/>
>> <wsdl:input name="connectRequest">
>> <wsdlsoap:body
>> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>> namespace="http://client.test.jpo" use="encoded"/>
>> </wsdl:input>
>> <wsdl:output name="connectResponse">
>> <wsdlsoap:body
>> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>> namespace="http://client.test.jpo" use="encoded"/>
>> </wsdl:output>
>> </wsdl:operation>
>> </wsdl:binding>
>> <wsdl:service name="HelloMatrixMatrixServiceService">
>> <wsdl:port binding="impl:JpoTestHelloMatrixMatrixServiceSoapBinding"
>> name="JpoTestHelloMatrixMatrixService">
>> <wsdlsoap:address
>> location="
>> http://localhost:8080/ematrix/services/JpoTestHelloMatrixMatrixService"/>
>> </wsdl:port>
>> </wsdl:service>
>>
>> <plnk:partnerLinkType name="HelloMatrixPartnerLinkType">
>> <plnk:role name="me" portType="impl:HelloMatrixMatrixService"/>
>> <plnk:role name="you" portType="impl:HelloMatrixMatrixService"/>
>> </plnk:partnerLinkType>
>>
>> </wsdl:definitions>
>>
>>
>> The deploy file :
>>
>> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
>> xmlns:pns="http://ode/bpel/unit-test"
>> xmlns:wns="http://ode/bpel/unit-test.wsdl"
>>
>> xmlns:mws="http://client.jpo.test">
>>
>>
>> <process name="pns:HelloMatrixServiceProcess">
>> <active>true</active>
>> <provide partnerLink="helloPartnerLink">
>> <service name="wns:HelloService"
>> port="HelloPort"/>
>> </provide>
>> <invoke partnerLink="matrixPartnerLink">
>>
>> <service name="mws:HelloMatrixService"
>> port="JpoTestHelloMatrix"/>
>>
>> </invoke>
>>
>> </process>
>> </deploy>
>>
>>
>> Please let me know if something is amiss in my definitions.. Thanks.
>> --
>> View this message in context:
>> http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12010024
>> Sent from the Apache Ode User mailing list archive at Nabble.com.
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12018756
Sent from the Apache Ode User mailing list archive at Nabble.com.
Re: Invoking Web Service
Posted by Alex Boisvert <bo...@intalio.com>.
It appears you service+port references in deploy.xml are inconsistent with
the WSDL.
In deploy.xml you have:
<invoke partnerLink="matrixPartnerLink">
<service name="mws:HelloMatrixService" port="JpoTestHelloMatrix"/>
</invoke>
with xmlns:mws="http://client.jpo.test"
whereas in the WSDL you have
1) targetNamespace="http://client.test.jpo"
2) service name is "HelloMatrixMatrixServiceService"
3) port name is "JpoTestHelloMatrixMatrixService"
I'll improve the error reporting for this case.
alex
On 8/5/07, Anup Chandran <an...@3ds.com> wrote:
>
>
> Hello All,
>
> I have been trying to get ODE to invoke an external webservice, however it
> throws the following error, not sure what is the issue.
>
> 21:18:28,180 DEBUG [ODEAxisDispatcher] Checking for Service using target
> endpoin
> t address : http://localhost:8080/ode/processes/helloMatrixServiceProcess
> DEBUG - GeronimoLog.debug(66) | Found service in registry from name
> helloMatrixS
> erviceProcess: org.apache.axis2.description.AxisService@82fb6a
> 21:18:28,180 DEBUG [ODEAxisDispatcher] Found service in registry from name
> hello
> MatrixServiceProcess: org.apache.axis2.description.AxisService@82fb6a
> DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP message
> body's
> first child's local name : hello
> 21:18:28,190 DEBUG [ODEAxisDispatcher] Checking for Operation using SOAP
> message
> body's first child's local name : hello
> DEBUG - GeronimoLog.debug(66) | Found operation
> org.apache.axis2.description.InO
> utAxisOperation@14829f5
> 21:18:28,190 DEBUG [ODEAxisDispatcher] Found operation
> org.apache.axis2.descript
> ion.InOutAxisOperation@14829f5
> DEBUG - GeronimoLog.debug(66) | Received request message for
> helloMatrixServiceP
> rocess.hello
> 21:18:28,190 DEBUG [ODEMessageReceiver] Received request message for
> helloMatrix
> ServiceProcess.hello
> DEBUG - GeronimoLog.debug(66) | Starting transaction.
> 21:18:28,190 DEBUG [ODEService] Starting transaction.
> DEBUG - GeronimoLog.debug(66) | Routed: svcQname
> {http://ode/bpel/unit-test.wsdl
> }HelloService -->
> BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceProce
> ss-40]
> 21:18:28,200 DEBUG [BpelEngineImpl] Routed: svcQname
> {http://ode/bpel/unit-test.
> wsdl}HelloService -->
> BpelProcess[{http://ode/bpel/unit-test}HelloMatrixServiceP
> rocess-40]
> DEBUG - GeronimoLog.debug(66) | Rehydrating process
> {http://ode/bpel/unit-test}H
> elloMatrixServiceProcess-40
> 21:18:28,200 DEBUG [BpelProcess] Rehydrating process
> {http://ode/bpel/unit-test}
> HelloMatrixServiceProcess-40
> DEBUG - GeronimoLog.debug(66) | Processing <invoke> element for process
> {http://
> ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
> matrixPartnerLink -
> -> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
> 21:18:28,410 DEBUG [BpelProcess] Processing <invoke> element for process
> {http:/
> /ode/bpel/unit-test}HelloMatrixServiceProcess-40: partnerlink
> matrixPartnerLink
> --> {http://client.jpo.test}HelloMatrixService:JpoTestHelloMatrix
> ERROR - GeronimoLog.error(108) | Could not create external service.
> java.lang.NullPointerException: Null wsdl def.
> at
> org.apache.ode.axis2.util.SoapMessageConverter.<init>(SoapMessageConv
> erter.java:102)
> at
> org.apache.ode.axis2.ExternalService.<init>(ExternalService.java:83)
> at
> org.apache.ode.axis2.ODEServer.createExternalService(ODEServer.java:3
> 26)
> at
> org.apache.ode.axis2.BindingContextImpl.createPartnerRoleChannel(Bind
> ingContextImpl.java:73)
> at
> org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:520)
> at
> org.apache.ode.bpel.engine.BpelProcess.getEndpointToMyRoleMap(BpelPro
> cess.java:565)
> at
> org.apache.ode.bpel.engine.BpelProcess.initMyRoleMex(BpelProcess.java
> :168)
> at
> org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
> ngineImpl.java:131)
> at
> org.apache.ode.bpel.engine.BpelEngineImpl.createMessageExchange(BpelE
> ngineImpl.java:138)
> at
> org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java
> :110)
>
>
> The BPEL definition :
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <bpws:process
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
> xmlns:ns="http://client.test.jpo"
> xmlns:test="http://ode/bpel/unit-test.wsdl"
> xmlns:tns="http://ode/bpel/unit-test"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" exitOnStandardFault="yes"
> name="HelloMatrixServiceProcess"
> targetNamespace="http://ode/bpel/unit-test">
> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
> location="HelloMatrix.wsdl" namespace="http://ode/bpel/unit-test.wsdl"/>
> <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
> location="JpoTestHelloMatrixMatrixService.wsdl"
> namespace="http://client.test.jpo"/>
> <bpws:partnerLinks>
> <bpws:partnerLink myRole="me" name="helloPartnerLink"
> partnerLinkType="test:HelloPartnerLinkType"/>
> <bpws:partnerLink name="matrixPartnerLink"
> partnerLinkType="ns:HelloMatrixPartnerLinkType" partnerRole="you"/>
> </bpws:partnerLinks>
> <bpws:variables>
> <bpws:variable messageType="test:HelloMessage" name="myVar"/>
> <bpws:variable name="tmpVar" type="xsd:string"/>
> <bpws:variable messageType="ns:connectResponse"
> name="matrixPartnerLinkResponse"/>
> <bpws:variable messageType="ns:connectRequest"
> name="matrixPartnerLinkRequest"/>
> </bpws:variables>
> <bpws:sequence>
> <bpws:receive createInstance="yes" name="start" operation="hello"
> partnerLink="helloPartnerLink" portType="test:HelloPortType"
> variable="myVar"/>
> <bpws:assign name="AssignUsername" validate="no">
> <bpws:copy>
> <bpws:from>
> <bpws:literal>
> <bpws:literal>
> <bpws:literal>Test Everything</bpws:literal>
> </bpws:literal>
> </bpws:literal>
> </bpws:from>
> <bpws:to part="username" variable="matrixPartnerLinkRequest"/>
> </bpws:copy>
> </bpws:assign>
> <bpws:assign name="AssignPassword" validate="no">
> <bpws:copy>
> <bpws:from>
> <bpws:literal>
> <bpws:literal>
> <bpws:literal>1234</bpws:literal>
> </bpws:literal>
> </bpws:literal>
> </bpws:from>
> <bpws:to part="password" variable="matrixPartnerLinkRequest"/>
> </bpws:copy>
> </bpws:assign>
> <bpws:invoke inputVariable="matrixPartnerLinkRequest"
> name="InvokeMatrixWebService" operation="connect"
> outputVariable="matrixPartnerLinkResponse" partnerLink="matrixPartnerLink"
> portType="ns:HelloMatrix"/>
> <bpws:assign name="AssignResults" validate="no">
> <bpws:copy>
> <bpws:from part="connectReturn"
> variable="matrixPartnerLinkResponse"/>
> <bpws:to part="TestPart" variable="myVar"/>
> </bpws:copy>
> </bpws:assign>
> <bpws:reply name="end" operation="hello"
> partnerLink="helloPartnerLink"
> portType="test:HelloPortType" variable="myVar"/>
> </bpws:sequence>
> </bpws:process>
>
>
> The WSDL file for the Process :
>
> <?xml version="1.0" encoding="utf-8" ?>
> <!--
> ~ Licensed to the Apache Software Foundation (ASF) under one
> ~ or more contributor license agreements. See the NOTICE file
> ~ distributed with this work for additional information
> ~ regarding copyright ownership. The ASF licenses this file
> ~ to you under the Apache License, Version 2.0 (the
> ~ "License"); you may not use this file except in compliance
> ~ with the License. You may obtain a copy of the License at
> ~
> ~ http://www.apache.org/licenses/LICENSE-2.0
> ~
> ~ Unless required by applicable law or agreed to in writing,
> ~ software distributed under the License is distributed on an
> ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> ~ KIND, either express or implied. See the License for the
> ~ specific language governing permissions and limitations
> ~ under the License.
> -->
>
> <wsdl:definitions
> targetNamespace="http://ode/bpel/unit-test.wsdl"
> xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:tns="http://ode/bpel/unit-test.wsdl"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
> xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
>
> <wsdl:message name="HelloMessage">
> <wsdl:part name="TestPart" type="xsd:string"/>
> </wsdl:message>
>
> <wsdl:portType name="HelloPortType">
> <wsdl:operation name="hello">
> <wsdl:input message="tns:HelloMessage" name="TestIn"/>
> <wsdl:output message="tns:HelloMessage" name="TestOut"/>
> </wsdl:operation>
> </wsdl:portType>
>
> <wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType">
> <soap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="hello">
> <soap:operation soapAction="" style="rpc"/>
> <wsdl:input>
> <soap:body
> namespace="http://ode/bpel/unit-test.wsdl"
> use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body
> namespace="http://ode/bpel/unit-test.wsdl"
> use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="HelloService">
> <wsdl:port name="HelloPort"
> binding="tns:HelloSoapBinding">
> <soap:address
> location="http://localhost:8080/ode/processes/helloMatrixServiceProcess"/>
> </wsdl:port>
> </wsdl:service>
>
> <plnk:partnerLinkType name="HelloPartnerLinkType">
> <plnk:role name="me" portType="tns:HelloPortType"/>
> <plnk:role name="you" portType="tns:HelloPortType"/>
> </plnk:partnerLinkType>
> </wsdl:definitions>
>
>
> The WSDL that defines the external service :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="http://client.test.jpo"
> xmlns:apachesoap="http://xml.apache.org/xml-soap"
> xmlns:impl="http://client.test.jpo" xmlns:intf="http://client.test.jpo"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
> <wsdl:types/>
> <wsdl:message name="connectRequest">
> <wsdl:part name="username" type="xsd:string"/>
> <wsdl:part name="password" type="xsd:string"/>
> </wsdl:message>
> <wsdl:message name="connectResponse">
> <wsdl:part name="connectReturn" type="xsd:string"/>
> </wsdl:message>
> <wsdl:portType name="HelloMatrixMatrixService">
> <wsdl:operation name="connect" parameterOrder="username password">
> <wsdl:input message="impl:connectRequest" name="connectRequest"/>
> <wsdl:output message="impl:connectResponse" name="connectResponse"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="JpoTestHelloMatrixMatrixServiceSoapBinding"
> type="impl:HelloMatrixMatrixService">
> <wsdlsoap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="connect">
> <wsdlsoap:operation soapAction=""/>
> <wsdl:input name="connectRequest">
> <wsdlsoap:body
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://client.test.jpo" use="encoded"/>
> </wsdl:input>
> <wsdl:output name="connectResponse">
> <wsdlsoap:body
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> namespace="http://client.test.jpo" use="encoded"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="HelloMatrixMatrixServiceService">
> <wsdl:port binding="impl:JpoTestHelloMatrixMatrixServiceSoapBinding"
> name="JpoTestHelloMatrixMatrixService">
> <wsdlsoap:address
> location="
> http://localhost:8080/ematrix/services/JpoTestHelloMatrixMatrixService"/>
> </wsdl:port>
> </wsdl:service>
>
> <plnk:partnerLinkType name="HelloMatrixPartnerLinkType">
> <plnk:role name="me" portType="impl:HelloMatrixMatrixService"/>
> <plnk:role name="you" portType="impl:HelloMatrixMatrixService"/>
> </plnk:partnerLinkType>
>
> </wsdl:definitions>
>
>
> The deploy file :
>
> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
> xmlns:pns="http://ode/bpel/unit-test"
> xmlns:wns="http://ode/bpel/unit-test.wsdl"
>
> xmlns:mws="http://client.jpo.test">
>
>
> <process name="pns:HelloMatrixServiceProcess">
> <active>true</active>
> <provide partnerLink="helloPartnerLink">
> <service name="wns:HelloService"
> port="HelloPort"/>
> </provide>
> <invoke partnerLink="matrixPartnerLink">
>
> <service name="mws:HelloMatrixService"
> port="JpoTestHelloMatrix"/>
>
> </invoke>
>
> </process>
> </deploy>
>
>
> Please let me know if something is amiss in my definitions.. Thanks.
> --
> View this message in context:
> http://www.nabble.com/Invoking-Web-Service-tf4221853.html#a12010024
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>