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/