THANK YOU VERY MUCH! IT WORKS NOW!!! WOOW
:) ---------- Initial Header ----------- >From : "Tammo van Lessen" [email protected] To : [email protected] Cc : Date : Mon, 28 Sep 2009 12:38:51 +0200 Subject : Re: invoke external service > Hi, > > looks like a namespace issue. The name element you're creating in your > literal-copy is not in the null-namespace but rather in the BPEL > namespace (the default namespace), which is wrong. Try the following > literal assign expression: > > <literal> > <ns2:hello xmlns:ns2="http://hello.netbureau.it/"> > <name xmlns=""/> > </ns2:hello> > </literal> > > HTH, > Tammo > > [email protected] wrote: > > hi, > > > > > > this is the correct soap msg i have to send to an external webservice > > HelloWs and it works: > > > > <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns2:hello > > > > xmlns:ns2="http://hello.netbureau.it/"><name>pippo</name></ns2:hello></soapenv:Body></soapenv:Envelope> > > > > so i try to call with invoke ina bpel process: > > > > valuating FROM expression "{Literal <?xml version="1.0" encoding="UTF-8"?> > > <literal xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"> > > <ns2:hello xmlns:ns2="http://hello.netbureau.it/"> > > <name/> > > </ns2:hello> > > </literal>}". > > > > This is the firts part of intialize a variable HelloIn that is the input of > > invoke. > > defining a literal for instanciate a message to send is ok but in the > > second step why when i copy this into the HelloIn variable whose type is > > hello it give me a different soap message ( ns2: namespace prefix disappear > > and also the tag name get a bpel namespace..this is not correct!) > > > > ASSIGN Writing variable 'HelloIn' value '<?xml version="1.0" > > encoding="UTF-8"?> > > <message><parameters><hello xmlns="http://hello.netbureau.it/"> > > <name xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"/> > > </hello></parameters></message>' > > > > this is wrong.. why???? so i get a SelectionFailure exception when i try to > > write into HelloIn.. > > > > :( > > > > my wsdl contain <types> <schema.... > > and elementFormDefault= "unqualified" > > instead bpel schema is qualified and so tns:input is the input of bpel > > process (Caller.bpel), that is: > > > > message><payload><CallerRequest xmlns="http://MyTest.com/Test" > > xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><input > > xmlns="http://MyTest.com/Test">pippo</input></CallerRequest></payload></message> > > > > > > Can help me? > > > > this is the bpel: > > > > <process > > name="Caller" > > targetNamespace="http://hello.netbureau.it/" > > 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:ns2="http://hello.netbureau.it/"> > > > > <!--schema def for bpel, adding to process tag--> > > <!--xsd:schemaLocation="ws_bpel_executable.xsd"--> > > > > <!-- 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://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" importType="http://www.w3.org/2001/XMLSchema"/--> > > <partnerLinks> > > <partnerLink name="HelloWs" partnerLinkType="ns2:Helloname" > > partnerRole="WriteHelloMsgRole"/> > > <partnerLink name="Caller" partnerLinkType="tns:Caller" > > myRole="CallerProvider"/> > > </partnerLinks> > > <variables> > > <variable name="CallerOut" messageType="tns:CallerResponseMessage"/> > > <variable name="HelloOut" messageType="ns2:helloResponse"/> > > <variable name="HelloIn" messageType="ns2: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> > > <!-- first part soap message correct--> > > <from> > > <literal> > > <ns2:hello xmlns:ns2="http://hello.netbureau.it/"> > > <name/> > > </ns2:hello> > > </literal> > > </from> > > <!-- second part soap message wrong --> > > <to variable="HelloIn" part="parameters"></to> > > </copy> > > <copy> > > <from>$ProcessIn.payload/tns:input</from> > > <to>$HelloIn.parameters/name</to> > > </copy> > > </assign> > > <invoke name="InvokeHelloname" > > partnerLink="HelloWs" > > operation="hello" > > portType="ns2: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> > > <!-- this is work fine without namespace(it depends on web > > service response)--> > > <from>$HelloOut.parameters/return</from> > > <to>$CallerOut.payload/tns:result</to> > > </copy> > > </assign> > > <reply name="ReplyToClient" partnerLink="Caller" > > operation="process" portType="tns:Caller" variable="CallerOut"/> > > </sequence> > > > > </process> > > > > > > > > > > > -- > Tammo van Lessen - http://www.taval.de >
