[jboss-svn-commits] JBL Code SVN: r18170 - in labs/jbosstm/workspace/adinn/XTSGF: WS-C/dev/src/com/arjuna/webservices11/wsaddr and 9 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jan 28 05:14:03 EST 2008


Author: adinn
Date: 2008-01-28 05:14:03 -0500 (Mon, 28 Jan 2008)
New Revision: 18170

Added:
   labs/jbosstm/workspace/adinn/XTSGF/WS-C/dev/src/com/arjuna/webservices11/wsaddr/
   labs/jbosstm/workspace/adinn/XTSGF/WS-C/dev/src/com/arjuna/webservices11/wsaddr/AddressingHelper.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/sei/
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/sei/TerminationCoordinatorPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/sei/TerminationParticipantPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/server/
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/server/TerminationCoordinatorInitialisation.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/server/TerminationParticipantInitialisation.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CompletionCoordinatorPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CompletionInitiatorPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CoordinatorPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/ParticipantPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CompletionCoordinatorInitialisation.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CompletionInitiatorInitialisation.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CoordinatorInitialisation.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/ParticipantInitialisation.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithCoordinatorCompletionCoordinatorPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithCoordinatorCompletionParticipantPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithParticipantCompletionCoordinatorPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithParticipantCompletionParticipantPortTypeImpl.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/CoordinatorCompletionCoordinatorInitialisation.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/CoordinatorCompletionParticipantInitialisation.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/ParticipantCompletionCoordinatorInitialisation.java
   labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/ParticipantCompletionParticipantInitialisation.java
Log:
adding directories omitted because of package renames

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-C/dev/src/com/arjuna/webservices11/wsaddr/AddressingHelper.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-C/dev/src/com/arjuna/webservices11/wsaddr/AddressingHelper.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-C/dev/src/com/arjuna/webservices11/wsaddr/AddressingHelper.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,175 @@
+package com.arjuna.webservices11.wsaddr;
+
+import com.arjuna.wsc11.messaging.MessageId;
+
+import javax.xml.ws.addressing.AddressingBuilder;
+import javax.xml.ws.addressing.AddressingProperties;
+import java.net.URISyntaxException;
+
+/**
+ * The complete addressing context.
+ * @author kevin
+ */
+public class AddressingHelper
+{
+    protected AddressingHelper()
+    {
+    }
+
+    public static AddressingProperties createOneWayResponseContext(final AddressingProperties addressingProperties, final String messageID)
+    {
+        // create this each time so it uses the current thread classloader
+        // this allows the builder class to be redefined via a property
+        AddressingBuilder builder = AddressingBuilder.getAddressingBuilder();
+        final AddressingProperties responseProperties = builder.newAddressingProperties();
+        responseProperties.initializeAsReply(addressingProperties, false) ;
+        responseProperties.setMessageID(makeURI(builder, messageID)) ;
+
+        return responseProperties ;
+    }
+
+    /**
+     * Create an addressing context that represents an inline reply to the specified addressing context.
+     * @param addressingProperties The addressing context being replied to.
+     * @param messageID The message id of the new message.
+     * @return The reply addressing context.
+     */
+    public static AddressingProperties createResponseContext(final AddressingProperties addressingProperties, final String messageID)
+    {
+        // create this each time so it uses the current thread classloader
+        // this allows the builder class to be redefined via a property
+        AddressingBuilder builder = AddressingBuilder.getAddressingBuilder();
+        final AddressingProperties responseProperties = builder.newAddressingProperties();
+        responseProperties.initializeAsReply(addressingProperties, false) ;
+        responseProperties.setMessageID(makeURI(builder, messageID)) ;
+
+        return responseProperties ;
+    }
+
+    /**
+     * Create an addressing context that represents a fault to the specified addressing context.
+     * @param addressingProperties The addressing context being replied to.
+     * @param messageID The message id of the new message.
+     * @return The fault addressing context.
+     *
+     * N.B. Still need to do From, Action, ReplyTo, FaultTo if needed.
+     */
+    public static AddressingProperties createFaultContext(final AddressingProperties addressingProperties, final String messageID)
+    {
+        // create this each time so it uses the current thread classloader
+        // this allows the builder class to be redefined via a property
+        AddressingBuilder builder = AddressingBuilder.getAddressingBuilder();
+        final AddressingProperties faultProperties = builder.newAddressingProperties();
+        faultProperties.initializeAsReply(addressingProperties, true) ;
+        faultProperties.setMessageID(makeURI(builder, messageID)) ;
+
+        return faultProperties ;
+    }
+
+    /**
+     * Create an addressing context that represents a request to the specified address.
+     * @param address TheendpointReference target address.
+     * @param messageID The message id of the new message.
+     * @return The addressing context.
+     *
+     * N.B. Still need to do From, Action, ReplyTo, FaultTo if needed.
+     */
+    public static AddressingProperties createRequestContext(final String address, final String messageID)
+    {
+        // create this each time so it uses the current thread classloader
+        // this allows the builder class to be redefined via a property
+        AddressingBuilder builder = AddressingBuilder.getAddressingBuilder();
+        final AddressingProperties requestProperties = builder.newAddressingProperties();
+        requestProperties.setTo(makeURI(builder, address));
+        if (messageID != null) {
+            requestProperties.setMessageID(makeURI(builder, messageID));
+        } else {
+            // client does not care about id but we have to set some id or WSA will complain
+
+            final String dummyID = MessageId.getMessageId();
+
+            requestProperties.setMessageID(makeURI(builder, dummyID));
+        }
+        return requestProperties;
+    }
+
+    /**
+     * Create an addressing context that represents a request to the specified address.
+     * @param address TheendpointReference target address.
+     * @param messageID The message id of the new message.
+     * @param action The action of the new message.
+     * @return The addressing context.
+     *
+     * N.B. Still need to do From, Action, ReplyTo, FaultTo if needed.
+     */
+    public static AddressingProperties createRequestContext(final String address, final String action, final String messageID)
+    {
+        // create this each time so it uses the current thread classloader
+        // this allows the builder class to be redefined via a property
+        AddressingBuilder builder = AddressingBuilder.getAddressingBuilder();
+        final AddressingProperties requestProperties = builder.newAddressingProperties();
+        requestProperties.setTo(makeURI(builder, address));
+        if (messageID != null) {
+            requestProperties.setMessageID(makeURI(builder, messageID));
+        } else {
+            // client does not care about id but we have to set some id or WSA will complain
+
+            final String dummyID = MessageId.getMessageId();
+
+            requestProperties.setMessageID(makeURI(builder, dummyID));
+        }
+        requestProperties.setAction(makeURI(builder, action));
+
+        return requestProperties;
+    }
+
+    /**
+     * Create an addressing context that represents a notification to the specified context.
+     * @param addressingProperties The addressing properties used to derive the notification addressing context.
+     * @param messageID The message id of the new message.
+     * @return The notification addressing context.
+     *
+     * N.B. Still need to do From, Action, ReplyTo, FaultTo if needed.
+     */
+    public static AddressingProperties createRequestContext(final AddressingProperties addressingProperties, final String messageID)
+    {
+        // create this each time so it uses the current thread classloader
+        // this allows the builder class to be redefined via a property
+        AddressingBuilder builder = AddressingBuilder.getAddressingBuilder();
+        final AddressingProperties requestProperties = builder.newAddressingProperties();
+        requestProperties.initializeAsReply(addressingProperties, false) ;
+
+        if (messageID != null)
+        {
+            requestProperties.setMessageID (makeURI(builder, messageID));
+        }
+
+        return requestProperties;
+    }
+
+    /**
+     * Create an addressing context specifying only the message id for a notification.
+     * @param messageID The message id of the new message.
+     * @return The notification addressing context.
+     */
+    public static AddressingProperties createNotificationContext(final String messageID)
+    {
+        // create this each time so it uses the current thread classloader
+        // this allows the builder class to be redefined via a property
+        AddressingBuilder builder = AddressingBuilder.getAddressingBuilder();
+        final AddressingProperties requestProperties = builder.newAddressingProperties();
+        requestProperties.setMessageID (makeURI(builder, messageID));
+        requestProperties.setAction(makeURI(builder, ""));
+
+        return requestProperties;
+    }
+
+    public static javax.xml.ws.addressing.AttributedURI makeURI(AddressingBuilder builder, String messageID)
+    {
+        try {
+            return builder.newURI(messageID);
+        } catch (URISyntaxException use) {
+            return null;
+        }
+    }
+}

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/sei/TerminationCoordinatorPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/sei/TerminationCoordinatorPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/sei/TerminationCoordinatorPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,110 @@
+
+package com.arjuna.webservices11.wsarjtx.sei;
+
+import com.arjuna.schemas.ws._2005._10.wsarjtx.NotificationType;
+import com.arjuna.schemas.ws._2005._10.wsarjtx.TerminationCoordinatorPortType;
+import com.arjuna.services.framework.task.Task;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsarjtx.processors.TerminationCoordinatorProcessor;
+
+import javax.annotation.Resource;
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.soap.Addressing;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+import javax.xml.ws.handler.MessageContext;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "TerminationCoordinatorPortType", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx",
+        wsdlLocation = "../wsdl/wsarjtx-termination-coordinator-binding.wsdl",
+        serviceName = "TerminationCoordinatorService",
+        portName = "TerminationCoordinatorPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class TerminationCoordinatorPortTypeImpl implements TerminationCoordinatorPortType
+{
+
+    @Resource
+     private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CompleteOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Complete")
+    @Oneway
+    public void completeOperation(
+        @WebParam(name = "Complete", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType complete = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                TerminationCoordinatorProcessor.getProcessor().complete(complete, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CloseOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Close")
+    @Oneway
+    public void closeOperation(
+        @WebParam(name = "Close", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType close = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                TerminationCoordinatorProcessor.getProcessor().close(close, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CancelOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Cancel")
+    @Oneway
+    public void cancelOperation(
+        @WebParam(name = "Cancel", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType cancel = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                TerminationCoordinatorProcessor.getProcessor().cancel(cancel, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/sei/TerminationParticipantPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/sei/TerminationParticipantPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/sei/TerminationParticipantPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,174 @@
+
+package com.arjuna.webservices11.wsarjtx.sei;
+
+import com.arjuna.schemas.ws._2005._10.wsarjtx.ExceptionType;
+import com.arjuna.schemas.ws._2005._10.wsarjtx.NotificationType;
+import com.arjuna.schemas.ws._2005._10.wsarjtx.TerminationParticipantPortType;
+import com.arjuna.services.framework.task.Task;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.webservices.SoapFault;
+import com.arjuna.webservices.SoapFaultType;
+import com.arjuna.webservices.logging.WSTLogger;
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsarjtx.processors.TerminationParticipantProcessor;
+
+import javax.annotation.Resource;
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.soap.Addressing;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+import javax.xml.ws.handler.MessageContext;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "TerminationParticipantPortType", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx",
+        wsdlLocation = "../wsdl/wsarjtx-termination-participant-binding.wsdl",
+        serviceName = "TerminationParticipantService",
+        portName = "TerminationParticipantPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class TerminationParticipantPortTypeImpl implements TerminationParticipantPortType
+{
+
+    @Resource
+     private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CompletedOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Completed")
+    @Oneway
+    public void completedOperation(
+        @WebParam(name = "Completed", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType completed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                TerminationParticipantProcessor.getProcessor().handleCompleted(completed, inboundAddressProperties, arjunaContext); ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "ClosedOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Closed")
+    @Oneway
+    public void closedOperation(
+        @WebParam(name = "Closed", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType closed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                TerminationParticipantProcessor.getProcessor().handleClosed(closed, inboundAddressProperties, arjunaContext); ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CancelledOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Cancelled")
+    @Oneway
+    public void cancelledOperation(
+        @WebParam(name = "Cancelled", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType cancelled = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                TerminationParticipantProcessor.getProcessor().handleCancelled(cancelled, inboundAddressProperties, arjunaContext); ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "FaultedOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Faulted")
+    @Oneway
+    public void faultedOperation(
+        @WebParam(name = "Faulted", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType faulted = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                TerminationParticipantProcessor.getProcessor().handleFaulted(faulted, inboundAddressProperties, arjunaContext); ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     *
+     * @message com.arjuna.webservices11.wsarjtx.sei.TerminationParticipantPortTypeImpl_1 [com.arjuna.webservices11.wsarjtx.sei.TerminationParticipantPortTypeImpl_1] - Invalid soap fault type
+     */
+    @WebMethod(operationName = "FaultOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Fault")
+    @Oneway
+    public void faultOperation(
+        @WebParam(name = "Fault", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
+        ExceptionType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        String soapFaultTypeName = parameters.getSoapFaultType();
+        String reason = parameters.getReason();
+        QName subcode = parameters.getSubCode();
+        final SoapFault soapFault;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+        try {
+            SoapFaultType soapFaultType = SoapFaultType.toState(parameters.getSoapFaultType());
+            soapFault = new SoapFault(soapFaultType, subcode, reason);
+        } catch (Exception e) {
+            String message = WSTLogger.log_mesg.getString("com.arjuna.webservices11.wsarjtx.sei.TerminationParticipantPortTypeImpl_1");
+            throw new WebServiceException(message, e);
+        }
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                TerminationParticipantProcessor.getProcessor().handleSoapFault(soapFault, inboundAddressProperties, arjunaContext); ;
+            }
+        }) ;
+    }
+
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/server/TerminationCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/server/TerminationCoordinatorInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/server/TerminationCoordinatorInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsarjtx.server;
+
+import com.arjuna.services.framework.startup.Sequencer;
+import com.arjuna.webservices11.wsarjtx.ArjunaTXConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+/**
+ * Activate the Terminator Participant service
+ * @author kevin
+ */
+public class TerminationCoordinatorInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + ArjunaTXConstants.TERMINATION_COORDINATOR_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(ArjunaTXConstants.TERMINATION_COORDINATOR_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/server/TerminationParticipantInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/server/TerminationParticipantInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsarjtx/server/TerminationParticipantInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsarjtx.server;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletContext;
+
+import com.arjuna.webservices11.wsarjtx.ArjunaTXConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+import com.arjuna.services.framework.startup.Sequencer;
+
+/**
+ * Activate the Terminator Coordinator service
+ * @author kevin
+ */
+public class TerminationParticipantInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + ArjunaTXConstants.TERMINATION_PARTICIPANT_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(ArjunaTXConstants.TERMINATION_PARTICIPANT_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CompletionCoordinatorPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CompletionCoordinatorPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CompletionCoordinatorPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,85 @@
+package com.arjuna.webservices11.wsat.sei;
+
+import org.oasis_open.docs.ws_tx.wsat._2006._06.Notification;
+import org.oasis_open.docs.ws_tx.wsat._2006._06.CompletionCoordinatorPortType;
+
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.annotation.Resource;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.soap.Addressing;
+
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsat.processors.CompletionCoordinatorProcessor;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.services.framework.task.Task;
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "CompletionCoordinatorPortType", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06",
+        wsdlLocation = "../wsdl/wsat-completion-coordinator-binding.wsdl",
+        serviceName = "CompletionCoordinatorService",
+        portName = "CompletionCoordinatorPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class CompletionCoordinatorPortTypeImpl implements CompletionCoordinatorPortType
+{
+    @Resource
+    private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CommitOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Commit")
+    @Oneway
+    public void commitOperation(
+        @WebParam(name = "Commit", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification commit = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CompletionCoordinatorProcessor.getProcessor().commit(commit, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "RollbackOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Rollback")
+    @Oneway
+    public void rollbackOperation(
+        @WebParam(name = "Rollback", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification rollback = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CompletionCoordinatorProcessor.getProcessor().rollback(rollback, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+}

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CompletionInitiatorPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CompletionInitiatorPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CompletionInitiatorPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,86 @@
+package com.arjuna.webservices11.wsat.sei;
+
+import org.oasis_open.docs.ws_tx.wsat._2006._06.Notification;
+import org.oasis_open.docs.ws_tx.wsat._2006._06.CompletionInitiatorPortType;
+
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.annotation.Resource;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.soap.Addressing;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+import javax.xml.ws.handler.MessageContext;
+
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsat.processors.CompletionInitiatorProcessor;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.services.framework.task.Task;
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "CompletionInitiatorPortType", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06",
+        wsdlLocation = "../wsdl/wsat-completion-initiator-binding.wsdl",
+        serviceName = "CompletionInitiatorService",
+        portName = "CompletionInitiatorPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class CompletionInitiatorPortTypeImpl implements CompletionInitiatorPortType
+{
+
+    @Resource
+     private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CommittedOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Committed")
+    @Oneway
+    public void committedOperation(
+        @WebParam(name = "Committed", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification committed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CompletionInitiatorProcessor.getProcessor().handleCommitted(committed, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "AbortedOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Aborted")
+    @Oneway
+    public void abortedOperation(
+        @WebParam(name = "Aborted", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification aborted = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CompletionInitiatorProcessor.getProcessor().handleAborted(aborted, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+}

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CoordinatorPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CoordinatorPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/CoordinatorPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,132 @@
+package com.arjuna.webservices11.wsat.sei;
+
+import org.oasis_open.docs.ws_tx.wsat._2006._06.Notification;
+import org.oasis_open.docs.ws_tx.wsat._2006._06.CoordinatorPortType;
+
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.annotation.Resource;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.soap.Addressing;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+import javax.xml.ws.handler.MessageContext;
+
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsat.processors.CoordinatorProcessor;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.services.framework.task.Task;
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "CoordinatorPortType", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06",
+        wsdlLocation = "../wsdl/wsat-coordinator-binding.wsdl",
+        serviceName = "CoordinatorService",
+        portName = "CoordinatorPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class CoordinatorPortTypeImpl implements CoordinatorPortType
+{
+
+    @Resource
+    private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "PreparedOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Prepared")
+    @Oneway
+    public void preparedOperation(
+        @WebParam(name = "Prepared", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification prepared = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorProcessor.getProcessor().prepared(prepared, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "AbortedOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Aborted")
+    @Oneway
+    public void abortedOperation(
+        @WebParam(name = "Aborted", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification aborted = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorProcessor.getProcessor().aborted(aborted, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "ReadOnlyOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/ReadOnly")
+    @Oneway
+    public void readOnlyOperation(
+        @WebParam(name = "ReadOnly", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification readOnly = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorProcessor.getProcessor().readOnly(readOnly, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CommittedOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Committed")
+    @Oneway
+    public void committedOperation(
+        @WebParam(name = "Committed", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification committed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorProcessor.getProcessor().committed(committed, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+}

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/ParticipantPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/ParticipantPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/sei/ParticipantPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,109 @@
+package com.arjuna.webservices11.wsat.sei;
+
+import org.oasis_open.docs.ws_tx.wsat._2006._06.Notification;
+import org.oasis_open.docs.ws_tx.wsat._2006._06.ParticipantPortType;
+
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.annotation.Resource;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.soap.Addressing;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsat.processors.ParticipantProcessor;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.services.framework.task.Task;
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "ParticipantPortType", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06",
+        wsdlLocation = "../wsdl/wsat-participant-binding.wsdl",
+        serviceName = "ParticipantService",
+        portName = "ParticipantPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class ParticipantPortTypeImpl implements ParticipantPortType
+{
+
+    @Resource
+    private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "PrepareOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Prepare")
+    @Oneway
+    public void prepareOperation(
+        @WebParam(name = "Prepare", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification prepare = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantProcessor.getProcessor().prepare(prepare, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CommitOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Commit")
+    @Oneway
+    public void commitOperation(
+        @WebParam(name = "Commit", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification commit = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantProcessor.getProcessor().commit(commit, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "RollbackOperation", action = "http://docs.oasis-open.org/ws-tx/wsat/2006/06/Rollback")
+    @Oneway
+    public void rollbackOperation(
+        @WebParam(name = "Rollback", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsat/2006/06", partName = "parameters")
+        Notification parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final Notification rollback = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantProcessor.getProcessor().rollback(rollback, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+}

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CompletionCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CompletionCoordinatorInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CompletionCoordinatorInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsat.server;
+
+import com.arjuna.services.framework.startup.Sequencer;
+import com.arjuna.webservices11.wsat.AtomicTransactionConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+/**
+ * Activate the Completion Coordinator service
+ * @author kevin
+ */
+public class CompletionCoordinatorInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + AtomicTransactionConstants.COMPLETION_COORDINATOR_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(AtomicTransactionConstants.COMPLETION_COORDINATOR_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CompletionInitiatorInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CompletionInitiatorInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CompletionInitiatorInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsat.server;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletContext;
+
+import com.arjuna.webservices11.wsat.AtomicTransactionConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+import com.arjuna.services.framework.startup.Sequencer;
+
+/**
+ * Activate the Completion Initiator service
+ * @author kevin
+ */
+public class CompletionInitiatorInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + AtomicTransactionConstants.COMPLETION_INITIATOR_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(AtomicTransactionConstants.COMPLETION_INITIATOR_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CoordinatorInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/CoordinatorInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsat.server;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletContext;
+
+import com.arjuna.webservices11.wsat.AtomicTransactionConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+import com.arjuna.services.framework.startup.Sequencer;
+
+/**
+ * Activate the Coordinator service
+ * @author kevin
+ */
+public class CoordinatorInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + AtomicTransactionConstants.COORDINATOR_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR10, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(AtomicTransactionConstants.COORDINATOR_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/ParticipantInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/ParticipantInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsat/server/ParticipantInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsat.server;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletContext;
+
+import com.arjuna.webservices11.wsat.AtomicTransactionConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+import com.arjuna.services.framework.startup.Sequencer;
+
+/**
+ * Activate the Participant service
+ * @author kevin
+ */
+public class ParticipantInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + AtomicTransactionConstants.PARTICIPANT_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(AtomicTransactionConstants.PARTICIPANT_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithCoordinatorCompletionCoordinatorPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithCoordinatorCompletionCoordinatorPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithCoordinatorCompletionCoordinatorPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,248 @@
+
+package com.arjuna.webservices11.wsba.sei;
+
+import com.arjuna.services.framework.task.Task;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsba.processors.CoordinatorCompletionCoordinatorProcessor;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.BusinessAgreementWithCoordinatorCompletionCoordinatorPortType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.ExceptionType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.NotificationType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.StatusType;
+
+import javax.annotation.Resource;
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.soap.Addressing;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+import javax.xml.ws.handler.MessageContext;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "BusinessAgreementWithCoordinatorCompletionCoordinatorPortType", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06",
+        wsdlLocation = "../wsdl/wsba-coordinator-completion-coordinator-binding.wsdl",
+        serviceName = "BusinessAgreementWithCoordinatorCompletionCoordinatorService",
+        portName = "BusinessAgreementWithCoordinatorCompletionCoordinatorPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class BusinessAgreementWithCoordinatorCompletionCoordinatorPortTypeImpl implements BusinessAgreementWithCoordinatorCompletionCoordinatorPortType
+{
+    @Resource
+    private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CompletedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Completed")
+    @Oneway
+    public void completedOperation(
+        @WebParam(name = "Completed", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType completed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionCoordinatorProcessor.getProcessor().completed(completed, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "FailOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Fail")
+    @Oneway
+    public void failOperation(
+        @WebParam(name = "Fail", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        ExceptionType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final ExceptionType fail = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionCoordinatorProcessor.getProcessor().fail(fail, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CompensatedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Compensated")
+    @Oneway
+    public void compensatedOperation(
+        @WebParam(name = "Compensated", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType compensated = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionCoordinatorProcessor.getProcessor().compensated(compensated, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "ClosedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Closed")
+    @Oneway
+    public void closedOperation(
+        @WebParam(name = "Closed", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType closed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionCoordinatorProcessor.getProcessor().closed(closed, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CanceledOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Canceled")
+    @Oneway
+    public void canceledOperation(
+        @WebParam(name = "Canceled", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType canceled = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionCoordinatorProcessor.getProcessor().cancelled(canceled, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "ExitOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Exit")
+    @Oneway
+    public void exitOperation(
+        @WebParam(name = "Exit", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType exit = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionCoordinatorProcessor.getProcessor().exit(exit, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CannotComplete", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/CannotComplete")
+    @Oneway
+    public void cannotComplete(
+        @WebParam(name = "CannotComplete", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType cannotComplete = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionCoordinatorProcessor.getProcessor().cannotComplete(cannotComplete, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "GetStatusOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/GetStatus")
+    @Oneway
+    public void getStatusOperation(
+        @WebParam(name = "GetStatus", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType getStatus = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionCoordinatorProcessor.getProcessor().getStatus(getStatus, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "StatusOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Status")
+    @Oneway
+    public void statusOperation(
+        @WebParam(name = "Status", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        StatusType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final StatusType status = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionCoordinatorProcessor.getProcessor().status(status, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithCoordinatorCompletionParticipantPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithCoordinatorCompletionParticipantPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithCoordinatorCompletionParticipantPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,247 @@
+
+package com.arjuna.webservices11.wsba.sei;
+
+import com.arjuna.services.framework.task.Task;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsba.processors.CoordinatorCompletionParticipantProcessor;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.BusinessAgreementWithCoordinatorCompletionParticipantPortType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.NotificationType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.StatusType;
+
+import javax.annotation.Resource;
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.soap.Addressing;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "BusinessAgreementWithCoordinatorCompletionParticipantPortType", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06",
+        wsdlLocation = "../wsdl/wsba-coordinator-completion-participant-binding.wsdl",
+        serviceName = "BusinessAgreementWithCoordinatorCompletionParticipantService",
+        portName = "BusinessAgreementWithCoordinatorCompletionParticipantPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class BusinessAgreementWithCoordinatorCompletionParticipantPortTypeImpl implements BusinessAgreementWithCoordinatorCompletionParticipantPortType
+{
+    @Resource
+    private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CompleteOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/mplete")
+    @Oneway
+    public void completeOperation(
+        @WebParam(name = "Complete", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType complete = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionParticipantProcessor.getProcessor().complete(complete, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CloseOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Close")
+    @Oneway
+    public void closeOperation(
+        @WebParam(name = "Close", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType close = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionParticipantProcessor.getProcessor().close(close, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CancelOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Cancel")
+    @Oneway
+    public void cancelOperation(
+        @WebParam(name = "Cancel", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType cancel = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionParticipantProcessor.getProcessor().cancel(cancel, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CompensateOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Close")
+    @Oneway
+    public void compensateOperation(
+        @WebParam(name = "Compensate", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType compensate = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionParticipantProcessor.getProcessor().compensate(compensate, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "FailedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Failed")
+    @Oneway
+    public void failedOperation(
+        @WebParam(name = "Failed", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType failed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionParticipantProcessor.getProcessor().failed(failed, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "ExitedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Exited")
+    @Oneway
+    public void exitedOperation(
+        @WebParam(name = "Exited", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType exited = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionParticipantProcessor.getProcessor().exited(exited, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "NotCompleted", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/NotCompleted")
+    @Oneway
+    public void notCompleted(
+        @WebParam(name = "NotCompleted", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType notCompleted = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionParticipantProcessor.getProcessor().notCompleted(notCompleted, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "GetStatusOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/GetStatus")
+    @Oneway
+    public void getStatusOperation(
+        @WebParam(name = "GetStatus", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType getStatus = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionParticipantProcessor.getProcessor().getStatus(getStatus, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "StatusOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Status")
+    @Oneway
+    public void statusOperation(
+        @WebParam(name = "Status", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        StatusType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final StatusType status = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                CoordinatorCompletionParticipantProcessor.getProcessor().status(status, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithParticipantCompletionCoordinatorPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithParticipantCompletionCoordinatorPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithParticipantCompletionCoordinatorPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,247 @@
+
+package com.arjuna.webservices11.wsba.sei;
+
+import com.arjuna.services.framework.task.Task;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsba.processors.ParticipantCompletionCoordinatorProcessor;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.BusinessAgreementWithParticipantCompletionCoordinatorPortType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.ExceptionType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.NotificationType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.StatusType;
+
+import javax.annotation.Resource;
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.soap.Addressing;
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "BusinessAgreementWithParticipantCompletionCoordinatorPortType", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06",
+        wsdlLocation = "../wsdl/wsba-participant-completion-coordinator-binding.wsdl",
+        serviceName = "BusinessAgreementWithParticipantCompletionCoordinatorService",
+        portName = "BusinessAgreementWithParticipantCompletionCoordinatorPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class BusinessAgreementWithParticipantCompletionCoordinatorPortTypeImpl implements BusinessAgreementWithParticipantCompletionCoordinatorPortType
+{
+    @Resource
+    private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CompletedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Completed")
+    @Oneway
+    public void completedOperation(
+        @WebParam(name = "Completed", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType completed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionCoordinatorProcessor.getProcessor().completed(completed, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "FailOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Fail")
+    @Oneway
+    public void failOperation(
+        @WebParam(name = "Fail", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        ExceptionType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final ExceptionType fail = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionCoordinatorProcessor.getProcessor().fail(fail, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CompensatedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Compensated")
+    @Oneway
+    public void compensatedOperation(
+        @WebParam(name = "Compensated", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType compensated = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionCoordinatorProcessor.getProcessor().compensated(compensated, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "ClosedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Closed")
+    @Oneway
+    public void closedOperation(
+        @WebParam(name = "Closed", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType closed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionCoordinatorProcessor.getProcessor().closed(closed, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CanceledOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Canceled")
+    @Oneway
+    public void canceledOperation(
+        @WebParam(name = "Canceled", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType cancelled = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionCoordinatorProcessor.getProcessor().cancelled(cancelled, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "ExitOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Exit")
+    @Oneway
+    public void exitOperation(
+        @WebParam(name = "Exit", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType exit = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionCoordinatorProcessor.getProcessor().exit(exit, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CannotComplete", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/CannotComplete")
+    @Oneway
+    public void cannotComplete(
+        @WebParam(name = "CannotComplete", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType cannotComplete = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionCoordinatorProcessor.getProcessor().cannotComplete(cannotComplete, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "GetStatusOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/GetStatus")
+    @Oneway
+    public void getStatusOperation(
+        @WebParam(name = "GetStatus", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType getStatus = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionCoordinatorProcessor.getProcessor().getStatus(getStatus, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "StatusOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Status")
+    @Oneway
+    public void statusOperation(
+        @WebParam(name = "Status", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        StatusType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final StatusType status = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionCoordinatorProcessor.getProcessor().status(status, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithParticipantCompletionParticipantPortTypeImpl.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithParticipantCompletionParticipantPortTypeImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/sei/BusinessAgreementWithParticipantCompletionParticipantPortTypeImpl.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,223 @@
+
+package com.arjuna.webservices11.wsba.sei;
+
+import com.arjuna.services.framework.task.Task;
+import com.arjuna.services.framework.task.TaskManager;
+import com.arjuna.webservices11.wsarj.ArjunaContext;
+import com.arjuna.webservices11.wsba.processors.ParticipantCompletionParticipantProcessor;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.BusinessAgreementWithParticipantCompletionParticipantPortType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.NotificationType;
+import org.oasis_open.docs.ws_tx.wsba._2006._06.StatusType;
+
+import javax.annotation.Resource;
+import javax.jws.*;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.addressing.AddressingProperties;
+import javax.xml.ws.addressing.JAXWSAConstants;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.soap.Addressing;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ *
+ */
+ at WebService(name = "BusinessAgreementWithParticipantCompletionParticipantPortType", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06",
+        wsdlLocation = "../wsdl/wsba-participant-completion-participant-binding.wsdl",
+        serviceName = "BusinessAgreementWithParticipantCompletionParticipantService",
+        portName = "BusinessAgreementWithParticipantCompletionParticipantPortType"
+)
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+ at HandlerChain(file="handlers.xml")
+ at Addressing(required=true)
+public class BusinessAgreementWithParticipantCompletionParticipantPortTypeImpl implements BusinessAgreementWithParticipantCompletionParticipantPortType
+{
+    @Resource
+    private WebServiceContext webServiceCtx;
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CloseOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Close")
+    @Oneway
+    public void closeOperation(
+        @WebParam(name = "Close", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType close = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionParticipantProcessor.getProcessor().close(close, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CancelOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Cancel")
+    @Oneway
+    public void cancelOperation(
+        @WebParam(name = "Cancel", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType cancel = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionParticipantProcessor.getProcessor().cancel(cancel, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "CompensateOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Compensate")
+    @Oneway
+    public void compensateOperation(
+        @WebParam(name = "Compensate", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType compensate = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionParticipantProcessor.getProcessor().compensate(compensate, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "FailedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Failed")
+    @Oneway
+    public void failedOperation(
+        @WebParam(name = "Failed", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType failed = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionParticipantProcessor.getProcessor().failed(failed, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "ExitedOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Exited")
+    @Oneway
+    public void exitedOperation(
+        @WebParam(name = "Exited", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType exited = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionParticipantProcessor.getProcessor().exited(exited, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "NotCompleted", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/NotCompleted")
+    @Oneway
+    public void notCompleted(
+        @WebParam(name = "NotCompleted", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType notCompleted = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionParticipantProcessor.getProcessor().notCompleted(notCompleted, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "GetStatusOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/GetStatus")
+    @Oneway
+    public void getStatusOperation(
+        @WebParam(name = "GetStatus", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        NotificationType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final NotificationType getStatus = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionParticipantProcessor.getProcessor().getStatus(getStatus, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+
+    /**
+     *
+     * @param parameters
+     */
+    @WebMethod(operationName = "StatusOperation", action = "http://docs.oasis-open.org/ws-tx/wsba/2006/06/Status")
+    @Oneway
+    public void statusOperation(
+        @WebParam(name = "Status", targetNamespace = "http://docs.oasis-open.org/ws-tx/wsba/2006/06", partName = "parameters")
+        StatusType parameters)
+    {
+        MessageContext ctx = webServiceCtx.getMessageContext();
+        final StatusType status = parameters;
+        final AddressingProperties inboundAddressProperties
+            = (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
+        final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
+
+        TaskManager.getManager().queueTask(new Task() {
+            public void executeTask() {
+                ParticipantCompletionParticipantProcessor.getProcessor().status(status, inboundAddressProperties, arjunaContext) ;
+            }
+        }) ;
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/CoordinatorCompletionCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/CoordinatorCompletionCoordinatorInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/CoordinatorCompletionCoordinatorInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsba.server;
+
+import com.arjuna.services.framework.startup.Sequencer;
+import com.arjuna.webservices11.wsba.BusinessActivityConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+/**
+ * Activate the Coordinator Completion Coordinator service
+ * @author kevin
+ */
+public class CoordinatorCompletionCoordinatorInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + BusinessActivityConstants.COORDINATOR_COMPLETION_COORDINATOR_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(BusinessActivityConstants.COORDINATOR_COMPLETION_COORDINATOR_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/CoordinatorCompletionParticipantInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/CoordinatorCompletionParticipantInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/CoordinatorCompletionParticipantInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsba.server;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletContext;
+
+import com.arjuna.webservices11.wsba.BusinessActivityConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+import com.arjuna.services.framework.startup.Sequencer;
+
+/**
+ * Activate the Coordinator Completion Participant service
+ * @author kevin
+ */
+public class CoordinatorCompletionParticipantInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + BusinessActivityConstants.COORDINATOR_COMPLETION_PARTICIPANT_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(BusinessActivityConstants.COORDINATOR_COMPLETION_PARTICIPANT_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/ParticipantCompletionCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/ParticipantCompletionCoordinatorInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/ParticipantCompletionCoordinatorInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsba.server;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletContext;
+
+import com.arjuna.webservices11.wsba.BusinessActivityConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+import com.arjuna.services.framework.startup.Sequencer;
+
+/**
+ * Activate the Participant Completion Coordinator service
+ * @author kevin
+ */
+public class ParticipantCompletionCoordinatorInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + BusinessActivityConstants.PARTICIPANT_COMPLETION_COORDINATOR_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(BusinessActivityConstants.PARTICIPANT_COMPLETION_COORDINATOR_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/ParticipantCompletionParticipantInitialisation.java
===================================================================
--- labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/ParticipantCompletionParticipantInitialisation.java	                        (rev 0)
+++ labs/jbosstm/workspace/adinn/XTSGF/WS-T/dev/src/com/arjuna/webservices11/wsba/server/ParticipantCompletionParticipantInitialisation.java	2008-01-28 10:14:03 UTC (rev 18170)
@@ -0,0 +1,63 @@
+/*
+ * 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 in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU General Public License, v. 2.0.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License,
+ * v. 2.0 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package com.arjuna.webservices11.wsba.server;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletContext;
+
+import com.arjuna.webservices11.wsba.BusinessActivityConstants;
+import com.arjuna.webservices11.ServiceRegistry;
+import com.arjuna.services.framework.startup.Sequencer;
+
+/**
+ * Activate the Participant Completion Participant service
+ * @author kevin
+ */
+public class ParticipantCompletionParticipantInitialisation implements ServletContextListener
+{
+    /**
+     * The context has been initialized.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextInitialized(final ServletContextEvent servletContextEvent)
+    {
+        ServletContext context = servletContextEvent.getServletContext();
+        String baseURI = context.getInitParameter("BaseURI");
+        final String uri = baseURI + "/" + BusinessActivityConstants.PARTICIPANT_COMPLETION_PARTICIPANT_SERVICE_NAME;
+
+        Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
+           public void run() {
+               // TODO work out how to configure the endpoint name here
+               final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
+               serviceRegistry.registerServiceProvider(BusinessActivityConstants.PARTICIPANT_COMPLETION_PARTICIPANT_SERVICE_NAME, uri) ;
+           }
+        };
+    }
+
+    /**
+     * The context is about to be destroyed.
+     * @param servletContextEvent The servlet context event.
+     */
+    public void contextDestroyed(final ServletContextEvent servletContextEvent)
+    {
+    }
+}
\ No newline at end of file




More information about the jboss-svn-commits mailing list