Hi
I have an issue about the pick activity.
I wrote a process that schematically does the following
Receive
Initialize correlation set A
While true
Pick
First Operation - PickSpade (A)
Second Operation – PickClub (A)
Third Operation – PickHeart (A)
Fourth Operation – PickDiamond (A)
The first three operations are Request-Response and i can call them
without any problems
The last operation however is one-way and when it is called the
process fails with the message
15:17:22,390 ERROR [PICK] org.apache.ode.bpel.common.FaultException: {Selector p
linkInstnace={PartnerLinkInstance partnerLinkDecl=OPartnerLink#53,scopeInstanceI
d=11370496},ckey={CorrelationKey setId=52, values=[One]},opName=pickSpade,oneWay
=no,mexId=<null>,idx=0}
The opName in the message "pickSpade" is not the name of the one-way operation.
I run the example under intalio-bpms-5.2.0.050 and under tomcat-6.0/ode 1.2.
I also tested with ActiveBPEL-5.0.2 and worked.
Are there any pending issues with the Pick Activity and one way operations?
I attach the source of the BPEL and the WSDL of the service.
Thanks in advance
Anastasopoulos Spyros
Software developer
http://www.intrasoft-intl.com
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:tns="http://www.stark.com/PickService"
targetNamespace="http://www.stark.com/PickService">
<wsdl:types>
<xsd:schema targetNamespace="http://www.stark.com/PickService" elementFormDefault="qualified">
<xsd:complexType name="DeckType">
<xsd:sequence>
<xsd:element name="Deck" type="xsd:token"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="dealDeck" type="tns:DeckType"/>
<xsd:element name="dealDeckResponse" type="tns:DeckType"/>
<xsd:element name="pickSpade" type="tns:DeckType"/>
<xsd:element name="pickSpadeResponse" type="tns:DeckType"/>
<xsd:element name="pickClub" type="tns:DeckType"/>
<xsd:element name="pickClubResponse" type="tns:DeckType"/>
<xsd:element name="pickHeart" type="tns:DeckType"/>
<xsd:element name="pickHeartResponse" type="tns:DeckType"/>
<xsd:element name="pickDiamond" type="tns:DeckType"/>
<xsd:element name="pickDiamondResponse" type="tns:DeckType"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="dealDeckRequest">
<wsdl:part element="tns:dealDeck" name="parameters"/>
</wsdl:message>
<wsdl:message name="dealDeckResponse">
<wsdl:part element="tns:dealDeckResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="pickSpadeRequest">
<wsdl:part element="tns:pickSpade" name="parameters"/>
</wsdl:message>
<wsdl:message name="pickSpadeResponse">
<wsdl:part element="tns:pickSpadeResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="pickClubRequest">
<wsdl:part element="tns:pickClub" name="parameters"/>
</wsdl:message>
<wsdl:message name="pickClubResponse">
<wsdl:part element="tns:pickClubResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="pickHeartRequest">
<wsdl:part element="tns:pickHeart" name="parameters"/>
</wsdl:message>
<wsdl:message name="pickHeartResponse">
<wsdl:part element="tns:pickHeartResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="pickDiamondRequest">
<wsdl:part element="tns:pickDiamond" name="parameters"/>
</wsdl:message>
<!--
<wsdl:message name="pickDiamondResponse">
<wsdl:part element="tns:pickDiamondResponse" name="parameters"/>
</wsdl:message>
-->
<wsdl:portType name="PickService">
<wsdl:operation name="dealDeck">
<wsdl:input message="tns:dealDeckRequest"/>
<wsdl:output message="tns:dealDeckResponse"/>
</wsdl:operation>
<wsdl:operation name="pickSpade">
<wsdl:input message="tns:pickSpadeRequest"/>
<wsdl:output message="tns:pickSpadeResponse"/>
</wsdl:operation>
<wsdl:operation name="pickClub">
<wsdl:input message="tns:pickClubRequest"/>
<wsdl:output message="tns:pickClubResponse"/>
</wsdl:operation>
<wsdl:operation name="pickHeart">
<wsdl:input message="tns:pickHeartRequest"/>
<wsdl:output message="tns:pickHeartResponse"/>
</wsdl:operation>
<wsdl:operation name="pickDiamond">
<wsdl:input message="tns:pickDiamondRequest"/>
<!--
<wsdl:output message="tns:pickDiamondResponse"/>
-->
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PickServiceSoapBinding" type="tns:PickService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="dealDeck">
<soap:operation soapAction="http://www.stark.com/PickService/dealDeck"/>
<wsdl:input> <soap:body parts="parameters" use="literal"/> </wsdl:input>
<wsdl:output> <soap:body parts="parameters" use="literal"/> </wsdl:output>
</wsdl:operation>
<wsdl:operation name="pickSpade">
<soap:operation soapAction="http://www.stark.com/PickService/pickSpade"/>
<wsdl:input> <soap:body parts="parameters" use="literal"/> </wsdl:input>
<wsdl:output> <soap:body parts="parameters" use="literal"/> </wsdl:output>
</wsdl:operation>
<wsdl:operation name="pickClub">
<soap:operation soapAction="http://www.stark.com/PickService/pickClub"/>
<wsdl:input> <soap:body parts="parameters" use="literal"/> </wsdl:input>
<wsdl:output> <soap:body parts="parameters" use="literal"/> </wsdl:output>
</wsdl:operation>
<wsdl:operation name="pickHeart">
<soap:operation soapAction="http://www.stark.com/PickService/pickHeart"/>
<wsdl:input> <soap:body parts="parameters" use="literal"/> </wsdl:input>
<wsdl:output> <soap:body parts="parameters" use="literal"/> </wsdl:output>
</wsdl:operation>
<wsdl:operation name="pickDiamond">
<soap:operation soapAction="http://www.stark.com/PickService/pickDiamond"/>
<wsdl:input> <soap:body parts="parameters" use="literal"/> </wsdl:input>
<!--
<wsdl:output> <soap:body parts="parameters" use="literal"/> </wsdl:output>
-->
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="PickService">
<wsdl:port name="PickServiceSoapPort" binding="tns:PickServiceSoapBinding">
<soap:address location="http://localhost:8080/ode/processes/PickService"/>
</wsdl:port>
</wsdl:service>
<plnk:partnerLinkType name="PickServicePLT">
<plnk:role name="PickServiceProvider" portType="tns:PickService"/>
</plnk:partnerLinkType>
<vprop:property name="deck" type="xsd:token"/>
<vprop:propertyAlias messageType="tns:dealDeckRequest" part="parameters" propertyName="tns:deck">
<vprop:query>tns:Deck</vprop:query>
</vprop:propertyAlias>
<vprop:propertyAlias messageType="tns:pickSpadeRequest" part="parameters" propertyName="tns:deck">
<vprop:query>tns:Deck</vprop:query>
</vprop:propertyAlias>
<vprop:propertyAlias messageType="tns:pickClubRequest" part="parameters" propertyName="tns:deck">
<vprop:query>tns:Deck</vprop:query>
</vprop:propertyAlias>
<vprop:propertyAlias messageType="tns:pickHeartRequest" part="parameters" propertyName="tns:deck">
<vprop:query>tns:Deck</vprop:query>
</vprop:propertyAlias>
<vprop:propertyAlias messageType="tns:pickDiamondRequest" part="parameters" propertyName="tns:deck">
<vprop:query>tns:Deck</vprop:query>
</vprop:propertyAlias>
</wsdl:definitions>
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
xmlns:srvns="http://www.stark.com/PickService"
xmlns:procns="http://emcs/www.stark.com/PickProcess">
<process name="procns:PickProcess">
<provide partnerLink="IncomingLink">
<service name="srvns:PickService" port="PickServiceSoapPort"/>
</provide>
<cleanup on="always"/>
</process>
</deploy>