[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