Author: objectiser
Date: 2010-10-05 10:56:46 -0400 (Tue, 05 Oct 2010)
New Revision: 1017
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/java/org/jboss/soa/bpel/tests/testcases/RiftSaw296TestCase.java
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/HelloGoodbye.bpel
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/HelloGoodbye.wsdl
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/deploy.xml
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/build.xml
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/goodbye_request1.xml
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/goodbye_response1.xml
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/hello_request1.xml
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/hello_response1.xml
Modified:
branches/RiftSaw-2.1.x/integration-tests/build.xml
branches/RiftSaw-2.1.x/pom.xml
branches/RiftSaw-ODE-2.1.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
branches/RiftSaw-ODE-2.1.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java
Log:
RIFTSAW-296 - ODE could not cope with a BPEL process providing a WSDL service with
multiple ports.
Modified: branches/RiftSaw-2.1.x/integration-tests/build.xml
===================================================================
--- branches/RiftSaw-2.1.x/integration-tests/build.xml 2010-10-05 13:38:58 UTC (rev 1016)
+++ branches/RiftSaw-2.1.x/integration-tests/build.xml 2010-10-05 14:56:46 UTC (rev 1017)
@@ -171,6 +171,7 @@
<ant antfile="src/test/resources/testcases/RiftSaw_278/build.xml" />
<ant antfile="src/test/resources/testcases/RiftSaw_279/build.xml" />
<ant antfile="src/test/resources/testcases/RiftSaw_285/build.xml" />
+ <ant antfile="src/test/resources/testcases/RiftSaw_296/build.xml" />
<ant antfile="src/test/resources/tutorials/BluePrint1/build.xml" />
<ant antfile="src/test/resources/tutorials/BluePrint2/build.xml" />
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/java/org/jboss/soa/bpel/tests/testcases/RiftSaw296TestCase.java
===================================================================
---
branches/RiftSaw-2.1.x/integration-tests/src/test/java/org/jboss/soa/bpel/tests/testcases/RiftSaw296TestCase.java
(rev 0)
+++
branches/RiftSaw-2.1.x/integration-tests/src/test/java/org/jboss/soa/bpel/tests/testcases/RiftSaw296TestCase.java 2010-10-05
14:56:46 UTC (rev 1017)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.soa.bpel.tests.testcases;
+
+import org.jboss.soa.bpel.tests.RiftSawTest;
+import org.jboss.soa.bpel.tests.RiftSawTestSetup;
+
+import junit.framework.Test;
+
+/**
+ * Test case for RiftSaw_296
+ */
+public class RiftSaw296TestCase extends RiftSawTest {
+
+ private static final String TEST_NAME = "RiftSaw_296";
+
+ public RiftSaw296TestCase() {
+ super(TEST_NAME);
+ }
+
+ public static Test suite() {
+ return(new RiftSawTestSetup(RiftSaw296TestCase.class,
+ TEST_NAME, "RiftSaw_296-1.jar"));
+ }
+
+ public void testSendHello() throws Exception {
+ String result1=sendSOAPMessage("hello_request1.xml",
+ "http://localhost:8080/RiftSaw_296WS1");
+
+ result1 = processResult(result1);
+
+ assertMessageFromFile(result1, "hello_response1.xml");
+
+ String result2=sendSOAPMessage("goodbye_request1.xml",
+ "http://localhost:8080/RiftSaw_296WS2");
+
+ result2 = processResult(result2);
+
+ assertMessageFromFile(result2, "goodbye_response1.xml");
+ }
+}
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/HelloGoodbye.bpel
===================================================================
---
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/HelloGoodbye.bpel
(rev 0)
+++
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/HelloGoodbye.bpel 2010-10-05
14:56:46 UTC (rev 1017)
@@ -0,0 +1,115 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~
http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<process name="HelloGoodbye"
+
targetNamespace="http://www.jboss.org/bpel/examples"
+
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+
xmlns:tns="http://www.jboss.org/bpel/examples"
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+
xmlns:intf="http://www.jboss.org/bpel/examples/wsdl"
+ queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
+ expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+
+ <import location="HelloGoodbye.wsdl"
+
namespace="http://www.jboss.org/bpel/examples/wsdl"
+
importType="http://schemas.xmlsoap.org/wsdl/" />
+
+ <partnerLinks>
+ <partnerLink name="helloPartnerLink"
+ partnerLinkType="intf:HelloPartnerLinkType"
+ myRole="me" />
+ <partnerLink name="goodbyePartnerLink"
+ partnerLinkType="intf:GoodbyePartnerLinkType"
+ myRole="me" />
+ </partnerLinks>
+
+ <correlationSets
xmlns:cor="http://example.com/supplyCorrelation">
+ <correlationSet name="Session"
+ properties="intf:SessionID" />
+ </correlationSets>
+
+ <variables>
+ <variable name="myHelloVar"
messageType="intf:HelloMessage"/>
+ <variable name="myGoodbyeVar"
messageType="intf:GoodbyeMessage"/>
+ <variable name="mesgVar" type="xsd:string"/>
+ </variables>
+
+ <sequence>
+ <receive
+ name="start"
+ partnerLink="helloPartnerLink"
+ portType="intf:HelloPortType"
+ operation="hello"
+ variable="myHelloVar"
+ createInstance="yes">
+ <correlations>
+ <correlation set="Session" initiate="yes" />
+ </correlations>
+ </receive>
+
+ <assign name="assignHelloMesg">
+ <copy>
+ <from variable="myHelloVar" part="Message"/>
+ <to variable="mesgVar"/>
+ </copy>
+ <copy>
+ <from>concat($mesgVar,' World')</from>
+ <to variable="myHelloVar" part="Message"/>
+ </copy>
+ </assign>
+ <reply name="end"
+ partnerLink="helloPartnerLink"
+ portType="intf:HelloPortType"
+ operation="hello"
+ variable="myHelloVar">
+ <correlations>
+ <correlation set="Session" initiate="no" />
+ </correlations>
+ </reply>
+ <receive
+ name="start"
+ partnerLink="goodbyePartnerLink"
+ portType="intf:GoodbyePortType"
+ operation="goodbye"
+ variable="myGoodbyeVar">
+ <correlations>
+ <correlation set="Session" initiate="no" />
+ </correlations>
+ </receive>
+
+ <assign name="assignGoodbyeMesg">
+ <copy>
+ <from variable="myGoodbyeVar" part="Message"/>
+ <to variable="mesgVar"/>
+ </copy>
+ <copy>
+ <from>concat($mesgVar,' World')</from>
+ <to variable="myGoodbyeVar" part="Message"/>
+ </copy>
+ </assign>
+ <reply name="end"
+ partnerLink="goodbyePartnerLink"
+ portType="intf:GoodbyePortType"
+ operation="goodbye"
+ variable="myGoodbyeVar">
+ <correlations>
+ <correlation set="Session" initiate="no" />
+ </correlations>
+ </reply>
+ </sequence>
+</process>
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/HelloGoodbye.wsdl
===================================================================
---
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/HelloGoodbye.wsdl
(rev 0)
+++
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/HelloGoodbye.wsdl 2010-10-05
14:56:46 UTC (rev 1017)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~
http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<wsdl:definitions
+
targetNamespace="http://www.jboss.org/bpel/examples/wsdl"
+
xmlns="http://schemas.xmlsoap.org/wsdl/"
+
xmlns:tns="http://www.jboss.org/bpel/examples/wsdl"
+
xmlns:types="http://www.jboss.org/bpel/examples/xsd"
+
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">
+
+ <wsdl:types>
+ <xsd:schema
targetNamespace="http://www.jboss.org/bpel/examples/xsd">
+ <xsd:complexType name="SessionIdentity">
+ <xsd:sequence>
+ <xsd:element name="id" type="xsd:int" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:schema>
+ </wsdl:types>
+
+ <wsdl:message name="HelloMessage">
+ <wsdl:part name="ID" type="types:SessionIdentity"/>
+ <wsdl:part name="Message" type="xsd:string"/>
+ </wsdl:message>
+
+ <wsdl:message name="GoodbyeMessage">
+ <wsdl:part name="ID" type="types:SessionIdentity"/>
+ <wsdl:part name="Message" type="xsd:string"/>
+ </wsdl:message>
+
+ <wsdl:portType name="HelloPortType">
+ <wsdl:operation name="hello">
+ <wsdl:input message="tns:HelloMessage" name="HelloIn"/>
+ <wsdl:output message="tns:HelloMessage"
name="HelloOut"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:portType name="GoodbyePortType">
+ <wsdl:operation name="goodbye">
+ <wsdl:input message="tns:GoodbyeMessage"
name="GoodbyeIn"/>
+ <wsdl:output message="tns:GoodbyeMessage"
name="GoodbyeOut"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="HelloSoapBinding"
type="tns:HelloPortType">
+ <soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="hello">
+ <soap:operation soapAction="" style="rpc"/>
+ <wsdl:input>
+ <soap:body
+
namespace="http://www.jboss.org/bpel/examples/wsdl"
+ use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body
+
namespace="http://www.jboss.org/bpel/examples/wsdl"
+ use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:binding name="GoodbyeSoapBinding"
type="tns:GoodbyePortType">
+ <soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="goodbye">
+ <soap:operation soapAction="" style="rpc"/>
+ <wsdl:input>
+ <soap:body
+
namespace="http://www.jboss.org/bpel/examples/wsdl"
+ use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body
+
namespace="http://www.jboss.org/bpel/examples/wsdl"
+ use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="HelloGoodbyeService">
+ <wsdl:port name="HelloPort"
binding="tns:HelloSoapBinding">
+ <soap:address location="http://localhost:8080/RiftSaw_296WS1"/>
+ </wsdl:port>
+ <wsdl:port name="GoodbyePort"
binding="tns:GoodbyeSoapBinding">
+ <soap:address location="http://localhost:8080/RiftSaw_296WS2"/>
+ </wsdl:port>
+ </wsdl:service>
+
+ <plnk:partnerLinkType name="HelloPartnerLinkType">
+ <plnk:role name="me" portType="tns:HelloPortType"/>
+ <plnk:role name="you" portType="tns:HelloPortType"/>
+ </plnk:partnerLinkType>
+
+ <plnk:partnerLinkType name="GoodbyePartnerLinkType">
+ <plnk:role name="me" portType="tns:GoodbyePortType"/>
+ <plnk:role name="you" portType="tns:GoodbyePortType"/>
+ </plnk:partnerLinkType>
+
+ <vprop:property name="SessionID" type="xsd:int" />
+
+ <vprop:propertyAlias propertyName="tns:SessionID"
+ messageType="tns:HelloMessage" part="ID">
+ <vprop:query>id</vprop:query>
+ </vprop:propertyAlias>
+
+ <vprop:propertyAlias propertyName="tns:SessionID"
+ messageType="tns:GoodbyeMessage"
part="ID">
+ <vprop:query>id</vprop:query>
+ </vprop:propertyAlias>
+
+
+</wsdl:definitions>
+
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/deploy.xml
===================================================================
---
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/deploy.xml
(rev 0)
+++
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/bpel/deploy.xml 2010-10-05
14:56:46 UTC (rev 1017)
@@ -0,0 +1,32 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~
http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<deploy
xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
+
xmlns:bpl="http://www.jboss.org/bpel/examples"
+
xmlns:intf="http://www.jboss.org/bpel/examples/wsdl">
+
+ <process name="bpl:HelloGoodbye">
+ <active>true</active>
+ <provide partnerLink="helloPartnerLink">
+ <service name="intf:HelloGoodbyeService" port="HelloPort"/>
+ </provide>
+ <provide partnerLink="goodbyePartnerLink">
+ <service name="intf:HelloGoodbyeService"
port="GoodbyePort"/>
+ </provide>
+ </process>
+</deploy>
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/build.xml
===================================================================
---
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/build.xml
(rev 0)
+++
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/build.xml 2010-10-05
14:56:46 UTC (rev 1017)
@@ -0,0 +1,29 @@
+<project name="RiftSaw_296" default="deploy"
basedir=".">
+
+ <description>
+ ${ant.project.name}
+ ${line.separator}
+ </description>
+
+ <property name="version" value="1" />
+
+ <property name="deploy.dir" value="${basedir}/target/tests"/>
+ <property name="test.dir"
value="${basedir}/src/test/resources/testcases/${ant.project.name}"/>
+
+ <property name="sample.jar.name"
value="${ant.project.name}-${version}.jar" />
+
+ <target name="deploy">
+ <echo>Deploy ${ant.project.name}</echo>
+ <mkdir dir="${deploy.dir}/${ant.project.name}" />
+ <jar basedir="${test.dir}/bpel"
destfile="${deploy.dir}/${ant.project.name}/${sample.jar.name}" />
+
+ <copy todir="${deploy.dir}/${ant.project.name}">
+ <fileset dir="${test.dir}/messages"/>
+ </copy>
+ </target>
+
+ <target name="undeploy">
+ <echo>Undeploy ${ant.project.name}</echo>
+ <delete file="${deploy.dir}/${sample.jar.name}" />
+ </target>
+</project>
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/goodbye_request1.xml
===================================================================
---
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/goodbye_request1.xml
(rev 0)
+++
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/goodbye_request1.xml 2010-10-05
14:56:46 UTC (rev 1017)
@@ -0,0 +1,11 @@
+<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsdl="http://www.jboss.org/bpel/examples/wsdl">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <wsdl:goodbye>
+ <ID>
+ <id>1</id>
+ </ID>
+ <Message>Goodbye</Message>
+ </wsdl:goodbye>
+ </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/goodbye_response1.xml
===================================================================
---
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/goodbye_response1.xml
(rev 0)
+++
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/goodbye_response1.xml 2010-10-05
14:56:46 UTC (rev 1017)
@@ -0,0 +1,3 @@
+<env:Envelope
xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:...
xmlns:odens='http://www.jboss.org/bpel/examples/wsdl'><ID>
+ <id>1</id>
+ </ID><Message>Goodbye
World</Message></odens:goodbyeResponse></env:Body></env:Envelope>
\ No newline at end of file
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/hello_request1.xml
===================================================================
---
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/hello_request1.xml
(rev 0)
+++
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/hello_request1.xml 2010-10-05
14:56:46 UTC (rev 1017)
@@ -0,0 +1,11 @@
+<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsdl="http://www.jboss.org/bpel/examples/wsdl">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <wsdl:hello>
+ <ID>
+ <id>1</id>
+ </ID>
+ <Message>Hello</Message>
+ </wsdl:hello>
+ </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file
Added:
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/hello_response1.xml
===================================================================
---
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/hello_response1.xml
(rev 0)
+++
branches/RiftSaw-2.1.x/integration-tests/src/test/resources/testcases/RiftSaw_296/messages/hello_response1.xml 2010-10-05
14:56:46 UTC (rev 1017)
@@ -0,0 +1,3 @@
+<env:Envelope
xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:...
xmlns:odens='http://www.jboss.org/bpel/examples/wsdl'><ID>
+ <id>1</id>
+ </ID><Message>Hello
World</Message></odens:helloResponse></env:Body></env:Envelope>
\ No newline at end of file
Modified: branches/RiftSaw-2.1.x/pom.xml
===================================================================
--- branches/RiftSaw-2.1.x/pom.xml 2010-10-05 13:38:58 UTC (rev 1016)
+++ branches/RiftSaw-2.1.x/pom.xml 2010-10-05 14:56:46 UTC (rev 1017)
@@ -72,7 +72,7 @@
</profiles>
<properties>
- <riftsaw.ode.version>2.1.3.Final</riftsaw.ode.version>
+ <riftsaw.ode.version>2.1.4-SNAPSHOT</riftsaw.ode.version>
<riftsaw.engine.version>2.1.2-SNAPSHOT</riftsaw.engine.version>
<bpel.console.version>2.1.2</bpel.console.version>
<commons.logging.version>1.1.1</commons.logging.version>
Modified:
branches/RiftSaw-ODE-2.1.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
===================================================================
---
branches/RiftSaw-ODE-2.1.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java 2010-10-05
13:38:58 UTC (rev 1016)
+++
branches/RiftSaw-ODE-2.1.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java 2010-10-05
14:56:46 UTC (rev 1017)
@@ -236,19 +236,25 @@
// closure to handle the route.
List<PartnerLinkMyRoleImpl.RoutingInfo> routings = null;
for (PartnerLinkMyRoleImpl target : targets) {
- routings = target.findRoute(mex);
- boolean createInstance = target.isCreateInstance(mex);
+
+ if (target.getMyRoleOperation(mex.getOperationName()) != null) {
+ routings = target.findRoute(mex);
+
+ if (routings != null) {
+ boolean createInstance = target.isCreateInstance(mex);
+
+ if (mex.getStatus() != MessageExchange.Status.FAILURE) {
+ for (PartnerLinkMyRoleImpl.RoutingInfo routing : routings) {
+ routed = routed || invokeHandler.invoke(target, routing,
createInstance);
+ }
+ }
+ if (routed) {
+ break;
+ }
+ }
+ }
+ }
- if (mex.getStatus() != MessageExchange.Status.FAILURE) {
- for (PartnerLinkMyRoleImpl.RoutingInfo routing : routings) {
- routed = routed || invokeHandler.invoke(target, routing,
createInstance);
- }
- }
- if (routed) {
- break;
- }
- }
-
// Nothing found, saving for later
if (!routed) {
// TODO this is kind of hackish when no match and more than one myrole is
selected.
@@ -313,21 +319,28 @@
markused();
PartnerLinkMyRoleImpl target = null;
+ PortType portType = null;
+ Operation operation = null;
for (Map.Entry<PartnerLinkMyRoleImpl,Endpoint> e :
getEndpointToMyRoleMap().entrySet()) {
if (e.getValue().serviceName.equals(mex.getServiceName())) {
// First one is fine as we're only interested in the portType and
operation here and
// even if a process has 2 myrole partner links
target = e.getKey();
- break;
+
+ if (target != null) {
+ portType = target._plinkDef.myRolePortType;
+ operation = target._plinkDef.getMyRoleOperation(mex.getOperationName());
+ if (operation != null) {
+ mex.setPortOp(portType, operation);
+ break;
+ }
+ }
}
}
if (target != null) {
- PortType portType = target._plinkDef.myRolePortType;
- Operation operation =
target._plinkDef.getMyRoleOperation(mex.getOperationName());
- if (operation == null) {
- throw new BpelEngineException("Operation[" + mex.getOperationName() +
"] could not be found on the portType [" + portType.getQName() +
"]");
- }
- mex.setPortOp(portType, operation);
+ if (operation == null) {
+ throw new BpelEngineException("Operation[" + mex.getOperationName()
+ "] could not be found on the portType [" + portType.getQName() +
"]");
+ }
} else {
__log.warn("Couldn't find endpoint from service " +
mex.getServiceName() + " when initializing a myRole mex.");
}
Modified:
branches/RiftSaw-ODE-2.1.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java
===================================================================
---
branches/RiftSaw-ODE-2.1.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java 2010-10-05
13:38:58 UTC (rev 1016)
+++
branches/RiftSaw-ODE-2.1.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerLinkMyRoleImpl.java 2010-10-05
14:56:46 UTC (rev 1017)
@@ -283,7 +283,7 @@
: MessageExchange.MessageExchangePattern.REQUEST_RESPONSE);
}
- private Operation getMyRoleOperation(String operationName) {
+ public Operation getMyRoleOperation(String operationName) {
return _plinkDef.getMyRoleOperation(operationName);
}