Thanks for providing whole package.
In your case
    <vprop:propertyAlias propertyName="tns:wzrd_prop_id_id"
messageType="ns:InitMessage" part="part1">
        <vprop:query>/id</vprop:query>
    </vprop:propertyAlias>

resolves problem. This log shows it:
21:28:43,748 | DEBUG | ODEServer-6 | BpelJacobRunnable        |
eronimo.kernel.log.GeronimoLog   66 | Setting correlation property
{http://enterprise.netbeans.org/bpel/WizardCorrelationProperties}wzrd_prop_id_id=1234567

ODE sets evaluation context inside WSDL Message's part element
declaration. I think it's good, because you don't actually need to
type element's name inside every xpath. But I'm not sure it's so spec
compatible though.


2009/10/22 Stefano Tranquillini <[email protected]>:
> Hi all
> i've developed a bpel using netbeans. since now i used the
> netbeans&glassfish stuff to deploy the bpel and manage it. the bpel contains
> correlation done by the netbeans's wizard. all these stuff works fine in
> glassfish&co.
>
> but, i want deploy the bpel using ode, so i create the deploy.xml and i
> deploy the project (this part works). i created the stub and i tried to
> invoke the bpel service, here i found a problem.
>
> this is the debug messages:
>
>
> DEBUG - GeronimoLog.debug(66) | SET MEX property isTwoWay = false
> DEBUG - GeronimoLog.debug(66) | Invoking ODE using MEX
> {MyRoleMex#hqejbhcnphr4ovklgf65ne [Client hqejbhcnphr4ovklgf65nd] calling {
> http://j2ee.netbeans.org/wsdl/BPELService}BPELServiceService.Start(...)<http://j2ee.netbeans.org/wsdl/BPELService%7DBPELServiceService.Start%28...%29>
> }
> DEBUG - GeronimoLog.debug(66) | Message content:  <?xml version="1.0"
> encoding="UTF-8"?>
> <message><part1><init xmlns="http://xml.netbeans.org/schema/Data";
> xmlns:ns1="http://xml.netbeans.org/schema/Data"; xmlns:soapenv="
> http://www.w3.org/2003/05/soap-envelope";><id
> xmlns="">5F0EE07A30962904EA0993DF6627C018</id></init></part1></message>
> DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> BpelProcess[{
> http://enterprise.netbeans.org/bpel/BPEL/LocatorMap}LocatorMap-36<http://enterprise.netbeans.org/bpel/BPEL/LocatorMap%7DLocatorMap-36>
> ]
> DEBUG - GeronimoLog.debug(66) | Commiting ODE MEX
> {MyRoleMex#hqejbhcnphr4ovklgf65ne [Client hqejbhcnphr4ovklgf65nd] calling {
> http://j2ee.netbeans.org/wsdl/BPELService}BPELServiceService.Start(...)<http://j2ee.netbeans.org/wsdl/BPELService%7DBPELServiceService.Start%28...%29>
> }
> DEBUG - GeronimoLog.debug(66) | Commiting transaction.
> DEBUG - GeronimoLog.debug(66) | Releasing mex hqejbhcnphr4ovklgf65ne
> DEBUG - GeronimoLog.debug(66) | handleWorkEvent: InvokeInternal event for
> mexid hqejbhcnphr4ovklgf65ne
> DEBUG - GeronimoLog.debug(66) | >>
> handleWorkEvent(jobData={mexid=hqejbhcnphr4ovklgf65ne, pid={
> http://enterprise.netbeans.org/bpel/BPEL/LocatorMap}LocatorMap-36<http://enterprise.netbeans.org/bpel/BPEL/LocatorMap%7DLocatorMap-36>,
> type=INVOKE_INTERNAL})
> DEBUG - GeronimoLog.debug(66) | InvokeInternal event for mexid
> hqejbhcnphr4ovklgf65ne
> DEBUG - GeronimoLog.debug(66) | GET MEX property
> org.apache.ode.bpel.myRoleSessionId = null
> DEBUG - GeronimoLog.debug(66) | GET MEX property
> org.apache.ode.bpel.myRoleSessionId = null
> DEBUG - GeronimoLog.debug(66) | GET MEX property
> org.apache.ode.bpel.partnerRoleSessionId = null
> DEBUG - GeronimoLog.debug(66) | INPUTMSG: PartnerLink1.Start: MSG RCVD
> keys=[] mySessionId=null partnerSessionId=null
> DEBUG - GeronimoLog.debug(66) | INPUTMSG: PartnerLink1.Start: routing
> failed, CREATING NEW INSTANCE
> DEBUG - GeronimoLog.debug(66) | BpelRuntimeContextImpl created for instance
> 3003. INDEXED STATE={}
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: USING
> CORRELATOR PartnerLink1.Start
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: CHECKING for
> NEW INSTANCE match
> DEBUG - GeronimoLog.debug(66) | INPUTMSGMATCH: Changing process instance
> state from ready to active
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND match
> for NEW instance mexRef={MyRoleMex#hqejbhcnphr4ovklgf65ne [Client
> hqejbhcnphr4ovklgf65nd] calling {
> http://j2ee.netbeans.org/wsdl/BPELService}BPELServiceService.Start(...)<http://j2ee.netbeans.org/wsdl/BPELService%7DBPELServiceService.Start%28...%29>
> }
> DEBUG - GeronimoLog.debug(66) | Couldn't extract property '{OProperty {
> http://enterprise.netbeans.org/bpel/WizardCorrelationProperties}wzrd_prop_id_id<http://enterprise.netbeans.org/bpel/WizardCorrelationProperties%7Dwzrd_prop_id_id>}'
> in property pre-extraction: org.apache.ode.bpel.common.FaultException: No
> results for expression: {OXPath10Expression /ns0:init/id}
> ERROR - GeronimoLog.error(104) | org.apache.ode.bpel.common.FaultException:
> No results for expression: {OXPath10Expression /ns0:init/id}
> DEBUG - GeronimoLog.debug(66) | ProcessImpl completed with fault '{
> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailure>
> '
> DEBUG - GeronimoLog.debug(66) | Processing an async reply from service {
> http://j2ee.netbeans.org/wsdl/BPELService}BPELServiceService<http://j2ee.netbeans.org/wsdl/BPELService%7DBPELServiceService>
> DEBUG - GeronimoLog.debug(66) | Releasing mex hqejbhcnphr4ovklgf65ne
> DEBUG - GeronimoLog.debug(66) | Received myrole mex response callback
> DEBUG - GeronimoLog.debug(66) | Received myrole mex response callback
>
>
> in particular this part:
> DEBUG - GeronimoLog.debug(66) | Couldn't extract property '{OProperty {
> http://enterprise.netbeans.org/bpel/WizardCorrelationProperties}wzrd_prop_id_id<http://enterprise.netbeans.org/bpel/WizardCorrelationProperties%7Dwzrd_prop_id_id>}'
> in property pre-extraction: org.apache.ode.bpel.common.FaultException: No
> results for expression: {OXPath10Expression /ns0:init/id}
>
> this is the message:
> Message content:
> <?xml version="1.0" encoding="UTF-8"?>
> <message>
> <part1>
> <init xmlns="http://xml.netbeans.org/schema/Data"; xmlns:ns1="
> http://xml.netbeans.org/schema/Data"; xmlns:soapenv="
> http://www.w3.org/2003/05/soap-envelope";>
> <id xmlns="">5F0EE07A30962904EA0993DF6627C018</id>
> </init>
> </part1>
> </message>
>
>
> the problem is over the correlation, is sounds like the ode doesn't
> undestand the correlation syntax, he dosen't find the id into my message.
>
> this is the deploy.xml
>
> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03";
>    xmlns:pns="http://enterprise.netbeans.org/bpel/BPEL/LocatorMap";
>        xmlns:wns="http://j2ee.netbeans.org/wsdl/BPELService";>
>    <process name="pns:LocatorMap">
>        <active>true</active>
>        <provide partnerLink="PartnerLink1">
>            <service name="wns:BPELServiceService" port="BPELServicePort"/>
>        </provide>
>    </process>
> </deploy>
>
> and this is the correlations part
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <definitions
>    xmlns="http://schemas.xmlsoap.org/wsdl/";
>    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>    xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> name="WizardCorrelationProperties.wsdl" targetNamespace="
> http://enterprise.netbeans.org/bpel/WizardCorrelationProperties";
> xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"; xmlns:ns="
> http://j2ee.netbeans.org/wsdl/BPELService"; xmlns:ns0="
> http://xml.netbeans.org/schema/Data"; xmlns:tns="
> http://enterprise.netbeans.org/bpel/WizardCorrelationProperties";>
>    <import namespace="http://j2ee.netbeans.org/wsdl/BPELService";
> location="BPELService.wsdl"/>
>    <types>
>        <xsd:schema targetNamespace="
> http://enterprise.netbeans.org/bpel/WizardCorrelationProperties";>
>            <xsd:import namespace="http://xml.netbeans.org/schema/Data";
> schemaLocation="Data.xsd"/>
>        </xsd:schema>
>    </types>
>    <vprop:property name="wzrd_prop_id_id" type="xsd:string"/>
>    <vprop:propertyAlias propertyName="tns:wzrd_prop_id_id"
> messageType="ns:InitMessage" part="part1">
>        <vprop:query>/ns0:init/id</vprop:query>
>    </vprop:propertyAlias>
>    <vprop:propertyAlias propertyName="tns:wzrd_prop_id_id"
> messageType="ns:QueryMessageIn" part="part1">
>        <vprop:query>/ns0:queryIn/id</vprop:query>
>    </vprop:propertyAlias>
>    <vprop:propertyAlias propertyName="tns:wzrd_prop_id_id"
> messageType="ns:StopMessage" part="part1">
>        <vprop:query>/ns0:end/id</vprop:query>
>    </vprop:propertyAlias>
> </definitions>
>
> the BPELService (that contains the initMessage definition)
>
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions name="BPELService" targetNamespace="
> http://j2ee.netbeans.org/wsdl/BPELService";
>    xmlns="http://schemas.xmlsoap.org/wsdl/";
>    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>    xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:tns="
> http://j2ee.netbeans.org/wsdl/BPELService"; xmlns:ns="
> http://xml.netbeans.org/schema/Data"; xmlns:plnk="
> http://docs.oasis-open.org/wsbpel/2.0/plnktype"; xmlns:soap="
> http://schemas.xmlsoap.org/wsdl/soap/";>
>    <types>
>        <xsd:schema targetNamespace="
> http://j2ee.netbeans.org/wsdl/BPELService";>
>            <xsd:import namespace="http://xml.netbeans.org/schema/Data";
> schemaLocation="Data.xsd"/>
>        </xsd:schema>
>    </types>
>    <message name="InitMessage">
>        <part name="part1" element="ns:init"/>
>    </message>
>    <message name="QueryMessageIn">
>        <part name="part1" element="ns:queryIn"/>
>    </message>
>    <message name="StopMessage">
>        <part name="part1" element="ns:end"/>
>    </message>
>    <message name="Out">
>        <part name="part1" element="ns:result"/>
>    </message>
>    <portType name="BPELServicePortType">
>        <operation name="Query">
>            <input name="input2" message="tns:QueryMessageIn"/>
>        </operation>
>        <operation name="Stop">
>            <input name="input3" message="tns:StopMessage"/>
>        </operation>
>        <operation name="Start">
>            <input name="input1" message="tns:InitMessage"/>
>
>        </operation>
>    </portType>
>    <binding name="BPELServiceBinding" type="tns:BPELServicePortType">
>        <soap:binding style="document" transport="
> http://schemas.xmlsoap.org/soap/http"/>
>        <operation name="Query">
>            <soap:operation/>
>            <input name="input2">
>                <soap:body use="literal"/>
>            </input>
>        </operation>
>        <operation name="Stop">
>            <soap:operation/>
>            <input name="input3">
>                <soap:body use="literal"/>
>            </input>
>        </operation>
>        <operation name="Start">
>            <soap:operation/>
>            <input name="input1">
>                <soap:body use="literal"/>
>            </input>
>
>        </operation>
>    </binding>
>    <service name="BPELServiceService">
>        <port name="BPELServicePort" binding="tns:BPELServiceBinding">
>            <soap:address location="http://localhost:
> ${HttpDefaultPort}/BPELServiceService/BPELServicePort"/>
>        </port>
>    </service>
>    <plnk:partnerLinkType name="BPELService">
>        <!-- A partner link type is automatically generated when a new port
> type is added. Partner link types are used by BPEL processes.
> In a BPEL process, a partner link represents the interaction between the
> BPEL process and a partner service. Each partner link is associated with a
> partner link type.
> A partner link type characterizes the conversational relationship between
> two services. The partner link type can have one or two roles.-->
>        <plnk:role name="BPELServicePortTypeRole"
> portType="tns:BPELServicePortType"/>
>    </plnk:partnerLinkType>
> </definitions>
>
>
> this is the data.xsd (contains the init message)
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <xsd:schema
>    xmlns="http://www.w3.org/2001/XMLSchema";
>    xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>    targetNamespace="http://xml.netbeans.org/schema/Data"; xmlns:ns="
> http://xml.netbeans.org/schema/Data";
>    >
>    <element name="init">
>        <complexType>
>            <sequence>
>                <element name="id" type="xsd:string"/>
>            </sequence>
>        </complexType>
>    </element>
>    <element name="end">
>        <complexType>
>            <sequence>
>                <element name="id" type="xsd:string"/>
>            </sequence>
>        </complexType>
>    </element>
>
>    <element name="queryIn">
>        <complexType>
>            <sequence>
>                <element name="query" type="xsd:string"/>
>                <element name="location" type="xsd:string"/>
>                <element name="id" type="xsd:string"/>
>            </sequence>
>        </complexType>
>    </element>
>    <element name="result">
>        <complexType>
>            <sequence>
>                <element name="value" type="xsd:string"/>
>                <element name="id" type="xsd:string"/>
>
>            </sequence>
>        </complexType>
>    </element>
>
>
> </xsd:schema>
>
>
> if someone wants to see all the files (the bpel and so on) i'd putted all
> online here: http://bako.interfree.it/BPELCorrelationProblem.zip in this
> file there's also present the service for axis2 that will makes all the bpel
> works.
>
> i'm getting crazy
> thanks all.

I hope I saved your day :-)

Regards,
-- 
Rafał Rusin
http://www.touk.pl
http://top.touk.pl
http://people.apache.org/~rr/

Reply via email to