You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by "chris.freeman" <ch...@softechnics.com> on 2008/05/08 18:05:36 UTC
BPEL and 'Component is not owner' exception
I've got a ODE SU in which I'm trying to call an InOut operation on the bus.
Turning on DEBUG reveals that the service call is occuring and returning
correctly, but the message is being turned into a fault before it gets to my
ODE process. (See The Fault below.)
I'm using ServiceMix 3.1.2 and Apache Ode 1.1.1. I will be moving to
ServiceMix 3.2.1 (or later) as soon as Ode works with it.
I'm guessing that this is a set up issue on my part, but I don't know where
to start: is this a ServiceMix setup issue, an Intalio setup issue (I'm
using Intalio Designer to create the BPEL), or something else?
I've included deploy.xml and the wsdl for the service.
If someone could please give me an idea as to what the most likely problem
is, or how I should continue.
Thanks,
Chris
The Fault:
ERROR - DataEngineComponent - Error processing exchange InOut[
id: ID:127.0.0.1-119c8b0646a-2:0
status: Active
role: provider
service: {http://example.com/}dataEngine
endpoint: dataEngine
operation: {http://example.com/}createTransferID
in: <?xml version="1.0" encoding="UTF-8"?><createTransferID
xmlns="http://example.com/" xmlns:Repository1="http://example.com/">
</createTransferID>
out: <?xml version="1.0" encoding="UTF-8"?><Repository:id
xmlns:Repository="http://example.com/">23</Repository:id>
]
java.lang.IllegalStateException: component is not owner
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setProperty(MessageExchangeImpl.java:363)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:416)
at
org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:79)
at
org.apache.servicemix.common.endpoints.SimpleEndpoint.send(SimpleEndpoint.java:67)
at
org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:114)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:595)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
File: deploy.xml
<?xml version='1.0' encoding='UTF-8'?>^M
<dd:deploy
xmlns:dd="http://ode.fivesight.com/schemas/2006/06/27/dd"><dd:process
xmlns:tns1="http://dom4j.org"
xmlns:dd="http://ode.fivesight.com/schemas/2006/06/27/dd"
xmlns:diag="http://example.com/GeMtransfer"
xmlns:Fulfillment="http://www.softechnics.com/softretail"
xmlns:tns="http://www.example.org/MessageTypes"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ESB="http://example.com/GeMtransfer/ESB"
xmlns:this="http://example.com/GeMtransfer/Pool"
xmlns:Repository1="http://example.com" name="this:Pool"
fileName="GeMtransfer-Pool.bpel">^M
<dd:property name="PATH">GeMtransfer</dd:property>^M
<dd:property name="SVG">GeMtransfer.svg</dd:property>^M
<dd:provide partnerLink="ebAndPoolPlkVar">^M
<dd:service name="this:CanonicServiceForESB" port="canonicPort" />^M
</dd:provide>^M
<dd:invoke partnerLink="ebAndPoolForPortDataEnginePlkVar">^M
<dd:service name="Repository1:dataEngine" port="dataEngine" />^M
</dd:invoke>^M
</dd:process></dd:deploy>
File: Repository.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://example.com" xmlns:intf="http://example.com"
xmlns:tns1="http://dom4j.org" xmlns:tns2="http://lang.java"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://example.com">
<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" targetNamespace="http://example.com">
<import namespace="http://dom4j.org"/>
<element name="createTransferID" type="xsd:string" nillable="true"/>
<element name="createTransferIDResponse">
<xsd:complexType>
<xsd:sequence>
<element name="id" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</element>
</schema>
</wsdl:types>
<wsdl:message name="createTransferIDResponse">
<wsdl:part element="impl:createTransferIDResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="createTransferIDRequest">
<wsdl:part element="impl:createTransferID" name="parameters"/>
</wsdl:message>
<wsdl:portType name="dataEngine">
<wsdl:operation name="createTransferID">
<wsdl:input message="impl:createTransferIDRequest"
name="createTransferIDRequest"/>
<wsdl:output message="impl:createTransferIDResponse"
name="createTransferIDResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="RepositorySoapBinding" type="impl:dataEngine">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="createTransferID">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="createTransferIDRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="createTransferIDResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="dataEngine">
<wsdl:port binding="impl:RepositorySoapBinding" name="dataEngine">
<wsdlsoap:address location="http://chris-desktop:8193/DataService/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
--
View this message in context: http://www.nabble.com/BPEL-and-%27Component-is-not-owner%27-exception-tp17127529p17127529.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: BPEL and 'Component is not owner' exception
Posted by Guillaume Nodet <gn...@gmail.com>.
The problem does not come from Ode but from your DataEngineComponent component.
It seems you inherit from ProviderEndpoint and your problem is that
the processInOut method is not supposed to send the exchange, but only
to populate the out message as the exchange will be send by the
process method itself.
On Thu, May 8, 2008 at 6:05 PM, chris.freeman
<ch...@softechnics.com> wrote:
>
> I've got a ODE SU in which I'm trying to call an InOut operation on the bus.
> Turning on DEBUG reveals that the service call is occuring and returning
> correctly, but the message is being turned into a fault before it gets to my
> ODE process. (See The Fault below.)
>
> I'm using ServiceMix 3.1.2 and Apache Ode 1.1.1. I will be moving to
> ServiceMix 3.2.1 (or later) as soon as Ode works with it.
>
> I'm guessing that this is a set up issue on my part, but I don't know where
> to start: is this a ServiceMix setup issue, an Intalio setup issue (I'm
> using Intalio Designer to create the BPEL), or something else?
>
> I've included deploy.xml and the wsdl for the service.
>
> If someone could please give me an idea as to what the most likely problem
> is, or how I should continue.
>
> Thanks,
>
> Chris
>
> The Fault:
>
> ERROR - DataEngineComponent - Error processing exchange InOut[
> id: ID:127.0.0.1-119c8b0646a-2:0
> status: Active
> role: provider
> service: {http://example.com/}dataEngine
> endpoint: dataEngine
> operation: {http://example.com/}createTransferID
> in: <?xml version="1.0" encoding="UTF-8"?><createTransferID
> xmlns="http://example.com/" xmlns:Repository1="http://example.com/">
> </createTransferID>
> out: <?xml version="1.0" encoding="UTF-8"?><Repository:id
> xmlns:Repository="http://example.com/">23</Repository:id>
> ]
> java.lang.IllegalStateException: component is not owner
> at
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setProperty(MessageExchangeImpl.java:363)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:416)
> at
> org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:79)
> at
> org.apache.servicemix.common.endpoints.SimpleEndpoint.send(SimpleEndpoint.java:67)
> at
> org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:114)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:595)
> at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
> at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
> at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
> at java.lang.Thread.run(Thread.java:595)
>
>
> File: deploy.xml
>
> <?xml version='1.0' encoding='UTF-8'?>^M
> <dd:deploy
> xmlns:dd="http://ode.fivesight.com/schemas/2006/06/27/dd"><dd:process
> xmlns:tns1="http://dom4j.org"
> xmlns:dd="http://ode.fivesight.com/schemas/2006/06/27/dd"
> xmlns:diag="http://example.com/GeMtransfer"
> xmlns:Fulfillment="http://www.softechnics.com/softretail"
> xmlns:tns="http://www.example.org/MessageTypes"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:ESB="http://example.com/GeMtransfer/ESB"
> xmlns:this="http://example.com/GeMtransfer/Pool"
> xmlns:Repository1="http://example.com" name="this:Pool"
> fileName="GeMtransfer-Pool.bpel">^M
> <dd:property name="PATH">GeMtransfer</dd:property>^M
> <dd:property name="SVG">GeMtransfer.svg</dd:property>^M
> <dd:provide partnerLink="ebAndPoolPlkVar">^M
> <dd:service name="this:CanonicServiceForESB" port="canonicPort" />^M
> </dd:provide>^M
> <dd:invoke partnerLink="ebAndPoolForPortDataEnginePlkVar">^M
> <dd:service name="Repository1:dataEngine" port="dataEngine" />^M
> </dd:invoke>^M
> </dd:process></dd:deploy>
>
> File: Repository.wsdl
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
> xmlns:impl="http://example.com" xmlns:intf="http://example.com"
> xmlns:tns1="http://dom4j.org" xmlns:tns2="http://lang.java"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://example.com">
> <!--WSDL created by Apache Axis version: 1.4
> Built on Apr 22, 2006 (06:55:48 PDT)-->
> <wsdl:types>
> <schema xmlns="http://www.w3.org/2001/XMLSchema"
> elementFormDefault="qualified" targetNamespace="http://example.com">
> <import namespace="http://dom4j.org"/>
> <element name="createTransferID" type="xsd:string" nillable="true"/>
> <element name="createTransferIDResponse">
> <xsd:complexType>
> <xsd:sequence>
> <element name="id" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
> </element>
> </schema>
> </wsdl:types>
> <wsdl:message name="createTransferIDResponse">
> <wsdl:part element="impl:createTransferIDResponse" name="parameters"/>
> </wsdl:message>
> <wsdl:message name="createTransferIDRequest">
> <wsdl:part element="impl:createTransferID" name="parameters"/>
> </wsdl:message>
> <wsdl:portType name="dataEngine">
> <wsdl:operation name="createTransferID">
> <wsdl:input message="impl:createTransferIDRequest"
> name="createTransferIDRequest"/>
> <wsdl:output message="impl:createTransferIDResponse"
> name="createTransferIDResponse"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="RepositorySoapBinding" type="impl:dataEngine">
> <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="createTransferID">
> <wsdlsoap:operation soapAction=""/>
> <wsdl:input name="createTransferIDRequest">
> <wsdlsoap:body use="literal"/>
> </wsdl:input>
> <wsdl:output name="createTransferIDResponse">
> <wsdlsoap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="dataEngine">
> <wsdl:port binding="impl:RepositorySoapBinding" name="dataEngine">
> <wsdlsoap:address location="http://chris-desktop:8193/DataService/"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
>
> --
> View this message in context: http://www.nabble.com/BPEL-and-%27Component-is-not-owner%27-exception-tp17127529p17127529.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/