thanks but.. i suppose that because i have another bpel process that take a
string(receive) and return the same string taken (reply) with the same Service
and port name (like the web service i try to call) and this bpel is under
ode/process maybe ode call this bpel instead the webservice hellows! so i
remove the bpel process but now give me a select fault about the Output
variable of invoke process! I have to initialize it??? Ode when call the
webservice with <invoke> didin't make the initialization directly before
setting it with the result of webservice? Or i have to place the the web
service under ode/process (like the process place now)?? mmm...this is the log
(as you can see in the last lines, the web service give me a Hello null...why
null and not Hello pippo?? :(), thanks:
17:22:58,484 DEBUG [ScopeFrame] Write variable: name={Variable
__PROCESS_SCOPE:Caller.HelloIn:OMessageVarType#14} value=<?xml version="1.0"
encoding="UTF-8"?>
<message><parameters><hello xmlns="http://hello.netbureau.it/">
<myxsd:name
xmlns:myxsd="http://hello.netbureau.it/">pippo</myxsd:name>
</hello></parameters></message>
17:22:58,609 DEBUG [BpelProcess] INVOKING PARTNER:
partnerLink={PartnerLinkInstance
partnerLinkDecl=OPartnerLink#20,scopeInstanceId=301}, op=hello
channel=InvokeResponseChannel#20)
17:22:58,609 DEBUG [BpelRuntimeContextImpl] INVOKE PARTNER (SEP):
sessionId=null partnerSessionId=null
17:22:58,609 DEBUG [MessageExchangeImpl] SET MEX property activityId = 37
17:22:58,609 DEBUG [BpelEngineImpl] Routed: svcQname
{http://wsdl.hello.netbureau.it/}HellonameService --> null
17:22:58,609 DEBUG [ProcessConfImpl] Properties for service
{http://wsdl.hello.netbureau.it/}HellonameService, port HellonamePort: {}
17:22:58,687 DEBUG [BpelRuntimeContextImpl] Creating invocation check event in
180000ms for mexid hqejbhcnphr4m7n8cl7ruo
17:22:58,687 DEBUG [SimpleScheduler] scheduling {mexid=hqejbhcnphr4m7n8cl7ruo,
inmem=false, pid={http://MyTest.com/Test}Caller-1, type=INVOKE_CHECK} for Wed
Sep 23 17:25:58 CEST 2009
....
..
17:22:58,890 DEBUG [EndpointReferenceContextImpl] Resolving endpoint reference
<?xml version="1.0" encoding="UTF-8"?>
<service-ref
xmlns="http://docs.oasis-open.org/wsbpel/2.0/serviceref"><EndpointReference
xmlns="http://www.w3.org/2005/08/addressing"><Metadata><ServiceName
xmlns="http://www.w3.org/2006/05/addressing/wsdl" EndpointName="HellonamePort"
xmlns:servicens="http://wsdl.hello.netbureau.it/">servicens:HellonameService</ServiceName></Metadata><Address>http://localhost:8080/HelloWs/Helloname</Address></EndpointReference></service-ref>
17:22:58,999 DEBUG [MessageExchangeImpl] GET MEX property
org.apache.ode.bpel.partnerRoleSessionId = null
17:22:58,999 DEBUG [MessageExchangeImpl] GET MEX property
org.apache.ode.bpel.myRoleSessionId = null
17:22:58,999 DEBUG [ExternalService] My-Role EPR not specified, SEP will not be
used.
17:22:58,999 DEBUG [ExternalService] Axis2 sending message to
http://localhost:8080/HelloWs/Helloname using MEX
{PartnerRoleMex#hqejbhcnphr4m7n8cl7ruo [PID {http://MyTest.com/Test}Caller-1]
calling [email protected](...)}
17:22:59,109 DEBUG [ExternalService] Message: <?xml version='1.0'
encoding='utf-8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><hello
xmlns="http://hello.netbureau.it/">
<myxsd:name
xmlns:myxsd="http://hello.netbureau.it/">pippo</myxsd:name>
</hello></soapenv:Body></soapenv:Envelope>
17:22:59,124 DEBUG [PartnerRoleMessageExchangeImpl] replyAsync
mex=hqejbhcnphr4m7n8cl7ruo
17:22:59,124 DEBUG [BpelRuntimeContextImpl] Setting execution state on instance
251
17:22:59,218 DEBUG [ExecutionQueueImpl] ReplacmentMap: getReplacement({OScope
'__PROCESS_SCOPE:Caller' id=3}) =
org.apache.ode.bpel.engine.replacementmapimpl$obasereplacementi...@158d74b
17:22:59,234 DEBUG [ExecutionQueueImpl] ReplacmentMap:
getReplacement(OSequence#22-sequence-activity-line-29) =
org.apache.ode.bpel.engine.replacementmapimpl$obasereplacementi...@13503e5
17:22:59,234 DEBUG [ExecutionQueueImpl] ReplacmentMap:
getReplacement(OProcess#0) =
org.apache.ode.bpel.engine.replacementmapimpl$obasereplacementi...@c6b7ee
17:22:59,296 DEBUG [ExecutionQueueImpl] ReplacmentMap: getReplacement({OScope
'InvokeHelloname' id=36}) =
org.apache.ode.bpel.engine.replacementmapimpl$obasereplacementi...@1db0f40
17:22:59,296 DEBUG [ExecutionQueueImpl] ReplacmentMap: getReplacement({OAssign
: Assign2, joinCondition=null}) =
org.apache.ode.bpel.engine.replacementmapimpl$obasereplacementi...@1e54e00
17:22:59,296 DEBUG [ExecutionQueueImpl] ReplacmentMap:
getReplacement(OReply#52-ReplyToClient) =
org.apache.ode.bpel.engine.replacementmapimpl$obasereplacementi...@bbaccd
17:22:59,405 DEBUG [ExecutionQueueImpl] ReplacmentMap:
getReplacement(OInvoke#37-InvokeHelloname) =
org.apache.ode.bpel.engine.replacementmapimpl$obasereplacementi...@4f7b4c
17:23:03,234 DEBUG [SessionOutHandler] <?xml version='1.0'
encoding='utf-8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><addr:To
xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:8080/HelloWs/Helloname</addr:To><addr:Action
xmlns:addr="http://www.w3.org/2005/08/addressing"></addr:Action><addr:ReplyTo
xmlns:addr="http://www.w3.org/2005/08/addressing"><addr:Address>http://www.w3.org/2005/08/addressing/anonymous</addr:Address></addr:ReplyTo><addr:MessageID
xmlns:addr="http://www.w3.org/2005/08/addressing">uuid:hqejbhcnphr4m7n8cl7rur</addr:MessageID></soapenv:Header><soapenv:Body><hello
xmlns="http://hello.netbureau.it/">
<myxsd:name
xmlns:myxsd="http://hello.netbureau.it/">pippo</myxsd:name>
</hello></soapenv:Body></soapenv:Envelope>
17:23:03,796 DEBUG [ExternalService] Service response:
<?xml version='1.0' encoding='utf-8'?><S:Envelope
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:helloResponse
xmlns:ns2="http://hello.netbureau.it/"><return>Hello
null</return></ns2:helloResponse></S:Body></S:Envelope>
---------- Initial Header -----------
>From : "Wenfeng ZHAO" [email protected]
To : "[email protected]" [email protected]
Cc :
Date : Wed, 23 Sep 2009 22:35:02 +0800
Subject : Re: problem invoking a real java webservice
> Hello ytrewq2002\,
>
> Are you sure what the invoked java service returned is "Hello pippo"
> rather than "pipo"? See the record:
>
> 14:28:42,875 DEBUG [ASSIGN] ASSIGN Writing variable 'Out' value '<?xml
> version="1.0" encoding="UTF-8"?>
> <message><parameters><helloResponse xmlns="http://hello.netbureau.it/">
> <myxsd:return
> xmlns:myxsd="http://hello.netbureau.it/">pippo</myxsd:return>
> </helloResponse></parameters></message>'
>
>
> Regards,
> Wenfeng
>
>
> =======On 2009-09-23 at 21:23:49 ytrewq2002\ wrote: =======
>
> >hi,
> >
> >i want to call a webservice HelloWs using the <invoke> bpel statment
> >I have a process Caller.bpel that receive a soap message from a client (a
> >coplex type with string called name)
> >It copies this string to input variable and invoke the webservices passing
> >this variable. The webservice take
> >the string "name" and return a string "Hello" + name, where name is the
> >content of string passed.
> >The output of invoke is passed to the <reply>
> >
> >Why i passed name="pippo" and the reply give to me "pippo"?? that is wrong
> >because The invoke has to call the
> >web service and copy the output's variable value into the reply variable and
> >the result would be "Hello pippo"
> >(not pippo!!**)
> >why doesn't work?
> >
> >this is the bpel process (i attached as ascii text file the ode's log)
> >
> >help please, give me an advice, thank you
> >
> >here is the bpel:
> >
> >
> ><process
> > name="Caller"
> > targetNamespace="http://MyTest.com/Test"
> > xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >
> > xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace"
> >
> > xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor"
> > xmlns:tns="http://MyTest.com/Test"
> > xmlns:wshello="http://wsdl.hello.netbureau.it/"
> > xmlns:myxsd="http://hello.netbureau.it/"
> > >
> > <!-- wsdl Caller + partnerLink defintion-->
> > <import namespace="http://MyTest.com/Test" location="Caller.wsdl"
> > importType="http://schemas.xmlsoap.org/wsdl/"/>
> > <!-- wsdl Ws Helloname + PartenrLinkType definition-->
> > <import namespace="http://wsdl.hello.netbureau.it/"
> > location="Helloname.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
> > <!-- xsd xhema for HellonameWs -->
> > <import namespace="http://hello.netbureau.it/"
> > location="Helloname.xsd_1.xsd"
> > importType="http://www.w3.org/2001/XMLSchema"/>
> > <partnerLinks>
> > <partnerLink name="HelloWs" partnerLinkType="wshello:Helloname"
> > partnerRole="WriteHelloMsgRole"/>
> > <partnerLink name="Caller" partnerLinkType="tns:Caller"
> > myRole="CallerProvider"/>
> > </partnerLinks>
> > <variables>
> > <variable name="CallerOut" messageType="tns:CallerResponseMessage"/>
> > <variable name="HelloOut" messageType="wshello:helloResponse"/>
> > <variable name="HelloIn" messageType="wshello:hello"/>
> > <variable name="ProcessIn" messageType="tns:CallerRequestMessage"/>
> > </variables>
> > <sequence>
> > <receive name="ReceiveFromclient"
> > createInstance="yes"
> > partnerLink="Caller"
> > operation="process" xmlns:tns="http://MyTest.com/Test"
> > portType="tns:Caller"
> > variable="ProcessIn"/>
> > <assign name="Assign1">
> > <copy>
> > <from>
> > <literal>
> > <wshello:hello>
> > <myxsd:name/>
> > </wshello:hello>
> > </literal>
> > </from>
> > <to variable="HelloIn" part="parameters"></to>
> > </copy>
> > <copy>
> > <from>$ProcessIn.payload/tns:input</from>
> > <to>$HelloIn.parameters/myxsd:name</to>
> > </copy>
> > </assign>
> > <invoke name="InvokeHelloname"
> > partnerLink="HelloWs"
> > operation="hello"
> > portType="wshello:Helloname"
> > inputVariable="HelloIn"
> > outputVariable="HelloOut"/>
> > <assign name="Assign2">
> > <copy>
> > <from>
> > <literal>
> > <tns:CallerResponse>
> > <tns:result/>
> > </tns:CallerResponse>
> > </literal>
> > </from>
> > <to part="payload" variable="CallerOut"/>
> > </copy>
> > <copy>
> > <from>$HelloOut.parameters/myxsd:return</from>
> > <to>$CallerOut.payload/tns:result</to>
> > </copy>
> > </assign>
> > <reply name="ReplyToClient" partnerLink="Caller" operation="process"
> > portType="tns:Caller" variable="CallerOut"/>
> > </sequence>
> >
> ></process>
> >
> >
> >
> >deploy.xml:
> >
> ><deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
> > xmlns:pns="http://MyTest.com/Test"
> > xmlns:wns="http://wsdl.hello.netbureau.it/"
> > xmlns:schemaLocation = "deploySchema.xsd">
> >
> > <process name="pns:Caller">
> > <active>true</active>
> > <provide partnerLink="Caller">
> > <service name="pns:CallerService" port="CallerPort"/>
> > </provide>
> > <invoke partnerLink="HelloWs">
> > <service name="wns:HellonameService" port="HellonamePort"/>
> > </invoke>
> > </process>
> ></deploy>
>
> = = = = = = = = = = = = = = = = = = = =
> ZHAO Wenfeng (???)
> Ph.D. Candidate
> http://www.bupt.edu.cn
>
>