ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ratha <rat...@wso2.com>
Subject Re: Error of null value after having assigned
Date Tue, 18 Nov 2008 17:05:41 GMT
Hi Binh,
I can find an error in your partnerlink definition. You defined as,
 /<partnerLinks>
        <partnerLink name="StringPL"            
partnerLinkType="tns:StringWSLinkType"partnerRole="StringWSRole"
            initializePartnerRole="yes" 
xmlns:tns="http://enterprise.netbeans.org/bpel/StringWSServiceWrapper"/>
        <partnerLink name="TestPartnerLink"            
xmlns:tns="http://j2ee.netbeans.org/wsdl/testBP"
            partnerLinkType="tns:testBPLT" myRole="testBPPortTypeRole"/>
    </partnerLinks>

/StringPL is wrong.. Name space should be the relevant WSDL files name 
space..You need to define at the start (with <bpel:process name> tag)
So your StringPL doesnt have partnerlinktype or partner role...May cause 
an error..

Thanks.
regards,
ratha.

binh nguyen wrote:
> Hi everyone,
> I have a trouble with the assign activity, when the value of a variable is
> always NULL after having been assigned NOT NULL value.
> Here I show the bpel and wsdl files:
>
> bpel file: testBP.bpel
>
> <?xml version="1.0" encoding="UTF-8"?>
> <process
>     name="testBP"
>     targetNamespace="http://enterprise.netbeans.org/bpel/StringBP/testBP"
>     xmlns:tns="http://enterprise.netbeans.org/bpel/StringBP/testBP"
>     xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:str="http://MyWS/"
>     xmlns:ns0="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
>     xmlns:ns1="http://j2ee.netbeans.org/wsdl/testBP">
>
>     <import namespace="http://j2ee.netbeans.org/wsdl/testBP"
>         location="testBP.wsdl"
>         importType="http://schemas.xmlsoap.org/wsdl/"/>
>     <import namespace="
> http://enterprise.netbeans.org/bpel/StringWSServiceWrapper"
>         location="StringWSServiceWrapper.wsdl"
>         importType="http://schemas.xmlsoap.org/wsdl/"/>
>     <import namespace="http://MyWS/"
>         location="StringWSService.wsdl"
>         importType="http://schemas.xmlsoap.org/wsdl/"/>
>
>     <partnerLinks>
>         <partnerLink name="StringPL"
>             xmlns:tns="
> http://enterprise.netbeans.org/bpel/StringWSServiceWrapper"
>             partnerLinkType="tns:StringWSLinkType"
> partnerRole="StringWSRole"
>             initializePartnerRole="yes"/>
>         <partnerLink name="TestPartnerLink"
>             xmlns:tns="http://j2ee.netbeans.org/wsdl/testBP"
>             partnerLinkType="tns:testBPLT" myRole="testBPPortTypeRole"/>
>     </partnerLinks>
>     <variables>
>         <variable name="TestOneWayOut"
> messageType="str:testOneWayResponseMsg"/>
>         <variable name="TestOneWayIn" messageType="str:testOneWayMsg"/>
>
>         <variable name="TestStringOut"
> messageType="str:testStringResponseMsg"/>
>         <variable name="TestStringIn" messageType="str:testStringMsg"/>
>
>         <variable name="TestBPOperationOut" xmlns:tns="
> http://j2ee.netbeans.org/wsdl/testBP"
>             messageType="tns:testBPOperationResponseMsg"/>
>         <variable name="TestBPOperationIn" xmlns:tns="
> http://j2ee.netbeans.org/wsdl/testBP"
>             messageType="tns:testBPOperationRequestMsg"/>
>     </variables>
>     <sequence>
>         <receive name="Receive1" createInstance="yes"
>             partnerLink="TestPartnerLink"
>             operation="testBPOperation"
>             xmlns:tns="http://j2ee.netbeans.org/wsdl/testBP"
>             portType="tns:testBPPortType"
>             variable="TestBPOperationIn"/>
>         <assign name="InitMainVars">
>
>             <copy>
>                 <from>
>                     <literal>
>                         <tns:testBPOperationResponse xmlns:tns="
> http://j2ee.netbeans.org/wsdl/testBP">
>                             <tns:return/>
>                         </tns:testBPOperationResponse>
>                     </literal>
>                 </from>
>                 <to>$TestBPOperationOut.partOut</to>
>             </copy>
>
>         </assign>
>
>         <assign name="InitTestOneWayVars">
>             <copy>
>                 <from>
>                     <literal>
>                         <tns:testOneWay xmlns:tns="http://MyWS/">
>
>                         </tns:testOneWay>
>                     </literal>
>                 </from>
>                 <to>$TestOneWayIn.parameters</to>
>             </copy>
>
>             <copy>
>                 <from>
>                     <literal>
>                         <tns:testOneWayResponse xmlns:tns="http://MyWS/">
>                             <tns:return>NoChange</tns:return>
>                         </tns:testOneWayResponse>
>                     </literal>
>                 </from>
>                 <to>$TestOneWayOut.parameters</to>
>             </copy>
>
>             <copy>
>                 <from variable="TestBPOperationIn" part="partIn"/>
>                 <to>$TestOneWayIn.parameters</to>
>             </copy>
>         </assign>
>
>         <invoke name="InvokeTestOneWay" partnerLink="StringPL"
>             operation="testOneWay"
>             portType="str:StringWS"
>             inputVariable="TestOneWayIn"
>             outputVariable="TestOneWayOut"/>
>
>
>         <assign name="InitTestStringVars">
>             <copy>
>                 <from>
>                     <literal>
>                         <tns:testString xmlns:tns="http://MyWS/">
>                             <tns:input></tns:input>
>                         </tns:testString>
>                     </literal>
>                 </from>
>                 <to>$TestStringIn.parameters</to>
>             </copy>
>             <copy>
>                 <from>
>                     <literal>
>                         <tns:testStringResponse xmlns:tns="http://MyWS/">
>                             <tns:return></tns:return>>
>                         </tns:testStringResponse>
>                     </literal>
>                 </from>
>                 <to>$TestStringOut.parameters</to>
>             </copy>
>
> *<!-- Error from this assign, the variable TestStringIn is always NULL after
> this asign -->*
>
>             <copy>
>                 <!--<from part="partIn" variable="TestBPOperationIn"
> query="/partIn/input"/>
>                 -->
>                 <from>$TestBPOperationIn.partIn/ns1:input</from>
>                 <to part="parameters" variable="TestStringIn" />
> <!--
>                 <from>
>                     <literal>
>                         <tns:input xmlns:tns="http://MyWS/">
>
> <![CDATA[$TestBPOperationIn.parameters/ns1:input]]>
>                         </tns:input>
>                     </literal>
>                 </from>
>   -->
>
>             </copy>
>
>         </assign>
>
> *<!-- TestStringIn is NULL in this INVOKE -->*
>
>         <invoke name="InvokeTestString" partnerLink="StringPL"
>             operation="testString"
>             portType="str:StringWS"
>             inputVariable="TestStringIn"
>             outputVariable="TestStringOut"/>
>
>         <assign name="Assign2">
>
>             <copy>
>                 <from>concat($TestBPOperationIn.partIn/ns1:input, '-&gt;',
>                     $TestOneWayOut.parameters, '-&gt;',
>                     $TestStringOut.parameters, '-&gt;', ' OK!')
>                 </from>
>                 <to variable="TestBPOperationOut" part="partOut"></to>
>             </copy>
>
>         </assign>
>
>         <reply name="Reply1" partnerLink="TestPartnerLink"
>             operation="testBPOperation"
>             xmlns:tns="http://j2ee.netbeans.org/wsdl/testBP"
>             portType="tns:testBPPortType"
>             variable="TestBPOperationOut"/>
>     </sequence>
> </process>
> --------------------
>
> wsdl file: testBP.wsdl
>
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions name="testBP"
>     targetNamespace="http://j2ee.netbeans.org/wsdl/testBP"
>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:tns="http://j2ee.netbeans.org/wsdl/testBP"
>     xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
>     <!--
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>
>      TYPE DEFINITION - List of types participating in this BPEL process
>      The BPEL Designer will generate default request and response types
>      but you can define or import any XML Schema type and use them as part
>      of the message types.
>      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -->
>     <types>
>         <schema attributeFormDefault="unqualified"
> elementFormDefault="qualified"
>                 targetNamespace="http://j2ee.netbeans.org/wsdl/testBP"
>                 xmlns="http://www.w3.org/2001/XMLSchema">
>
>             <element name="testBPOperationRequest">
>                 <complexType>
>                     <sequence>
>                         <element name="input" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>
>             <element name="testBPOperationResponse">
>                 <complexType>
>                     <sequence>
>                         <element name="return" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>
>         </schema>
>     </types>
>
>     <message name="testBPOperationRequestMsg">
>         <part name="partIn" element="tns:testBPOperationRequest"/>
>     </message>
>     <message name="testBPOperationResponseMsg">
>         <part name="partOut" element="tns:testBPOperationResponse"/>
>     </message>
>
>     <portType name="testBPPortType">
>         <operation name="testBPOperation">
>             <input name="input1" message="tns:testBPOperationRequestMsg"/>
>             <output name="output1"
> message="tns:testBPOperationResponseMsg"/>
>         </operation>
>     </portType>
>     <binding name="testBPBinding" type="tns:testBPPortType">
>         <soap:binding style="document" transport="
> http://schemas.xmlsoap.org/soap/http"/>
>         <operation name="testBPOperation">
>             <soap:operation/>
>             <input name="input1">
>                 <soap:body use="literal" />
>             </input>
>             <output name="output1">
>                 <soap:body use="literal" />
>             </output>
>         </operation>
>     </binding>
>     <service name="testBPService">
>         <port name="testBPPort" binding="tns:testBPBinding">
>             <soap:address location="
> http://localhost:8080/ode/processes/testBP"/>
>             <!--<soap:address location="
> http://localhost:8080/active-bpel/services/testBP"/>-->
>         </port>
>     </service>
>     <plnk:partnerLinkType name="testBPLT">
>
>         <plnk:role name="testBPPortTypeRole" portType="tns:testBPPortType"/>
>     </plnk:partnerLinkType>
> </definitions>
> ------------
> more wsdl file StringWSService.wsdl
>
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is
> JAX-WS RI 2.1.4-b01-. -->
> <definitions targetNamespace="http://MyWS/"
>     name="StringWSService"
>     xmlns="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:tns="http://MyWS/"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
>   <types>
>     <xsd:schema>
>       <xsd:import namespace="http://MyWS/"
> schemaLocation="StringWSService_schema1.xsd"/>
>     </xsd:schema>
>   </types>
>   <message name="testStringMsg">
>     <part name="parameters" element="tns:testString"/>
>   </message>
>   <message name="testStringResponseMsg">
>     <part name="parameters" element="tns:testStringResponse"/>
>   </message>
>   <message name="testOneWayMsg">
>     <part name="parameters" element="tns:testOneWay"/>
>   </message>
>   <message name="testOneWayResponseMsg">
>     <part name="parameters" element="tns:testOneWayResponse"/>
>   </message>
>   <portType name="StringWS">
>     <operation name="testString">
>       <input message="tns:testStringMsg"/>
>       <output message="tns:testStringResponseMsg"/>
>     </operation>
>     <operation name="testOneWay">
>       <input message="tns:testOneWayMsg"/>
>       <output message="tns:testOneWayResponseMsg"/>
>     </operation>
>   </portType>
>   <binding name="StringWSPortBinding" type="tns:StringWS">
>     <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
> style="document"/>
>     <operation name="testString">
>       <soap:operation soapAction=""/>
>       <input>
>         <soap:body use="literal"/>
>       </input>
>       <output>
>         <soap:body use="literal"/>
>       </output>
>     </operation>
>     <operation name="testOneWay">
>       <soap:operation soapAction=""/>
>       <input>
>         <soap:body use="literal"/>
>       </input>
>       <output>
>         <soap:body use="literal"/>
>       </output>
>     </operation>
>   </binding>
>   <service name="StringWSService">
>     <port name="StringWSPort" binding="tns:StringWSPortBinding">
>       <soap:address location="http://localhost:8080/MyWS/StringWS"/>
>     </port>
>   </service>
> </definitions>
> --------------------
>
> In the testBP.bpel file, the value of variable TestStringIn is always NULL
> event after it has been assigned by Non NULL value.
> I do not know how to assign it correctly?
> Any advice is appreciated!
> Binh.
>
>   
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com 
> Version: 8.0.175 / Virus Database: 270.9.4/1791 - Release Date: 11/15/2008 6:57 PM
>
>   


Mime
View raw message