Dear
When trying to deploy a BPEL process in which a receive activity is
implementing a WSDL input operation that defines two or more parts I always
get the following exception:
05:11:48,491 INFO [CronScheduler] Cancelling PROCESS CRON jobs for: {
http://dataprovider.com}DataProvider-7
05:11:48,491 INFO [CronScheduler] Scheduling PROCESS CRON jobs for: {
http://dataprovider.com}DataProvider-7
05:11:48,584 ERROR [WSDL11ToAxisServiceBuilder] More than one part for
message requestDataMessage
org.apache.axis2.description.WSDL11ToAxisServiceBuilder$WSDLProcessingException:
More than one part for message requestDataMessage
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addQNameReference(WSDL11ToAxisServiceBuilder.java:1113)
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addQNameReference(WSDL11ToAxisServiceBuilder.java:1036)
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateBinding(WSDL11ToAxisServiceBuilder.java:536)
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpoint(WSDL11ToAxisServiceBuilder.java:422)
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpoints(WSDL11ToAxisServiceBuilder.java:377)
at
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:281)
at
org.apache.ode.axis2.hooks.ODEAxisService.createService(ODEAxisService.java:88)
at
org.apache.ode.axis2.BindingContextImpl.createService(BindingContextImpl.java:119)
at
org.apache.ode.axis2.BindingContextImpl.activateMyRoleEndpoint(BindingContextImpl.java:77)
at org.apache.ode.bpel.engine.BpelProcess.activate(BpelProcess.java:588)
at
org.apache.ode.bpel.engine.BpelEngineImpl.registerProcess(BpelEngineImpl.java:346)
at
org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:321)
at org.apache.ode.axis2.ODEServer.handleEvent(ODEServer.java:654)
at org.apache.ode.axis2.ODEServer.access$100(ODEServer.java:88)
at
org.apache.ode.axis2.ODEServer$ProcessStoreListenerImpl.onProcessStoreEvent(ODEServer.java:630)
at
org.apache.ode.store.ProcessStoreImpl.fireEvent(ProcessStoreImpl.java:570)
at
org.apache.ode.store.ProcessStoreImpl.fireStateChange(ProcessStoreImpl.java:576)
at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:307)
at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:168)
at
org.apache.ode.axis2.deploy.DeploymentPoller.check(DeploymentPoller.java:160)
at
org.apache.ode.axis2.deploy.DeploymentPoller.access$300(DeploymentPoller.java:60)
at
org.apache.ode.axis2.deploy.DeploymentPoller$PollingThread.run(DeploymentPoller.java:251)
The BPEL and WSDL files are attached to this mail. What is wrong with these
files?
Thanks in advance for your advice!
Best regards
Geert Monsieur
<?xml version="1.0" encoding="UTF-8"?>
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:dataprovider.com="http://dataprovider.com">
<process name="dataprovider.com:DataProvider">
<active>true</active>
<retired>false</retired>
<process-events generate="all"/>
<provide partnerLink="DPLink">
<service name="dataprovider.com:DataProvider" port="DataProvider"/>
</provide>
<invoke partnerLink="DPLink">
<service name="dataprovider.com:DataReceiver" port="DataReceiver"/>
</invoke>
</process>
</deploy><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:tns="http://dataprovider.com"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="DataProvider" targetNamespace="http://dataprovider.com"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
>
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dataprovider.com">
<xsd:element name="requestContext" type="tns:requestContextType"></xsd:element>
<xsd:complexType name="requestContextType">
<xsd:sequence>
<xsd:element name="process_id" type="xsd:long"></xsd:element>
<xsd:element name="request_id" type="xsd:string"></xsd:element>
<xsd:element name="urlReceiver" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="dataContext" type="tns:dataContextType"></xsd:element>
<xsd:complexType name="dataContextType">
<xsd:sequence>
<xsd:element name="process_id" type="xsd:long"></xsd:element>
<xsd:element name="request_id" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="data" type="xsd:string"></xsd:element>
<xsd:element name="request" type="xsd:string"></xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="requestDataMessage">
<wsdl:part name="requestContext" element="tns:requestContext"/>
<wsdl:part name="request" element="tns:request"></wsdl:part>
</wsdl:message>
<wsdl:message name="receiveDataMessage">
<wsdl:part name="dataContext" element="tns:dataContext"/>
<wsdl:part name="data" element="tns:data"></wsdl:part>
</wsdl:message>
<wsdl:portType name="DataProviderPT">
<wsdl:operation name="requestData">
<wsdl:input message="tns:requestDataMessage"></wsdl:input>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="DataReceiverPT">
<wsdl:operation name="receiveData">
<wsdl:input message="tns:receiveDataMessage"></wsdl:input>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DataProviderBinding"
type="tns:DataProviderPT">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="requestData">
<soap:operation
soapAction="http://dataprovider.com/requestData" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DataReceiverBinding"
type="tns:DataReceiverPT">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="receiveData">
<soap:operation
soapAction="http://dataprovider.com/receiveData" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="DataProvider">
<wsdl:port name="DataProvider" binding="tns:DataProviderBinding">
<soap:address location="http://localhost:7080/ode/processes/DataProvider" />
</wsdl:port>
</wsdl:service>
<wsdl:service name="DataReceiver">
<wsdl:port name="DataReceiver" binding="tns:DataReceiverBinding">
<soap:address location="http://localhost:7080/ode/processes/DataReceiver" />
</wsdl:port>
</wsdl:service>
<plnk:partnerLinkType name="DataProviderLink">
<plnk:role name="DataProvider" portType="tns:DataProviderPT" />
<plnk:role name="DataReceiver" portType="tns:DataReceiverPT" />
</plnk:partnerLinkType>
<!--
<vprop:property name="process_id_prop" type="xsd:long"/>
<vprop:property name="request_id_prop" type="xsd:string"/>
<vprop:propertyAlias messageType="tns:receiveDataMessage" part="data" propertyName="tns:process_id_prop">
<vprop:query>process_id</vprop:query>
</vprop:propertyAlias>
<vprop:propertyAlias messageType="tns:receiveDataMessage" part="data" propertyName="tns:request_id_prop">
<vprop:query>request_id</vprop:query>
</vprop:propertyAlias>
<vprop:propertyAlias messageType="tns:requestDataMessage" part="dataRequest" propertyName="tns:process_id_prop">
<vprop:query>process_id</vprop:query>
</vprop:propertyAlias>
<vprop:propertyAlias messageType="tns:requestDataMessage" part="dataRequest" propertyName="tns:request_id_prop">
<vprop:query>request_id</vprop:query>
</vprop:propertyAlias>
-->
</wsdl:definitions>