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
>

Reply via email to