Author: richard.opalka(a)jboss.com
Date: 2007-12-14 12:58:07 -0500 (Fri, 14 Dec 2007)
New Revision: 5322
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java
stack/native/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/server/RMInvocationHandler.java
stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java
stack/native/trunk/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
Log:
identified and applied other RM related hacks
Modified: stack/native/trunk/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java 2007-12-14
16:18:56 UTC (rev 5321)
+++ stack/native/trunk/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java 2007-12-14
17:58:07 UTC (rev 5322)
@@ -319,11 +319,14 @@
}
}
- if (payloadParent == null)
- throw new SOAPException("Cannot find RPC element in");
-
- QName elName = payloadParent.getElementQName();
- elName = namespaceRegistry.registerQName(elName);
+ if (RMHelper.isRMOperation(opMetaData.getQName()) == false) // RM hack
+ {
+ if (payloadParent == null)
+ throw new SOAPException("Cannot find RPC element in");
+
+ QName elName = payloadParent.getElementQName();
+ elName = namespaceRegistry.registerQName(elName);
+ }
}
int numParameters = 0;
@@ -362,17 +365,20 @@
}
}
- // Verify the numer of parameters matches the actual message payload
- int numChildElements = 0;
- Iterator itElements = payloadParent.getChildElements();
- while (itElements.hasNext())
+ if (RMHelper.isRMOperation(opMetaData.getQName()) == false)
{
- Node node = (Node)itElements.next();
- if (node instanceof SOAPElement)
- numChildElements++;
+ // Verify the numer of parameters matches the actual message payload
+ int numChildElements = 0;
+ Iterator itElements = payloadParent.getChildElements();
+ while (itElements.hasNext())
+ {
+ Node node = (Node)itElements.next();
+ if (node instanceof SOAPElement)
+ numChildElements++;
+ }
+ if (numChildElements != numParameters)
+ throw new WSException("Invalid number of payload elements: "
+ numChildElements);
}
- if (numChildElements != numParameters &&
(RMHelper.isRMOperation(opMetaData.getQName()) == false))
- throw new WSException("Invalid number of payload elements: " +
numChildElements);
}
// Generic message endpoint
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java 2007-12-14
16:18:56 UTC (rev 5321)
+++
stack/native/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java 2007-12-14
17:58:07 UTC (rev 5322)
@@ -98,7 +98,8 @@
if (soapBodyElement == null)
{
- if (epMetaData.getStyle() == Style.RPC)
+ boolean wsrmDisabled = epMetaData.getConfig().getRMMetaData() == null;
+ if ((epMetaData.getStyle() == Style.RPC) && (wsrmDisabled)) // RM
hack
throw new SOAPException("Empty SOAP body with no child element not
supported for RPC");
// [JBWS-1125] Support empty soap body elements
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/server/RMInvocationHandler.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/server/RMInvocationHandler.java 2007-12-14
16:18:56 UTC (rev 5321)
+++
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/server/RMInvocationHandler.java 2007-12-14
17:58:07 UTC (rev 5322)
@@ -115,6 +115,7 @@
rmResponseContext.put(RMConstant.PROTOCOL_MESSAGES, protocolMessages);
msgContext.remove(RMConstant.RESPONSE_CONTEXT);
RMServerSequence sequence = null;
+ boolean isSequenceAcknowledgementOnly = true;
if (RMHelper.isCreateSequence(rmReqProps))
{
@@ -122,6 +123,7 @@
sequences.add(sequence);
protocolMessages.add(rmConstants.getCreateSequenceResponseQName());
rmResponseContext.put(RMConstant.SEQUENCE_REFERENCE, sequence);
+ isSequenceAcknowledgementOnly = false;
}
if (RMHelper.isCloseSequence(rmReqProps))
@@ -139,6 +141,7 @@
protocolMessages.add(rmConstants.getCloseSequenceResponseQName());
protocolMessages.add(rmConstants.getSequenceAcknowledgementQName());
rmResponseContext.put(RMConstant.SEQUENCE_REFERENCE, sequence);
+ isSequenceAcknowledgementOnly = false;
}
if (RMHelper.isSequenceAcknowledgement(rmReqProps))
@@ -176,6 +179,7 @@
protocolMessages.add(rmConstants.getTerminateSequenceResponseQName());
protocolMessages.add(rmConstants.getSequenceAcknowledgementQName());
rmResponseContext.put(RMConstant.SEQUENCE_REFERENCE, sequence);
+ isSequenceAcknowledgementOnly = false;
}
if (RMHelper.isSequence(rmReqProps))
@@ -214,8 +218,11 @@
}
rmResponseContext.put(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_OUTBOUND,
addressingProps);
}
+ isSequenceAcknowledgementOnly = false;
}
+ rmResponseContext.put(RMConstant.ONE_WAY_OPERATION,
isSequenceAcknowledgementOnly);
+
return rmResponseContext;
}
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java 2007-12-14
16:18:56 UTC (rev 5321)
+++
stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java 2007-12-14
17:58:07 UTC (rev 5322)
@@ -37,7 +37,6 @@
import org.jboss.ws.core.soap.Style;
import org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder;
import org.jboss.ws.extensions.wsrm.common.RMHelper;
-import org.jboss.ws.extensions.wsrm.spi.RMProvider;
import org.jboss.ws.metadata.umdm.ClientEndpointMetaData;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.OperationMetaData;
Modified:
stack/native/trunk/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2007-12-14
16:18:56 UTC (rev 5321)
+++
stack/native/trunk/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2007-12-14
17:58:07 UTC (rev 5322)
@@ -77,6 +77,7 @@
import org.jboss.ws.core.soap.SOAPMessageImpl;
import org.jboss.ws.core.utils.ThreadLocalAssociation;
import org.jboss.ws.extensions.addressing.AddressingConstantsImpl;
+import org.jboss.ws.extensions.wsrm.RMConstant;
import org.jboss.ws.extensions.xop.XOPContext;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
@@ -303,7 +304,10 @@
}
}
- if (outStream != null)
+ Map<String, Object> rmResCtx = (Map<String,
Object>)msgContext.get(RMConstant.RESPONSE_CONTEXT);
+ boolean isWsrmMessage = rmResCtx != null;
+ boolean isWsrmOneWay = isWsrmMessage &&
(Boolean)rmResCtx.get(RMConstant.ONE_WAY_OPERATION);
+ if ((outStream != null) && (isWsrmOneWay == false)) // RM hack
sendResponse(outStream, msgContext, isFault);
}
catch (Exception ex)
Show replies by date