[jbossws-commits] JBossWS SVN: r4957 - in stack/native/branches/asoldano/trunk/src/main/java/org/jboss/ws/core: soap and 1 other directory.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Wed Oct 31 10:41:21 EDT 2007
Author: alessio.soldano at jboss.com
Date: 2007-10-31 10:41:21 -0400 (Wed, 31 Oct 2007)
New Revision: 4957
Modified:
stack/native/branches/asoldano/trunk/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
stack/native/branches/asoldano/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageImpl.java
Log:
[JBWS-1876] Improvement and fix for oneway dispatch
Modified: stack/native/branches/asoldano/trunk/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
===================================================================
--- stack/native/branches/asoldano/trunk/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java 2007-10-31 14:39:59 UTC (rev 4956)
+++ stack/native/branches/asoldano/trunk/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java 2007-10-31 14:41:21 UTC (rev 4957)
@@ -318,6 +318,9 @@
public void invokeOneWay(T msg)
{
+ CommonMessageContext msgContext = new SOAPMessageContextJAXWS();
+ MessageContextAssociation.pushMessageContext(msgContext);
+ msgContext.setEndpointMetaData(epMetaData);
try
{
MessageAbstraction reqMsg = getRequestMessage(msg);
@@ -328,6 +331,10 @@
{
handleInvokeException(ex);
}
+ finally
+ {
+ MessageContextAssociation.popMessageContext();
+ }
}
// 4.17. Conformance (Failed Dispatch.invoke): When an operation is invoked using an invoke method, an
Modified: stack/native/branches/asoldano/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageImpl.java
===================================================================
--- stack/native/branches/asoldano/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageImpl.java 2007-10-31 14:39:59 UTC (rev 4956)
+++ stack/native/branches/asoldano/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageImpl.java 2007-10-31 14:41:21 UTC (rev 4957)
@@ -42,6 +42,7 @@
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;
+import org.jboss.ws.Constants;
import org.jboss.ws.WSException;
import org.jboss.ws.core.CommonMessageContext;
import org.jboss.ws.core.SOAPMessageAbstraction;
@@ -225,10 +226,20 @@
private String getSOAPContentType() throws SOAPException
{
- if (SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE.equals(soapPart.getEnvelope().getNamespaceURI()))
+ //Check binding type in the endpoint metadata
+ CommonMessageContext msgContext = MessageContextAssociation.peekMessageContext();
+ if (msgContext != null && Constants.SOAP12HTTP_BINDING.equalsIgnoreCase(msgContext.getEndpointMetaData().getBindingId()))
+ {
return SOAPConstants.SOAP_1_2_CONTENT_TYPE;
- else
- return SOAPConstants.SOAP_1_1_CONTENT_TYPE;
+ }
+ //Check the message envelope
+ SOAPEnvelope env = soapPart != null ? soapPart.getEnvelope() : null;
+ if (env != null && SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE.equals(env.getNamespaceURI()))
+ {
+ return SOAPConstants.SOAP_1_2_CONTENT_TYPE;
+ }
+ //Default to soap 1.1
+ return SOAPConstants.SOAP_1_1_CONTENT_TYPE;
}
public void saveChanges() throws SOAPException
More information about the jbossws-commits
mailing list