[jbossws-commits] JBossWS SVN: r5272 - in stack/native/trunk/src: test/java/org/jboss/test/ws/jaxws/wsrm and 1 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Wed Dec 12 09:23:21 EST 2007


Author: richard.opalka at jboss.com
Date: 2007-12-12 09:23:21 -0500 (Wed, 12 Dec 2007)
New Revision: 5272

Modified:
   stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMClientHandler.java
   stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMHandler.java
   stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMServerHandler.java
   stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/OneWayServiceIface.java
   stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/OneWayServiceImpl.java
   stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/ReqResServiceIface.java
   stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/ReqResServiceImpl.java
   stack/native/trunk/src/test/resources/jaxws/wsrm/WEB-INF/wsrm-jaxws-endpoint-config.xml
Log:
enabling server side RM handler

Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMClientHandler.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMClientHandler.java	2007-12-12 14:08:19 UTC (rev 5271)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMClientHandler.java	2007-12-12 14:23:21 UTC (rev 5272)
@@ -30,5 +30,17 @@
  */
 public final class RMClientHandler extends RMHandler
 {
+   
+   @Override
+   protected boolean isClientSide()
+   {
+      return true;
+   }
 
+   @Override
+   protected boolean isServerSide()
+   {
+      return false;
+   }
+
 }

Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMHandler.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMHandler.java	2007-12-12 14:08:19 UTC (rev 5271)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMHandler.java	2007-12-12 14:23:21 UTC (rev 5272)
@@ -64,9 +64,9 @@
  * @since Oct 23, 2007
  */
 @SuppressWarnings("unchecked")
-public class RMHandler extends GenericSOAPHandler
+public abstract class RMHandler extends GenericSOAPHandler
 {
-   private static final Logger log = Logger.getLogger(RMHandler.class);
+   protected final Logger log = Logger.getLogger(getClass());
    private static final RMMessageFactory rmFactory = RMProvider.get().getMessageFactory();
    private static final RMConstants rmConstants = RMProvider.get().getConstants();
    private static final Set headers = RMConstant.PROTOCOL_OPERATION_QNAMES;
@@ -75,6 +75,10 @@
    {
       return headers;
    }
+   
+   protected abstract boolean isClientSide();
+   
+   protected abstract boolean isServerSide();
 
    protected final boolean handleOutbound(MessageContext msgContext)
    {
@@ -94,16 +98,21 @@
       SOAPMessage soapMessage = ((SOAPMessageContext)commonMsgContext).getMessage();
       RMSequenceIface sequenceImpl = (RMSequenceIface)rmRequestContext.get(RMConstant.SEQUENCE_REFERENCE);
       
-      QName msgQName = rmConstants.getCreateSequenceQName();
-      if (outMsgs.contains(msgQName))
+      QName msgQName = null;
+      
+      if (isClientSide())
       {
-         // try to serialize CreateSequence to message
-         String replyTo = addrProps.getReplyTo().getAddress().getURI().toString();
-         RMCreateSequence createSequence = rmFactory.newCreateSequence();
-         createSequence.setAcksTo(replyTo);
-         createSequence.serializeTo(soapMessage);
-         data.put(msgQName, createSequence);
-         log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         msgQName = rmConstants.getCreateSequenceQName();
+         if (outMsgs.contains(msgQName))
+         {
+            // try to serialize CreateSequence to message
+            String replyTo = addrProps.getReplyTo().getAddress().getURI().toString();
+            RMCreateSequence createSequence = rmFactory.newCreateSequence();
+            createSequence.setAcksTo(replyTo);
+            createSequence.serializeTo(soapMessage);
+            data.put(msgQName, createSequence);
+            log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         }
       }
          
       msgQName = rmConstants.getSequenceQName();
@@ -130,49 +139,61 @@
          log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
       }
          
-      msgQName = rmConstants.getCloseSequenceQName();
-      if (outMsgs.contains(msgQName))
+      if (isClientSide())
       {
-         // try to serialize CloseSequence to message
-         RMCloseSequence closeSequence = rmFactory.newCloseSequence();
-         closeSequence.setIdentifier(sequenceImpl.getOutboundId());
-         closeSequence.setLastMsgNumber(sequenceImpl.getLastMessageNumber());
-         closeSequence.serializeTo(soapMessage);
-         data.put(msgQName, closeSequence);
-         log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         msgQName = rmConstants.getCloseSequenceQName();
+         if (outMsgs.contains(msgQName))
+         {
+            // try to serialize CloseSequence to message
+            RMCloseSequence closeSequence = rmFactory.newCloseSequence();
+            closeSequence.setIdentifier(sequenceImpl.getOutboundId());
+            closeSequence.setLastMsgNumber(sequenceImpl.getLastMessageNumber());
+            closeSequence.serializeTo(soapMessage);
+            data.put(msgQName, closeSequence);
+            log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         }
       }
 
-      msgQName = rmConstants.getCloseSequenceResponseQName();
-      if (outMsgs.contains(msgQName))
+      if (isServerSide())
       {
-         // try to serialize CloseSequenceResponse to message
-         RMCloseSequenceResponse closeSequenceResponse = rmFactory.newCloseSequenceResponse();
-         closeSequenceResponse.setIdentifier(sequenceImpl.getOutboundId());
-         data.put(msgQName, closeSequenceResponse);
-         log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         msgQName = rmConstants.getCloseSequenceResponseQName();
+         if (outMsgs.contains(msgQName))
+         {
+            // try to serialize CloseSequenceResponse to message
+            RMCloseSequenceResponse closeSequenceResponse = rmFactory.newCloseSequenceResponse();
+            closeSequenceResponse.setIdentifier(sequenceImpl.getOutboundId());
+            data.put(msgQName, closeSequenceResponse);
+            log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         }
       }
 
-      msgQName = rmConstants.getTerminateSequenceQName();
-      if (outMsgs.contains(msgQName))
+      if (isClientSide())
       {
-         // try to serialize TerminateSequence to message
-         RMTerminateSequence terminateSequence = rmFactory.newTerminateSequence();
-         terminateSequence.setIdentifier(sequenceImpl.getOutboundId());
-         terminateSequence.setLastMsgNumber(sequenceImpl.getLastMessageNumber());
-         terminateSequence.serializeTo(soapMessage);
-         data.put(msgQName, terminateSequence);
-         log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         msgQName = rmConstants.getTerminateSequenceQName();
+         if (outMsgs.contains(msgQName))
+         {
+            // try to serialize TerminateSequence to message
+            RMTerminateSequence terminateSequence = rmFactory.newTerminateSequence();
+            terminateSequence.setIdentifier(sequenceImpl.getOutboundId());
+            terminateSequence.setLastMsgNumber(sequenceImpl.getLastMessageNumber());
+            terminateSequence.serializeTo(soapMessage);
+            data.put(msgQName, terminateSequence);
+            log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         }
       }
 
-      msgQName = rmConstants.getTerminateSequenceResponseQName();
-      if (outMsgs.contains(msgQName))
+      if (isServerSide())
       {
-         // try to serialize terminateSequenceResponse to message
-         RMTerminateSequenceResponse terminateSequenceResponse = rmFactory.newTerminateSequenceResponse();
-         terminateSequenceResponse.setIdentifier(sequenceImpl.getOutboundId());
-         terminateSequenceResponse.serializeTo(soapMessage);
-         data.put(msgQName, terminateSequenceResponse);
-         log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         msgQName = rmConstants.getTerminateSequenceResponseQName();
+         if (outMsgs.contains(msgQName))
+         {
+            // try to serialize terminateSequenceResponse to message
+            RMTerminateSequenceResponse terminateSequenceResponse = rmFactory.newTerminateSequenceResponse();
+            terminateSequenceResponse.setIdentifier(sequenceImpl.getOutboundId());
+            terminateSequenceResponse.serializeTo(soapMessage);
+            data.put(msgQName, terminateSequenceResponse);
+            log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
+         }
       }
       
       msgQName = rmConstants.getSequenceAcknowledgementQName();
@@ -194,6 +215,9 @@
          data.put(msgQName, sequenceAcknowledgement);
          log.debug(msgQName.getLocalPart() + " WSRM message was serialized to payload");
       }
+      
+      if (data.size() == 0)
+         throw new RMException("RM handler did not serialize WS-RM message to the payload");
 
       // TODO: implement SequenceFault serialization
 
@@ -213,18 +237,36 @@
       msgContext.put(RMConstant.RESPONSE_CONTEXT, rmResponseContext);
       msgContext.setScope(RMConstant.RESPONSE_CONTEXT, Scope.APPLICATION);
 
-      try
+      if (isServerSide())
       {
-         // try to deserialize CreateSequenceResponse from message
-         QName msgQName = rmConstants.getCreateSequenceResponseQName();
-         RMCreateSequenceResponse wsrmMsg = rmFactory.newCreateSequenceResponse();
-         wsrmMsg.deserializeFrom(soapMessage);
-         messages.add(msgQName);
-         data.put(msgQName, wsrmMsg);
-         log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         try
+         {
+            // try to deserialize CreateSequence from message
+            QName msgQName = rmConstants.getCreateSequenceQName();
+            RMCreateSequence wsrmMsg = rmFactory.newCreateSequence();
+            wsrmMsg.deserializeFrom(soapMessage);
+            messages.add(msgQName);
+            data.put(msgQName, wsrmMsg);
+            log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         }
+         catch (RMException ignore) {}
       }
-      catch (RMException ignore) {}
       
+      if (isClientSide())
+      {
+         try
+         {
+            // try to deserialize CreateSequenceResponse from message
+            QName msgQName = rmConstants.getCreateSequenceResponseQName();
+            RMCreateSequenceResponse wsrmMsg = rmFactory.newCreateSequenceResponse();
+            wsrmMsg.deserializeFrom(soapMessage);
+            messages.add(msgQName);
+            data.put(msgQName, wsrmMsg);
+            log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         }
+         catch (RMException ignore) {}
+      }
+      
       try
       {
          // try to deserialize AckRequested from message
@@ -261,53 +303,65 @@
       }
       catch (RMException ignore) {}
 
-      try
+      if (isServerSide())
       {
-         // try to deserialize CloseSequence from message
-         QName msgQName = rmConstants.getCloseSequenceQName();
-         RMCloseSequence wsrmMsg = rmFactory.newCloseSequence();
-         wsrmMsg.deserializeFrom(soapMessage);
-         messages.add(msgQName);
-         data.put(msgQName, wsrmMsg);
-         log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         try
+         {
+            // try to deserialize CloseSequence from message
+            QName msgQName = rmConstants.getCloseSequenceQName();
+            RMCloseSequence wsrmMsg = rmFactory.newCloseSequence();
+            wsrmMsg.deserializeFrom(soapMessage);
+            messages.add(msgQName);
+            data.put(msgQName, wsrmMsg);
+            log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         }
+         catch (RMException ignore) {}
       }
-      catch (RMException ignore) {}
       
-      try
+      if (isClientSide())
       {
-         // try to deserialize CloseSequence from message
-         QName msgQName = rmConstants.getCloseSequenceResponseQName();
-         RMCloseSequenceResponse wsrmMsg = rmFactory.newCloseSequenceResponse();
-         wsrmMsg.deserializeFrom(soapMessage);
-         messages.add(msgQName);
-         data.put(msgQName, wsrmMsg);
-         log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         try
+         {
+            // try to deserialize CloseSequenceResponse from message
+            QName msgQName = rmConstants.getCloseSequenceResponseQName();
+            RMCloseSequenceResponse wsrmMsg = rmFactory.newCloseSequenceResponse();
+            wsrmMsg.deserializeFrom(soapMessage);
+            messages.add(msgQName);
+            data.put(msgQName, wsrmMsg);
+            log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         }
+         catch (RMException ignore) {}
       }
-      catch (RMException ignore) {}
       
-      try
+      if (isServerSide())
       {
-         // try to deserialize TerminateSequence from message
-         QName msgQName = rmConstants.getTerminateSequenceQName();
-         RMTerminateSequence wsrmMsg = rmFactory.newTerminateSequence();
-         wsrmMsg.deserializeFrom(soapMessage);
-         messages.add(msgQName);
-         data.put(msgQName, wsrmMsg);
-         log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         try
+         {
+            // try to deserialize TerminateSequence from message
+            QName msgQName = rmConstants.getTerminateSequenceQName();
+            RMTerminateSequence wsrmMsg = rmFactory.newTerminateSequence();
+            wsrmMsg.deserializeFrom(soapMessage);
+            messages.add(msgQName);
+            data.put(msgQName, wsrmMsg);
+            log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         }
+         catch (RMException ignore) {}
       }
-      catch (RMException ignore) {}
       
-      try
+      if (isClientSide())
       {
-         // try to deserialize TerminateSequenceResponse from message
-         QName msgQName = rmConstants.getTerminateSequenceResponseQName();
-         RMTerminateSequenceResponse wsrmMsg = rmFactory.newTerminateSequenceResponse();
-         wsrmMsg.deserializeFrom(soapMessage);
-         messages.add(msgQName);
-         data.put(msgQName, wsrmMsg);
-         log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         try
+         {
+            // try to deserialize TerminateSequenceResponse from message
+            QName msgQName = rmConstants.getTerminateSequenceResponseQName();
+            RMTerminateSequenceResponse wsrmMsg = rmFactory.newTerminateSequenceResponse();
+            wsrmMsg.deserializeFrom(soapMessage);
+            messages.add(msgQName);
+            data.put(msgQName, wsrmMsg);
+            log.debug(msgQName.getLocalPart() + " WSRM message was deserialized from payload");
+         }
+         catch (RMException ignore) {}
       }
-      catch (RMException ignore) {}
       
       // TODO: implement SequenceFault deserialization
       

Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMServerHandler.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMServerHandler.java	2007-12-12 14:08:19 UTC (rev 5271)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/jaxws/RMServerHandler.java	2007-12-12 14:23:21 UTC (rev 5272)
@@ -31,4 +31,16 @@
 public final class RMServerHandler extends RMHandler
 {
 
+   @Override
+   protected boolean isClientSide()
+   {
+      return false;
+   }
+
+   @Override
+   protected boolean isServerSide()
+   {
+      return true;
+   }
+
 }

Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/OneWayServiceIface.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/OneWayServiceIface.java	2007-12-12 14:08:19 UTC (rev 5271)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/OneWayServiceIface.java	2007-12-12 14:23:21 UTC (rev 5272)
@@ -7,7 +7,11 @@
 import org.jboss.ws.annotation.EndpointConfig;
 
 @WebService
- at EndpointConfig(configName = "Standard WSRM Client", configFile = "META-INF/wsrm-jaxws-client-config.xml")
+ at EndpointConfig
+(
+   configName = "Standard WSRM Client",
+   configFile = "META-INF/wsrm-jaxws-client-config.xml"
+)
 public interface OneWayServiceIface
 {
    @Oneway

Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/OneWayServiceImpl.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/OneWayServiceImpl.java	2007-12-12 14:08:19 UTC (rev 5271)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/OneWayServiceImpl.java	2007-12-12 14:23:21 UTC (rev 5272)
@@ -5,6 +5,7 @@
 import javax.xml.ws.addressing.Action;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.annotation.EndpointConfig;
 import org.jboss.ws.extensions.policy.PolicyScopeLevel;
 import org.jboss.ws.extensions.policy.annotation.Policy;
 import org.jboss.ws.extensions.policy.annotation.PolicyAttachment;
@@ -25,6 +26,11 @@
       scope = PolicyScopeLevel.WSDL_BINDING
    )
 )
+ at EndpointConfig
+(
+   configName = "Standard WSRM Endpoint",
+   configFile = "WEB-INF/wsrm-jaxws-endpoint-config.xml"
+)
 public class OneWayServiceImpl implements OneWayServiceIface
 {
    private Logger log = Logger.getLogger(OneWayServiceImpl.class);

Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/ReqResServiceIface.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/ReqResServiceIface.java	2007-12-12 14:08:19 UTC (rev 5271)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/ReqResServiceIface.java	2007-12-12 14:23:21 UTC (rev 5272)
@@ -17,7 +17,11 @@
 
 @WebService(name = "ReqRes", targetNamespace = "http://org.jboss.ws/jaxws/wsrm")
 @SOAPBinding(style = Style.RPC)
- at EndpointConfig(configName = "Standard WSRM Client", configFile = "META-INF/wsrm-jaxws-client-config.xml")
+ at EndpointConfig
+(
+   configName = "Standard WSRM Client",
+   configFile = "META-INF/wsrm-jaxws-client-config.xml"
+)
 public interface ReqResServiceIface
 {
    @WebMethod(operationName = "echo")

Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/ReqResServiceImpl.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/ReqResServiceImpl.java	2007-12-12 14:08:19 UTC (rev 5271)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/ReqResServiceImpl.java	2007-12-12 14:23:21 UTC (rev 5272)
@@ -9,6 +9,7 @@
 import javax.xml.ws.addressing.Action;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.annotation.EndpointConfig;
 import org.jboss.ws.extensions.policy.PolicyScopeLevel;
 import org.jboss.ws.extensions.policy.annotation.Policy;
 import org.jboss.ws.extensions.policy.annotation.PolicyAttachment;
@@ -31,6 +32,11 @@
       scope = PolicyScopeLevel.WSDL_BINDING
    )
 )
+ at EndpointConfig
+(
+   configName = "Standard WSRM Endpoint",
+   configFile = "WEB-INF/wsrm-jaxws-endpoint-config.xml"
+)
 public class ReqResServiceImpl
 {
    private static Logger log = Logger.getLogger(ReqResServiceImpl.class);

Modified: stack/native/trunk/src/test/resources/jaxws/wsrm/WEB-INF/wsrm-jaxws-endpoint-config.xml
===================================================================
--- stack/native/trunk/src/test/resources/jaxws/wsrm/WEB-INF/wsrm-jaxws-endpoint-config.xml	2007-12-12 14:08:19 UTC (rev 5271)
+++ stack/native/trunk/src/test/resources/jaxws/wsrm/WEB-INF/wsrm-jaxws-endpoint-config.xml	2007-12-12 14:23:21 UTC (rev 5272)
@@ -8,13 +8,11 @@
 
   <endpoint-config>
     <config-name>Standard WSRM Endpoint</config-name>
-    <reliable-messaging>
-      <delivery-assurance inOrder="true" quality="AtLeastOnce"/>
-      <provider specVersion="http://docs.oasis-open.org/ws-rx/wsrm/200702"/>
+    <!--reliable-messaging>
       <message-store id="wsrmStoreId" class="custom.MessageStoreImpl">
         <config-file>META-INF/config.xml</config-file>
       </message-store>
-    </reliable-messaging>	
+    </reliable-messaging-->	
     <post-handler-chains>
       <javaee:handler-chain>
         <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>
@@ -22,10 +20,10 @@
           <javaee:handler-name>WSAddressing Handler</javaee:handler-name>
           <javaee:handler-class>org.jboss.ws.extensions.addressing.jaxws.WSAddressingServerHandler</javaee:handler-class>
         </javaee:handler>
-        <!--javaee:handler>
+        <javaee:handler>
           <javaee:handler-name>WSRM Handler</javaee:handler-name>
-          <javaee:handler-class>org.jboss.ws.extensions.wsrm.RMServerHandler</javaee:handler-class>
-        </javaee:handler-->
+          <javaee:handler-class>org.jboss.ws.extensions.wsrm.jaxws.RMServerHandler</javaee:handler-class>
+        </javaee:handler>
       </javaee:handler-chain>
     </post-handler-chains>
   </endpoint-config>




More information about the jbossws-commits mailing list