You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by rr...@apache.org on 2009/09/03 11:36:01 UTC

svn commit: r810845 - in /ode/branches/APACHE_ODE_1.X/jbi/src: main/java/org/apache/ode/jbi/ main/java/org/apache/ode/jbi/msgmap/ test/java/org/apache/ode/jbi/ test/resources/MagicSessionExternalJbiTest/ test/resources/MagicSessionJbiTest/

Author: rr
Date: Thu Sep  3 09:36:00 2009
New Revision: 810845

URL: http://svn.apache.org/viewvc?rev=810845&view=rev
Log:
Added SEP properties passing for ODE <-> NMR + test case + ServiceMixMapper messages recognition fix + EPR resolving fix for callbacks in JBI

Added:
    ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionExternalJbiTest.java   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionJbiTest.java   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.bpel
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.wsdl   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Responder.bpel
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/deploy.xml   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/smx.xml   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/test.properties   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/ws-addr.xsd   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.bpel
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.wsdl   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Responder.bpel
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/deploy.xml   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/smx.xml   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/test.properties   (with props)
    ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/ws-addr.xsd   (with props)
Modified:
    ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/EndpointReferenceContextImpl.java
    ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java
    ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/ServiceBridge.java
    ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java

Modified: ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/EndpointReferenceContextImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/EndpointReferenceContextImpl.java?rev=810845&r1=810844&r2=810845&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/EndpointReferenceContextImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/EndpointReferenceContextImpl.java Thu Sep  3 09:36:00 2009
@@ -70,16 +70,20 @@
 
     Document doc = DOMUtils.newDocument();
     DocumentFragment fragment = doc.createDocumentFragment();
-    NodeList children = epr.getChildNodes();
-    for (int i = 0 ; i < children.getLength(); ++i)
-      fragment.appendChild(doc.importNode(children.item(i), true));
+    Element e = DOMUtils.findChildByName(epr, JBI_EPR, true);
+    if (e != null) {
+        fragment.appendChild(doc.importNode(e, true));
+    }
+    
     ServiceEndpoint se = _ode.getContext().resolveEndpointReference(fragment);
+    if (__log.isDebugEnabled()) {
+        __log.debug("resolveEndpointReference2 jbiepr:" + DOMUtils.domToString(fragment) + " se:" + se);
+    }
     if (se == null)
       return null;
     return new JbiEndpointReference(se);
   }
 
-
   public EndpointReference convertEndpoint(QName eprType, Element epr) {
       Document doc = DOMUtils.newDocument();
       DocumentFragment fragment = doc.createDocumentFragment();

Modified: ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java?rev=810845&r1=810844&r2=810845&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java (original)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java Thu Sep  3 09:36:00 2009
@@ -85,6 +85,7 @@
             jbiMex.setEndpoint(se);
             jbiMex.setService(se.getServiceName());
             jbiMex.setOperation(opname);
+
         } catch (MessagingException e) {
             String errmsg = "Unable to create JBI message exchange for ODE message exchange " + odeMex;
             __log.error(errmsg, e);
@@ -100,6 +101,7 @@
                 NormalizedMessage nmsg = inonly.createMessage();
                 mapper.toNMS(nmsg, odeMex.getRequest(), odeMex.getOperation().getInput().getMessage(), null);
                 inonly.setInMessage(nmsg);
+                copyMexProperties(jbiMex, odeMex);
                 _ode._scheduler.registerSynchronizer(new Scheduler.Synchronizer() {
                     public void afterCompletion(boolean success) {
                         if (success) {
@@ -116,6 +118,7 @@
                 NormalizedMessage nmsg = inout.createMessage();
                 mapper.toNMS(nmsg, odeMex.getRequest(), odeMex.getOperation().getInput().getMessage(), null);
                 inout.setInMessage(nmsg);
+                copyMexProperties(jbiMex, odeMex);
                 _ode._scheduler.registerSynchronizer(new Scheduler.Synchronizer() {
                     public void afterCompletion(boolean success) {
                         if (success) {

Modified: ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/ServiceBridge.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/ServiceBridge.java?rev=810845&r1=810844&r2=810845&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/ServiceBridge.java (original)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/ServiceBridge.java Thu Sep  3 09:36:00 2009
@@ -20,9 +20,13 @@
 
 import java.util.Set;
 
+import javax.jbi.messaging.NormalizedMessage;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.ode.bpel.iapi.MessageExchange;
 import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
+import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
 
 /**
  * Base-class for classes providing JBI-ODE translation services. 
@@ -40,14 +44,19 @@
      * @param jbiMex destination JBI message-exchange
      * @param odeMex source ODE message-exchange
      */
-    protected void copyMexProperties(javax.jbi.messaging.MessageExchange jbiMex, MyRoleMessageExchange odeMex) {
+    protected void copyMexProperties(javax.jbi.messaging.MessageExchange jbiMex, PartnerRoleMessageExchange odeMex) {
+        __log.debug(odeMex + ": pmex copyProperties");
+        NormalizedMessage in = jbiMex.getMessage("in");
         for (String propName : odeMex.getPropertyNames()) {
             String val = odeMex.getProperty(propName);
             if (val != null) {
-                jbiMex.setProperty(propName, val);
-                __log.debug(jbiMex + ": set property " + propName + " = " + val);
+                in.setProperty(propName, val);
+                __log.debug(jbiMex + ": set pmex property " + propName + " = " + val);
             }
         }
+
+        in.setProperty(MessageExchange.PROPERTY_SEP_MYROLE_SESSIONID, odeMex.getProperty(MessageExchange.PROPERTY_SEP_PARTNERROLE_SESSIONID));
+        in.setProperty(MessageExchange.PROPERTY_SEP_PARTNERROLE_SESSIONID, odeMex.getProperty(MessageExchange.PROPERTY_SEP_MYROLE_SESSIONID));
     }
     
     /**
@@ -58,21 +67,22 @@
      */
     @SuppressWarnings("unchecked")
     protected void copyMexProperties(MyRoleMessageExchange odeMex, javax.jbi.messaging.MessageExchange jbiMex) {
-        for (String propName : (Set<String>) jbiMex.getPropertyNames()) {
-            if (propName.startsWith("org.apache.ode")) {
+        __log.debug(odeMex + ": mmex copyProperties");
+        NormalizedMessage in = jbiMex.getMessage("in");
+        for (String propName : (Set<String>) in.getPropertyNames()) {
+            Object val = in.getProperty(propName);
+            if (propName.startsWith("org.apache.ode") ) {
                 // Handle ODE-specific properties
-                Object val = jbiMex.getProperty(propName);
                 if (val != null) {
                     String sval = val.toString();
                     odeMex.setProperty(propName, sval);
-                    __log.debug(odeMex + ": set property " + propName + " = " + sval);
+                    __log.debug(odeMex + ": set mmex property " + propName + " = " + sval);
                 }
             } else {
                 // Non ODE-specific properties,
                 // TODO: Should we copy these?
+                __log.debug(odeMex + ": other mmex property " + propName + " = " + val);
             }
         }
     }
-
-
 }

Modified: ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java?rev=810845&r1=810844&r2=810845&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java (original)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java Thu Sep  3 09:36:00 2009
@@ -78,36 +78,39 @@
             return Recognized.UNSURE;
         }
 
-        for (String pname : ((Set<String>) op.getInput().getMessage().getParts().keySet())) {
-            Part part = op.getInput().getMessage().getPart(pname);
-            Element pdata = null;
-            // servicemix-http has a (bad) habit of placing the SOAP body content directly in the normalized message
+        // servicemix-http has a (bad) habit of placing the SOAP body content directly in the normalized message.
+        // We need to recognize it
+    	__log.debug("Recognizing document content");
+        if (op.getInput().getMessage().getParts().size() == 1) {
+            Part part = (Part) op.getInput().getMessage().getParts().values().iterator().next();
             QName elementName = part.getElementName();
             if (elementName != null && elementName.getLocalPart().equals(msg.getLocalName())
                     && elementName.getNamespaceURI().equals(msg.getNamespaceURI())) {
-                pdata = msg;
-            }
-            if (pdata == null) {
-                // with RPC semantic the body is wrapped by a partName which is same as bodyElementName
-                pdata = DOMUtils.findChildByName(msg, new QName(null, part.getName()));
+            	__log.debug("Recognized");
+                return Recognized.TRUE;
             }
+        }
+
+        // Recognize RPC style message
+    	__log.debug("Recognizing RPC style content");
+        for (String pname : ((Set<String>) op.getInput().getMessage().getParts().keySet())) {
+            Part part = op.getInput().getMessage().getPart(pname);
+            
+            if (part.getElementName() != null) {
+                //RPC style invocation doesn't allow element parts, so we don't accept it
+            	__log.debug("Part " + part.getName() + " has element content " + part.getElementName() + ". It's not allowed for RPC style.");
+            	return Recognized.FALSE;
+            }
+            
+            // with RPC semantic the body is wrapped by a partName which is same as bodyElementName
+            Element pdata = DOMUtils.findChildByName(msg, new QName(null, part.getName()));
             if (pdata == null) {
                 __log.debug("no part data for " + part.getName() + " -- unrecognized.");
                 return Recognized.FALSE;
             }
-            if (part.getElementName() != null) {
-                Element child = DOMUtils.getFirstChildElement(pdata);
-                if (child == null) {
-                    __log.debug("element part " + part.getName() + " does not contain element " + part.getElementName()
-                            + " -- unrecognized");
-                    return Recognized.FALSE;
-                }
-
-            }
         }
 
         return Recognized.TRUE;
-
     }
 
     public void toNMS(NormalizedMessage nmsMsg, Message odeMsg, javax.wsdl.Message msgdef, QName fault) throws MessagingException,

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionExternalJbiTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionExternalJbiTest.java?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionExternalJbiTest.java (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionExternalJbiTest.java Thu Sep  3 09:36:00 2009
@@ -0,0 +1,7 @@
+package org.apache.ode.jbi;
+
+public class MagicSessionExternalJbiTest extends JbiTestBase {
+    public void testMagicSessionExternal() throws Exception {
+        go();
+    }
+}

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionExternalJbiTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionJbiTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionJbiTest.java?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionJbiTest.java (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionJbiTest.java Thu Sep  3 09:36:00 2009
@@ -0,0 +1,7 @@
+package org.apache.ode.jbi;
+
+public class MagicSessionJbiTest extends JbiTestBase {
+    public void testMagicSession() throws Exception {
+        go();
+    }
+}

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/java/org/apache/ode/jbi/MagicSessionJbiTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.bpel
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.bpel?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.bpel (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.bpel Thu Sep  3 09:36:00 2009
@@ -0,0 +1,111 @@
+<?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.
+  -->
+
+<process name="MagicSessionMain"
+         targetNamespace="http://ode/bpel/unit-test"
+         xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+         xmlns:tns="http://ode/bpel/unit-test"
+         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+         xmlns:test="http://ode/bpel/unit-test.wsdl">
+
+  <import location="Main.wsdl" namespace="http://ode/bpel/unit-test.wsdl"
+     importType="http://schemas.xmlsoap.org/wsdl/" />
+
+  <partnerLinks>
+    <partnerLink name="responderPartnerLink" partnerLinkType="test:ResponderPartnerLinkType"
+                 myRole="main" partnerRole="responder" initializePartnerRole="yes"/>
+    <partnerLink name="executePartnerLink" partnerLinkType="test:ExecutePartnerLinkType"
+                 myRole="executor"/>
+  </partnerLinks>
+
+  <variables>
+    <variable name="dummy" messageType="test:ExecuteMessage"/>
+    <variable name="dummy2" messageType="test:InitiateMessage"/>
+    <variable name="dummy3" messageType="test:CallbackMessage"/>
+    <variable name="dummy4" messageType="test:DoubleCallMessage"/>
+    <variable name="dummy5" messageType="test:DoubleCallbackMessage"/>
+    <variable name="eprmessage" messageType="test:TripleCallMessage"/>
+    <variable name="myepr" messageType="test:TripleCallbackMessage"/>
+    <variable name="result" messageType="test:ResultMessage"/>
+  </variables>
+
+  <sequence>
+    <!-- Start message -->
+    <receive name="start" partnerLink="executePartnerLink"
+             portType="test:MSExecutePortType" operation="execute" createInstance="yes" variable="dummy"/>
+
+    <!-- Initializing message, starting the responder process with the magic session
+         and expecting a callback -->
+    <assign>
+      <copy>
+        <from partnerLink="responderPartnerLink" endpointReference="myRole"/>
+        <to variable="dummy2" part="reply-to"/>
+      </copy>
+      <copy>
+        <from>123</from>
+        <to variable="dummy2" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="initiate" partnerLink="responderPartnerLink" portType="test:MSResponderPortType"
+            operation="initiate" inputVariable="dummy2"/>
+
+    <receive name="callback" partnerLink="responderPartnerLink"
+             portType="test:MSMainPortType" operation="callback" variable="dummy3"/>
+
+    <!-- Initializing message, calling our partner again with magic session (double invocation) -->
+    <assign>
+      <copy>
+        <from>123</from>
+        <to variable="dummy4" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="get-endpoint" partnerLink="responderPartnerLink" portType="test:MSResponderPortType"
+            operation="doubleCall" inputVariable="dummy4"/>
+
+    <receive name="doubleCallback" partnerLink="responderPartnerLink"
+             portType="test:MSMainPortType" operation="doubleCallback" variable="dummy5"/>
+
+    <!-- Sending our endpoint explicitly to have our partner calling us back using it
+         (demonstrating assignment) -->
+    <assign>
+      <copy>
+        <from partnerLink="responderPartnerLink" endpointReference="myRole"/>
+        <to variable="eprmessage" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="eprPassing" partnerLink="responderPartnerLink" portType="test:MSResponderPortType"
+            operation="EndpointReference" inputVariable="eprmessage"/>
+
+    <receive name="tripleCallback" partnerLink="responderPartnerLink"
+             portType="test:MSMainPortType" operation="tripleCallback" variable="myepr"/>
+
+    <!-- Done. -->
+    <assign>
+      <copy>
+        <from>'OK'</from>
+        <to variable="result" part="ack"/>
+      </copy>
+    </assign>
+    <reply name="end" partnerLink="executePartnerLink"
+           portType="test:MSExecutePortType" operation="execute" variable="result"/>
+
+  </sequence>
+</process>

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.wsdl
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.wsdl?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.wsdl (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.wsdl Thu Sep  3 09:36:00 2009
@@ -0,0 +1,185 @@
+<?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://ode/bpel/unit-test.wsdl"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:tns="http://ode/bpel/unit-test.wsdl"
+        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+        xmlns:wsa="http://www.w3.org/2005/08/addressing"
+        xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype">
+
+    <wsdl:types>
+        <xsd:schema>
+            <xsd:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="ws-addr.xsd"/>
+        </xsd:schema>
+    </wsdl:types>
+
+    <wsdl:message name="ExecuteMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="CallbackMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="DoubleCallbackMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="TripleCallbackMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="ResultMessage">
+        <wsdl:part name="ack" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="InitiateMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+        <wsdl:part name="reply-to" type="wsa:EndpointReferenceType"/>
+    </wsdl:message>
+
+    <wsdl:message name="DoubleCallMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="TripleCallMessage">
+        <wsdl:part name="payload" type="wsa:EndpointReferenceType"/>
+    </wsdl:message>
+
+    <wsdl:portType name="MSExecutePortType">
+        <wsdl:operation name="execute">
+            <wsdl:input message="tns:ExecuteMessage" name="Execute"/>
+            <wsdl:output message="tns:ResultMessage" name="Result"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:portType name="MSMainPortType">
+        <wsdl:operation name="callback">
+            <wsdl:input message="tns:CallbackMessage" name="Callback"/>
+        </wsdl:operation>
+        <wsdl:operation name="doubleCallback">
+            <wsdl:input message="tns:DoubleCallbackMessage" name="DoubleCallback"/>
+        </wsdl:operation>
+        <wsdl:operation name="tripleCallback">
+            <wsdl:input message="tns:TripleCallbackMessage" name="TripleCallback"/>
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:portType name="MSResponderPortType">
+        <wsdl:operation name="initiate">
+            <wsdl:input message="tns:InitiateMessage" name="Callback"/>
+        </wsdl:operation>
+        <wsdl:operation name="doubleCall">
+            <wsdl:input message="tns:DoubleCallMessage" name="DoubleCallback"/>
+        </wsdl:operation>
+        <wsdl:operation name="EndpointReference">
+            <wsdl:input message="tns:TripleCallMessage" name="EndpointReference"/>
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:binding name="MSExecuteBinding" type="tns:MSExecutePortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="execute">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="MSMainBinding" type="tns:MSMainPortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="callback">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="doubleCallback">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="tripleCallback">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+    </wsdl:binding>
+
+    <wsdl:binding name="MSResponderBinding" type="tns:MSResponderPortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="initiate">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="doubleCall">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="EndpointReference">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+    </wsdl:binding>
+
+    <!-- This service should be used to start the example. -->
+    <wsdl:service name="MSMainExecuteService">
+        <wsdl:port name="MSExecutePort" binding="tns:MSExecuteBinding">
+            <soap:address location="http://localhost:8080/ode/processes/MSMainExecuteService"/>
+        </wsdl:port>
+    </wsdl:service>
+
+    <!-- This service is internal, only used by the responder. -->
+    <wsdl:service name="MSMainService">
+        <wsdl:port name="MSMainPort" binding="tns:MSMainBinding">
+            <soap:address location="http://localhost:8080/ode/processes/MSMainService"/>
+        </wsdl:port>
+    </wsdl:service>
+
+    <!-- Service responding to the main service requests. -->
+    <wsdl:service name="MSResponderService">
+        <wsdl:port name="MSResponderPort" binding="tns:MSResponderBinding">
+            <soap:address location="http://localhost:8080/ode/processes/MSResponderService"/>
+        </wsdl:port>
+    </wsdl:service>
+
+    <plnk:partnerLinkType name="ResponderPartnerLinkType">
+        <plnk:role name="responder" portType="tns:MSResponderPortType"/>
+        <plnk:role name="main" portType="tns:MSMainPortType"/>
+    </plnk:partnerLinkType>
+
+    <plnk:partnerLinkType name="ExecutePartnerLinkType">
+        <plnk:role name="executor" portType="tns:MSExecutePortType"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Main.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Responder.bpel
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Responder.bpel?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Responder.bpel (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/Responder.bpel Thu Sep  3 09:36:00 2009
@@ -0,0 +1,92 @@
+<?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.
+  -->
+
+<process name="MagicSessionResponder"
+         targetNamespace="http://ode/bpel/responder"
+         xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+         xmlns:tns="http://ode/bpel/responder"
+         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+         xmlns:resp="http://ode/bpel/unit-test.wsdl">
+
+  <import location="Main.wsdl" namespace="http://ode/bpel/unit-test.wsdl"
+     importType="http://schemas.xmlsoap.org/wsdl/" />
+
+  <partnerLinks>
+    <partnerLink name="mainPartnerLink" partnerLinkType="resp:ResponderPartnerLinkType"
+                 myRole="responder" partnerRole="main" initializePartnerRole="no"/>
+  </partnerLinks>
+
+  <variables>
+    <variable name="dummy2" messageType="resp:InitiateMessage"/>
+    <variable name="dummy3" messageType="resp:CallbackMessage"/>
+    <variable name="dummy4" messageType="resp:DoubleCallMessage"/>
+    <variable name="dummy5" messageType="resp:DoubleCallbackMessage"/>
+    <variable name="eprmessage" messageType="resp:TripleCallMessage"/>
+    <variable name="dummy6" messageType="resp:TripleCallbackMessage"/>
+  </variables>
+
+  <sequence>
+    <!-- Starting process and first callback -->
+    <receive name="start" partnerLink="mainPartnerLink" variable="dummy2"
+             portType="resp:MSResponderPortType" operation="initiate" createInstance="yes"/>
+    <assign>
+      <copy>
+        <from variable="dummy2" part="reply-to"/>
+        <to partnerLink="mainPartnerLink"/>
+      </copy>
+      <copy>
+        <from>123</from>
+        <to variable="dummy3" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="callback" partnerLink="mainPartnerLink"
+           portType="resp:MSMainPortType" operation="callback" inputVariable="dummy3"/>
+
+    <!-- Second callback -->
+    <receive name="doubleCall" partnerLink="mainPartnerLink" variable="dummy4"
+             portType="resp:MSResponderPortType" operation="doubleCall"/>
+    <assign>
+      <copy>
+        <from>123</from>
+        <to variable="dummy5" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="doubleCallback" partnerLink="mainPartnerLink"
+           portType="resp:MSMainPortType" operation="doubleCallback" inputVariable="dummy5"/>
+
+    <!-- Callback on the epr explicitly provided by partner in the message
+         (demonstrating assignment) -->
+    <receive name="eprPassing" partnerLink="mainPartnerLink" variable="eprmessage"
+             portType="resp:MSResponderPortType" operation="EndpointReference"/>
+    <assign>
+      <copy>
+        <from variable="eprmessage" part="payload"/>
+        <to partnerLink="mainPartnerLink"/>
+      </copy>
+      <copy>
+        <from>123</from>
+        <to variable="dummy6" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="tripleCallback" partnerLink="mainPartnerLink"
+           portType="resp:MSMainPortType" operation="tripleCallback" inputVariable="dummy6"/>
+
+  </sequence>
+</process>

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/deploy.xml
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/deploy.xml?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/deploy.xml (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/deploy.xml Thu Sep  3 09:36:00 2009
@@ -0,0 +1,41 @@
+<!--
+  ~ 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:main="http://ode/bpel/unit-test" 
+	xmlns:mws="http://ode/bpel/unit-test.wsdl"
+	xmlns:resp="http://ode/bpel/responder">
+
+	<process name="main:MagicSessionMain">
+		<provide partnerLink="executePartnerLink">
+			<service name="mws:MSMainExecuteService" port="MSExecutePort"/>
+		</provide>
+		<provide partnerLink="responderPartnerLink">
+			<service name="mws:MSMainService" port="MSMainPort"/>
+		</provide>
+		<invoke partnerLink="responderPartnerLink">
+			<service name="mws:MSResponderService2" port="MSResponderPort"/>
+		</invoke>
+	</process>
+	<process name="resp:MagicSessionResponder">
+                <type>resp:MagicSessionResponder</type>
+		<provide partnerLink="mainPartnerLink">
+			<service name="mws:MSResponderService" port="MSResponderPort"/>
+		</provide>
+	</process>
+</deploy>

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/deploy.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/smx.xml
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/smx.xml?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/smx.xml (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/smx.xml Thu Sep  3 09:36:00 2009
@@ -0,0 +1,120 @@
+<?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.
+
+-->
+<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
+       xmlns:http="http://servicemix.apache.org/http/1.0"
+       xmlns:eip="http://servicemix.apache.org/eip/1.0"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xmlns:jencks="http://jencks.org/2.0"
+       xmlns:mws="http://ode/bpel/unit-test.wsdl"
+       >
+
+    <bean id="transactionManager" class="org.apache.geronimo.transaction.manager.GeronimoTransactionManager"/>
+
+  <jencks:connectionTracker id="connectionTracker" geronimoTransactionManager="#transactionManager" />
+    
+  <jencks:workManager
+            id="workManager"
+            threadPoolSize="200"
+            transactionManager="#transactionManager" />
+  
+  <jencks:bootstrapContext
+            id="bootstrapContext"
+            workManager="#workManager"
+            transactionManager="#transactionManager" />
+  
+  <jencks:poolingSupport 
+            id="poolingSupport" 
+            connectionMaxIdleMinutes="5"
+            poolMaxSize="20"
+            />
+  
+  <jencks:connectionManager
+            id="connectionManager"
+            containerManagedSecurity="false"
+            transaction="xa"
+            transactionManager="#transactionManager"
+            poolingSupport="#poolingSupport"
+            connectionTracker="#connectionTracker" 
+            />
+
+    <bean id="localDerbyMCF" class="org.tranql.connector.derby.EmbeddedXAMCF">
+        <property name="databaseName" value="target/test/testdb"/>
+        <property name="createDatabase" value="true"/>
+        <property name="userName" value = "sa"/>
+        <property name="password" value = ""/>
+    </bean>
+    <bean id="localDerbyDataSource" class="org.springframework.jca.support.LocalConnectionFactoryBean">
+        <property name="managedConnectionFactory" ref="localDerbyMCF"/>
+        <property name="connectionManager" ref="connectionManager"/>
+    </bean>
+    
+    <bean id="jndi"
+          class="org.apache.xbean.spring.jndi.SpringInitialContextFactory" 
+          factory-method="makeInitialContext"
+          singleton="true"
+          depends-on="bootstrapContext"
+          >
+      <property name="entries" ref="jndiEntries" />
+    </bean>
+
+    <util:map id="jndiEntries">
+        <entry key="testds" value-ref="localDerbyDataSource"/>
+    </util:map>
+    
+
+
+    <sm:container 
+        id="jbi" 
+        embedded="true" 
+        rootDir="target/test/smx"
+        transactionManager="#transactionManager"
+        depends-on="jndi"
+        >
+        <sm:activationSpecs>
+            <sm:activationSpec id="ms-eip">
+                <sm:component>
+                    <eip:component>
+                        <eip:endpoints>
+                            <eip:content-based-router service="mws:MSMainService2" endpoint="MSMainPort" forwardOperation="true">
+                                <eip:rules>
+                                  <eip:routing-rule>
+                                    <eip:target>
+                                      <eip:exchange-target service="mws:MSMainService"/>
+                                    </eip:target>
+                                  </eip:routing-rule>
+                                </eip:rules>
+                            </eip:content-based-router>
+
+                            <eip:content-based-router service="mws:MSResponderService2" endpoint="MSResponderPort" forwardOperation="true">
+                                <eip:rules>
+                                  <eip:routing-rule>
+                                    <eip:target>
+                                      <eip:exchange-target service="mws:MSResponderService"/>
+                                    </eip:target>
+                                  </eip:routing-rule>
+                                </eip:rules>
+                            </eip:content-based-router>
+                        </eip:endpoints>
+                    </eip:component>
+                </sm:component>
+            </sm:activationSpec>
+        </sm:activationSpecs>
+    </sm:container>
+</beans>

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/smx.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/test.properties
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/test.properties?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/test.properties (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/test.properties Thu Sep  3 09:36:00 2009
@@ -0,0 +1,22 @@
+#
+#    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.
+#
+
+nmr.service={http://ode/bpel/unit-test.wsdl}MSMainExecuteService
+nmr.operation=execute
+request=<msg><payload>fire!</payload></msg>
+response=.*OK.*
+

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/test.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/ws-addr.xsd
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/ws-addr.xsd?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/ws-addr.xsd (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/ws-addr.xsd Thu Sep  3 09:36:00 2009
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    W3C XML Schema defined in the Web Services Addressing 1.0 specification
+    http://www.w3.org/TR/ws-addr-core
+
+   Copyright © 2005 World Wide Web Consortium,
+
+   (Massachusetts Institute of Technology, European Research Consortium for
+   Informatics and Mathematics, Keio University). All Rights Reserved. This
+   work is distributed under the W3C® Software License [1] 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.
+
+   [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+   $Id: ws-addr.xsd,v 1.2 2008/07/23 13:38:16 plehegar Exp $
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2005/08/addressing" targetNamespace="http://www.w3.org/2005/08/addressing" blockDefault="#all" elementFormDefault="qualified" finalDefault="" attributeFormDefault="unqualified">
+	
+	<!-- Constructs from the WS-Addressing Core -->
+
+	<xs:element name="EndpointReference" type="tns:EndpointReferenceType"/>
+	<xs:complexType name="EndpointReferenceType" mixed="false">
+		<xs:sequence>
+			<xs:element name="Address" type="tns:AttributedURIType"/>
+			<xs:element ref="tns:ReferenceParameters" minOccurs="0"/>
+			<xs:element ref="tns:Metadata" minOccurs="0"/>
+			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+	<xs:element name="ReferenceParameters" type="tns:ReferenceParametersType"/>
+	<xs:complexType name="ReferenceParametersType" mixed="false">
+		<xs:sequence>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+	<xs:element name="Metadata" type="tns:MetadataType"/>
+	<xs:complexType name="MetadataType" mixed="false">
+		<xs:sequence>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+	<xs:element name="MessageID" type="tns:AttributedURIType"/>
+	<xs:element name="RelatesTo" type="tns:RelatesToType"/>
+	<xs:complexType name="RelatesToType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:anyURI">
+				<xs:attribute name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" default="http://www.w3.org/2005/08/addressing/reply"/>
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<xs:simpleType name="RelationshipTypeOpenEnum">
+		<xs:union memberTypes="tns:RelationshipType xs:anyURI"/>
+	</xs:simpleType>
+	
+	<xs:simpleType name="RelationshipType">
+		<xs:restriction base="xs:anyURI">
+			<xs:enumeration value="http://www.w3.org/2005/08/addressing/reply"/>
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:element name="ReplyTo" type="tns:EndpointReferenceType"/>
+	<xs:element name="From" type="tns:EndpointReferenceType"/>
+	<xs:element name="FaultTo" type="tns:EndpointReferenceType"/>
+	<xs:element name="To" type="tns:AttributedURIType"/>
+	<xs:element name="Action" type="tns:AttributedURIType"/>
+
+	<xs:complexType name="AttributedURIType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:anyURI">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<!-- Constructs from the WS-Addressing SOAP binding -->
+
+	<xs:attribute name="IsReferenceParameter" type="xs:boolean"/>
+	
+	<xs:simpleType name="FaultCodesOpenEnumType">
+		<xs:union memberTypes="tns:FaultCodesType xs:QName"/>
+	</xs:simpleType>
+	
+	<xs:simpleType name="FaultCodesType">
+		<xs:restriction base="xs:QName">
+			<xs:enumeration value="tns:InvalidAddressingHeader"/>
+			<xs:enumeration value="tns:InvalidAddress"/>
+			<xs:enumeration value="tns:InvalidEPR"/>
+			<xs:enumeration value="tns:InvalidCardinality"/>
+			<xs:enumeration value="tns:MissingAddressInEPR"/>
+			<xs:enumeration value="tns:DuplicateMessageID"/>
+			<xs:enumeration value="tns:ActionMismatch"/>
+			<xs:enumeration value="tns:MessageAddressingHeaderRequired"/>
+			<xs:enumeration value="tns:DestinationUnreachable"/>
+			<xs:enumeration value="tns:ActionNotSupported"/>
+			<xs:enumeration value="tns:EndpointUnavailable"/>
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType"/>
+	<xs:complexType name="AttributedUnsignedLongType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:unsignedLong">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/>
+	<xs:complexType name="AttributedQNameType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:QName">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<xs:element name="ProblemIRI" type="tns:AttributedURIType"/>
+	
+	<xs:element name="ProblemAction" type="tns:ProblemActionType"/>
+	<xs:complexType name="ProblemActionType" mixed="false">
+		<xs:sequence>
+			<xs:element ref="tns:Action" minOccurs="0"/>
+			<xs:element name="SoapAction" minOccurs="0" type="xs:anyURI"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+</xs:schema>
\ No newline at end of file

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionExternalJbiTest/ws-addr.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.bpel
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.bpel?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.bpel (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.bpel Thu Sep  3 09:36:00 2009
@@ -0,0 +1,107 @@
+<?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.
+  -->
+
+<process name="MagicSessionMain"
+         targetNamespace="http://ode/bpel/unit-test"
+         xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+         xmlns:tns="http://ode/bpel/unit-test"
+         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+         xmlns:test="http://ode/bpel/unit-test.wsdl">
+
+  <import location="Main.wsdl" namespace="http://ode/bpel/unit-test.wsdl"
+     importType="http://schemas.xmlsoap.org/wsdl/" />
+
+  <partnerLinks>
+    <partnerLink name="responderPartnerLink" partnerLinkType="test:ResponderPartnerLinkType"
+                 myRole="main" partnerRole="responder" initializePartnerRole="yes"/>
+    <partnerLink name="executePartnerLink" partnerLinkType="test:ExecutePartnerLinkType"
+                 myRole="executor"/>
+  </partnerLinks>
+
+  <variables>
+    <variable name="dummy" messageType="test:ExecuteMessage"/>
+    <variable name="dummy2" messageType="test:InitiateMessage"/>
+    <variable name="dummy3" messageType="test:CallbackMessage"/>
+    <variable name="dummy4" messageType="test:DoubleCallMessage"/>
+    <variable name="dummy5" messageType="test:DoubleCallbackMessage"/>
+    <variable name="eprmessage" messageType="test:TripleCallMessage"/>
+    <variable name="myepr" messageType="test:TripleCallbackMessage"/>
+    <variable name="result" messageType="test:ResultMessage"/>
+  </variables>
+
+  <sequence>
+    <!-- Start message -->
+    <receive name="start" partnerLink="executePartnerLink"
+             portType="test:MSExecutePortType" operation="execute" createInstance="yes" variable="dummy"/>
+
+    <!-- Initializing message, starting the responder process with the magic session
+         and expecting a callback -->
+    <assign>
+      <copy>
+        <from>123</from>
+        <to variable="dummy2" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="initiate" partnerLink="responderPartnerLink" portType="test:MSResponderPortType"
+            operation="initiate" inputVariable="dummy2"/>
+
+    <receive name="callback" partnerLink="responderPartnerLink"
+             portType="test:MSMainPortType" operation="callback" variable="dummy3"/>
+
+    <!-- Initializing message, calling our partner again with magic session (double invocation) -->
+    <assign>
+      <copy>
+        <from>123</from>
+        <to variable="dummy4" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="get-endpoint" partnerLink="responderPartnerLink" portType="test:MSResponderPortType"
+            operation="doubleCall" inputVariable="dummy4"/>
+
+    <receive name="doubleCallback" partnerLink="responderPartnerLink"
+             portType="test:MSMainPortType" operation="doubleCallback" variable="dummy5"/>
+
+    <!-- Sending our endpoint explicitly to have our partner calling us back using it
+         (demonstrating assignment) -->
+    <assign>
+      <copy>
+        <from partnerLink="responderPartnerLink" endpointReference="myRole"/>
+        <to variable="eprmessage" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="eprPassing" partnerLink="responderPartnerLink" portType="test:MSResponderPortType"
+            operation="EndpointReference" inputVariable="eprmessage"/>
+
+    <receive name="tripleCallback" partnerLink="responderPartnerLink"
+             portType="test:MSMainPortType" operation="tripleCallback" variable="myepr"/>
+
+    <!-- Done. -->
+    <assign>
+      <copy>
+        <from>'OK'</from>
+        <to variable="result" part="ack"/>
+      </copy>
+    </assign>
+    <reply name="end" partnerLink="executePartnerLink"
+           portType="test:MSExecutePortType" operation="execute" variable="result"/>
+
+  </sequence>
+</process>
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.wsdl
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.wsdl?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.wsdl (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.wsdl Thu Sep  3 09:36:00 2009
@@ -0,0 +1,185 @@
+<?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://ode/bpel/unit-test.wsdl"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:tns="http://ode/bpel/unit-test.wsdl"
+        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+        xmlns:wsa="http://www.w3.org/2005/08/addressing"
+        xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype">
+
+    <wsdl:types>
+        <xsd:schema>
+            <xsd:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="ws-addr.xsd"/>
+        </xsd:schema>
+    </wsdl:types>
+
+    <wsdl:message name="ExecuteMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="CallbackMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="DoubleCallbackMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="TripleCallbackMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="ResultMessage">
+        <wsdl:part name="ack" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="InitiateMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+        <wsdl:part name="reply-to" type="wsa:EndpointReferenceType"/>
+    </wsdl:message>
+
+    <wsdl:message name="DoubleCallMessage">
+        <wsdl:part name="payload" type="xsd:string"/>
+    </wsdl:message>
+
+    <wsdl:message name="TripleCallMessage">
+        <wsdl:part name="payload" type="wsa:EndpointReferenceType"/>
+    </wsdl:message>
+
+    <wsdl:portType name="MSExecutePortType">
+        <wsdl:operation name="execute">
+            <wsdl:input message="tns:ExecuteMessage" name="Execute"/>
+            <wsdl:output message="tns:ResultMessage" name="Result"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:portType name="MSMainPortType">
+        <wsdl:operation name="callback">
+            <wsdl:input message="tns:CallbackMessage" name="Callback"/>
+        </wsdl:operation>
+        <wsdl:operation name="doubleCallback">
+            <wsdl:input message="tns:DoubleCallbackMessage" name="DoubleCallback"/>
+        </wsdl:operation>
+        <wsdl:operation name="tripleCallback">
+            <wsdl:input message="tns:TripleCallbackMessage" name="TripleCallback"/>
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:portType name="MSResponderPortType">
+        <wsdl:operation name="initiate">
+            <wsdl:input message="tns:InitiateMessage" name="Callback"/>
+        </wsdl:operation>
+        <wsdl:operation name="doubleCall">
+            <wsdl:input message="tns:DoubleCallMessage" name="DoubleCallback"/>
+        </wsdl:operation>
+        <wsdl:operation name="EndpointReference">
+            <wsdl:input message="tns:TripleCallMessage" name="EndpointReference"/>
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:binding name="MSExecuteBinding" type="tns:MSExecutePortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="execute">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="MSMainBinding" type="tns:MSMainPortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="callback">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="doubleCallback">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="tripleCallback">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+    </wsdl:binding>
+
+    <wsdl:binding name="MSResponderBinding" type="tns:MSResponderPortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="initiate">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="doubleCall">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+        <wsdl:operation name="EndpointReference">
+            <soap:operation soapAction="" style="rpc"/>
+            <wsdl:input>
+                <soap:body namespace="http://ode/bpel/unit-test.wsdl" use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+    </wsdl:binding>
+
+    <!-- This service should be used to start the example. -->
+    <wsdl:service name="MSMainExecuteService">
+        <wsdl:port name="MSExecutePort" binding="tns:MSExecuteBinding">
+            <soap:address location="http://localhost:8080/ode/processes/MSMainExecuteService"/>
+        </wsdl:port>
+    </wsdl:service>
+
+    <!-- This service is internal, only used by the responder. -->
+    <wsdl:service name="MSMainService">
+        <wsdl:port name="MSMainPort" binding="tns:MSMainBinding">
+            <soap:address location="http://localhost:8080/ode/processes/MSMainService"/>
+        </wsdl:port>
+    </wsdl:service>
+
+    <!-- Service responding to the main service requests. -->
+    <wsdl:service name="MSResponderService">
+        <wsdl:port name="MSResponderPort" binding="tns:MSResponderBinding">
+            <soap:address location="http://localhost:8080/ode/processes/MSResponderService"/>
+        </wsdl:port>
+    </wsdl:service>
+
+    <plnk:partnerLinkType name="ResponderPartnerLinkType">
+        <plnk:role name="responder" portType="tns:MSResponderPortType"/>
+        <plnk:role name="main" portType="tns:MSMainPortType"/>
+    </plnk:partnerLinkType>
+
+    <plnk:partnerLinkType name="ExecutePartnerLinkType">
+        <plnk:role name="executor" portType="tns:MSExecutePortType"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Main.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Responder.bpel
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Responder.bpel?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Responder.bpel (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/Responder.bpel Thu Sep  3 09:36:00 2009
@@ -0,0 +1,88 @@
+<?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.
+  -->
+
+<process name="MagicSessionResponder"
+         targetNamespace="http://ode/bpel/responder"
+         xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+         xmlns:tns="http://ode/bpel/responder"
+         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+         xmlns:resp="http://ode/bpel/unit-test.wsdl">
+
+  <import location="Main.wsdl" namespace="http://ode/bpel/unit-test.wsdl"
+     importType="http://schemas.xmlsoap.org/wsdl/" />
+
+  <partnerLinks>
+    <partnerLink name="mainPartnerLink" partnerLinkType="resp:ResponderPartnerLinkType"
+                 myRole="responder" partnerRole="main" initializePartnerRole="yes"/>
+  </partnerLinks>
+
+  <variables>
+    <variable name="dummy2" messageType="resp:InitiateMessage"/>
+    <variable name="dummy3" messageType="resp:CallbackMessage"/>
+    <variable name="dummy4" messageType="resp:DoubleCallMessage"/>
+    <variable name="dummy5" messageType="resp:DoubleCallbackMessage"/>
+    <variable name="eprmessage" messageType="resp:TripleCallMessage"/>
+    <variable name="dummy6" messageType="resp:TripleCallbackMessage"/>
+  </variables>
+
+  <sequence>
+    <!-- Starting process and first callback -->
+    <receive name="start" partnerLink="mainPartnerLink" variable="dummy2"
+             portType="resp:MSResponderPortType" operation="initiate" createInstance="yes"/>
+    <assign>
+      <copy>
+        <from>123</from>
+        <to variable="dummy3" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="callback" partnerLink="mainPartnerLink"
+           portType="resp:MSMainPortType" operation="callback" inputVariable="dummy3"/>
+
+    <!-- Second callback -->
+    <receive name="doubleCall" partnerLink="mainPartnerLink" variable="dummy4"
+             portType="resp:MSResponderPortType" operation="doubleCall"/>
+    <assign>
+      <copy>
+        <from>123</from>
+        <to variable="dummy5" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="doubleCallback" partnerLink="mainPartnerLink"
+           portType="resp:MSMainPortType" operation="doubleCallback" inputVariable="dummy5"/>
+
+    <!-- Callback on the epr explicitly provided by partner in the message
+         (demonstrating assignment) -->
+    <receive name="eprPassing" partnerLink="mainPartnerLink" variable="eprmessage"
+             portType="resp:MSResponderPortType" operation="EndpointReference"/>
+    <assign>
+      <copy>
+        <from variable="eprmessage" part="payload"/>
+        <to partnerLink="mainPartnerLink"/>
+      </copy>
+      <copy>
+        <from>123</from>
+        <to variable="dummy6" part="payload"/>
+      </copy>
+    </assign>
+    <invoke name="tripleCallback" partnerLink="mainPartnerLink"
+           portType="resp:MSMainPortType" operation="tripleCallback" inputVariable="dummy6"/>
+
+  </sequence>
+</process>
\ No newline at end of file

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/deploy.xml
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/deploy.xml?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/deploy.xml (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/deploy.xml Thu Sep  3 09:36:00 2009
@@ -0,0 +1,44 @@
+<!--
+  ~ 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:main="http://ode/bpel/unit-test" 
+	xmlns:mws="http://ode/bpel/unit-test.wsdl"
+	xmlns:resp="http://ode/bpel/responder">
+
+	<process name="main:MagicSessionMain">
+		<provide partnerLink="executePartnerLink">
+			<service name="mws:MSMainExecuteService" port="MSExecutePort"/>
+		</provide>
+		<provide partnerLink="responderPartnerLink">
+			<service name="mws:MSMainService" port="MSMainPort"/>
+		</provide>
+		<invoke partnerLink="responderPartnerLink">
+			<service name="mws:MSResponderService" port="MSResponderPort"/>
+		</invoke>
+	</process>
+	<process name="resp:MagicSessionResponder">
+                <type>resp:MagicSessionResponder</type>
+		<provide partnerLink="mainPartnerLink">
+			<service name="mws:MSResponderService" port="MSResponderPort"/>
+		</provide>
+		<invoke partnerLink="mainPartnerLink">
+			<service name="mws:MSMainService" port="MSMainPort"/>
+		</invoke>
+	</process>
+</deploy>

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/deploy.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/smx.xml
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/smx.xml?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/smx.xml (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/smx.xml Thu Sep  3 09:36:00 2009
@@ -0,0 +1,88 @@
+<?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.
+
+-->
+<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
+	   xmlns:http="http://servicemix.apache.org/http/1.0"
+	   xmlns:eip="http://servicemix.apache.org/eip/1.0"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xmlns:jencks="http://jencks.org/2.0"
+	   >
+
+	<bean id="transactionManager" class="org.apache.geronimo.transaction.manager.GeronimoTransactionManager"/>
+
+  <jencks:connectionTracker id="connectionTracker" geronimoTransactionManager="#transactionManager" />
+    
+  <jencks:workManager
+            id="workManager"
+            threadPoolSize="200"
+            transactionManager="#transactionManager" />
+  
+  <jencks:bootstrapContext
+            id="bootstrapContext"
+            workManager="#workManager"
+            transactionManager="#transactionManager" />
+  
+  <jencks:poolingSupport 
+            id="poolingSupport" 
+            connectionMaxIdleMinutes="5"
+            poolMaxSize="20"
+            />
+  
+  <jencks:connectionManager
+            id="connectionManager"
+            containerManagedSecurity="false"
+            transaction="xa"
+            transactionManager="#transactionManager"
+            poolingSupport="#poolingSupport"
+            connectionTracker="#connectionTracker" 
+            />
+
+    <bean id="localDerbyMCF" class="org.tranql.connector.derby.EmbeddedXAMCF">
+	    <property name="databaseName" value="target/test/testdb"/>
+	    <property name="createDatabase" value="true"/>
+		<property name="userName" value = "sa"/>
+        <property name="password" value = ""/>
+	</bean>
+	<bean id="localDerbyDataSource" class="org.springframework.jca.support.LocalConnectionFactoryBean">
+	    <property name="managedConnectionFactory" ref="localDerbyMCF"/>
+	    <property name="connectionManager" ref="connectionManager"/>
+	</bean>
+	
+	<bean id="jndi"
+	      class="org.apache.xbean.spring.jndi.SpringInitialContextFactory" 
+	      factory-method="makeInitialContext"
+	      singleton="true"
+	      depends-on="bootstrapContext"
+	      >
+	  <property name="entries" ref="jndiEntries" />
+	</bean>
+
+    <util:map id="jndiEntries">
+	    <entry key="testds" value-ref="localDerbyDataSource"/>
+	</util:map>
+	
+	<sm:container 
+		id="jbi" 
+		embedded="true" 
+		rootDir="target/test/smx"
+		transactionManager="#transactionManager"
+		depends-on="jndi"
+		>
+	</sm:container>
+</beans>

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/smx.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/test.properties
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/test.properties?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/test.properties (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/test.properties Thu Sep  3 09:36:00 2009
@@ -0,0 +1,22 @@
+#
+#    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.
+#
+
+nmr.service={http://ode/bpel/unit-test.wsdl}MSMainExecuteService
+nmr.operation=execute
+request=<msg><payload>fire!</payload></msg>
+response=.*OK.*
+

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/test.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/ws-addr.xsd
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/ws-addr.xsd?rev=810845&view=auto
==============================================================================
--- ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/ws-addr.xsd (added)
+++ ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/ws-addr.xsd Thu Sep  3 09:36:00 2009
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    W3C XML Schema defined in the Web Services Addressing 1.0 specification
+    http://www.w3.org/TR/ws-addr-core
+
+   Copyright © 2005 World Wide Web Consortium,
+
+   (Massachusetts Institute of Technology, European Research Consortium for
+   Informatics and Mathematics, Keio University). All Rights Reserved. This
+   work is distributed under the W3C® Software License [1] 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.
+
+   [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+   $Id: ws-addr.xsd,v 1.2 2008/07/23 13:38:16 plehegar Exp $
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2005/08/addressing" targetNamespace="http://www.w3.org/2005/08/addressing" blockDefault="#all" elementFormDefault="qualified" finalDefault="" attributeFormDefault="unqualified">
+	
+	<!-- Constructs from the WS-Addressing Core -->
+
+	<xs:element name="EndpointReference" type="tns:EndpointReferenceType"/>
+	<xs:complexType name="EndpointReferenceType" mixed="false">
+		<xs:sequence>
+			<xs:element name="Address" type="tns:AttributedURIType"/>
+			<xs:element ref="tns:ReferenceParameters" minOccurs="0"/>
+			<xs:element ref="tns:Metadata" minOccurs="0"/>
+			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+	<xs:element name="ReferenceParameters" type="tns:ReferenceParametersType"/>
+	<xs:complexType name="ReferenceParametersType" mixed="false">
+		<xs:sequence>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+	<xs:element name="Metadata" type="tns:MetadataType"/>
+	<xs:complexType name="MetadataType" mixed="false">
+		<xs:sequence>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+	<xs:element name="MessageID" type="tns:AttributedURIType"/>
+	<xs:element name="RelatesTo" type="tns:RelatesToType"/>
+	<xs:complexType name="RelatesToType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:anyURI">
+				<xs:attribute name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" default="http://www.w3.org/2005/08/addressing/reply"/>
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<xs:simpleType name="RelationshipTypeOpenEnum">
+		<xs:union memberTypes="tns:RelationshipType xs:anyURI"/>
+	</xs:simpleType>
+	
+	<xs:simpleType name="RelationshipType">
+		<xs:restriction base="xs:anyURI">
+			<xs:enumeration value="http://www.w3.org/2005/08/addressing/reply"/>
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:element name="ReplyTo" type="tns:EndpointReferenceType"/>
+	<xs:element name="From" type="tns:EndpointReferenceType"/>
+	<xs:element name="FaultTo" type="tns:EndpointReferenceType"/>
+	<xs:element name="To" type="tns:AttributedURIType"/>
+	<xs:element name="Action" type="tns:AttributedURIType"/>
+
+	<xs:complexType name="AttributedURIType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:anyURI">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<!-- Constructs from the WS-Addressing SOAP binding -->
+
+	<xs:attribute name="IsReferenceParameter" type="xs:boolean"/>
+	
+	<xs:simpleType name="FaultCodesOpenEnumType">
+		<xs:union memberTypes="tns:FaultCodesType xs:QName"/>
+	</xs:simpleType>
+	
+	<xs:simpleType name="FaultCodesType">
+		<xs:restriction base="xs:QName">
+			<xs:enumeration value="tns:InvalidAddressingHeader"/>
+			<xs:enumeration value="tns:InvalidAddress"/>
+			<xs:enumeration value="tns:InvalidEPR"/>
+			<xs:enumeration value="tns:InvalidCardinality"/>
+			<xs:enumeration value="tns:MissingAddressInEPR"/>
+			<xs:enumeration value="tns:DuplicateMessageID"/>
+			<xs:enumeration value="tns:ActionMismatch"/>
+			<xs:enumeration value="tns:MessageAddressingHeaderRequired"/>
+			<xs:enumeration value="tns:DestinationUnreachable"/>
+			<xs:enumeration value="tns:ActionNotSupported"/>
+			<xs:enumeration value="tns:EndpointUnavailable"/>
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType"/>
+	<xs:complexType name="AttributedUnsignedLongType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:unsignedLong">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/>
+	<xs:complexType name="AttributedQNameType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:QName">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<xs:element name="ProblemIRI" type="tns:AttributedURIType"/>
+	
+	<xs:element name="ProblemAction" type="tns:ProblemActionType"/>
+	<xs:complexType name="ProblemActionType" mixed="false">
+		<xs:sequence>
+			<xs:element ref="tns:Action" minOccurs="0"/>
+			<xs:element name="SoapAction" minOccurs="0" type="xs:anyURI"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+</xs:schema>
\ No newline at end of file

Propchange: ode/branches/APACHE_ODE_1.X/jbi/src/test/resources/MagicSessionJbiTest/ws-addr.xsd
------------------------------------------------------------------------------
    svn:eol-style = native