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>

Reply via email to