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.
--
Stefano