[jbossws-commits] JBossWS SVN: r9349 - in stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core: soap and 1 other directories.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Mon Feb 23 10:25:12 EST 2009
Author: alessio.soldano at jboss.com
Date: 2009-02-23 10:25:12 -0500 (Mon, 23 Feb 2009)
New Revision: 9349
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/FastInfosetConnectionHTTP.java
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/MessageFactoryImpl.java
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/attachment/MimeConstants.java
Log:
[JBWS-2064] handle application/fastinfoset content-type
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/FastInfosetConnectionHTTP.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/FastInfosetConnectionHTTP.java 2009-02-23 14:24:20 UTC (rev 9348)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/FastInfosetConnectionHTTP.java 2009-02-23 15:25:12 UTC (rev 9349)
@@ -21,10 +21,16 @@
*/
package org.jboss.ws.core.client;
+import java.util.Map;
+
+import javax.xml.soap.MimeHeaders;
+
import org.jboss.remoting.marshal.Marshaller;
import org.jboss.remoting.marshal.UnMarshaller;
+import org.jboss.ws.core.MessageAbstraction;
import org.jboss.ws.core.soap.FastInfosetMarshaller;
import org.jboss.ws.core.soap.FastInfosetUnMarshaller;
+import org.jboss.ws.core.soap.attachment.MimeConstants;
/**
* SOAPConnection implementation
@@ -43,4 +49,14 @@
{
return new FastInfosetMarshaller();
}
+
+ @Override
+ protected void populateHeaders(MessageAbstraction reqMessage, Map<String, Object> metadata)
+ {
+ MimeHeaders mimeHeaders = reqMessage.getMimeHeaders();
+ mimeHeaders.setHeader(MimeConstants.CONTENT_TYPE, MimeConstants.TYPE_FASTINFOSET);
+ mimeHeaders.addHeader(MimeConstants.ACCEPT, MimeConstants.TYPE_FASTINFOSET);
+
+ super.populateHeaders(reqMessage, metadata);
+ }
}
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/MessageFactoryImpl.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/MessageFactoryImpl.java 2009-02-23 14:24:20 UTC (rev 9348)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/MessageFactoryImpl.java 2009-02-23 15:25:12 UTC (rev 9349)
@@ -256,6 +256,13 @@
inputStream = decoder.getRootPart().getDataHandler().getInputStream();
attachments = decoder.getRelatedParts();
}
+ else if (isFastInfosetContent(contentType))
+ {
+ if (!features.isFeatureEnabled(FastInfosetFeature.class))
+ {
+ throw new SOAPException("FastInfoset support is not enabled, use FastInfosetFeature to enable it.");
+ }
+ }
else if (isSoapContent(contentType) == false)
{
throw new SOAPException("Unsupported content type: " + contentType);
@@ -313,6 +320,12 @@
String baseType = type.getBaseType();
return MimeConstants.TYPE_SOAP11.equalsIgnoreCase(baseType) || MimeConstants.TYPE_SOAP12.equalsIgnoreCase(baseType);
}
+
+ private boolean isFastInfosetContent(ContentType type)
+ {
+ String baseType = type.getBaseType();
+ return MimeConstants.TYPE_FASTINFOSET.equalsIgnoreCase(baseType);
+ }
private boolean isMultipartRelatedContent(ContentType type)
{
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/attachment/MimeConstants.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/attachment/MimeConstants.java 2009-02-23 14:24:20 UTC (rev 9348)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/attachment/MimeConstants.java 2009-02-23 15:25:12 UTC (rev 9349)
@@ -29,6 +29,7 @@
public class MimeConstants
{
// Header constants
+ public static final String ACCEPT = "Accept";
public static final String CONTENT_ID = "Content-Id";
public static final String CONTENT_TYPE = "Content-Type";
public static final String CONTENT_LOCATION = "Content-Location";
@@ -43,6 +44,7 @@
public static final String TYPE_XML_UTF8 = TYPE_TEXT_XML + "; charset=UTF-8";
public static final String TYPE_SOAP11 = TYPE_TEXT_XML;
public static final String TYPE_SOAP12 = "application/soap+xml";
+ public static final String TYPE_FASTINFOSET = "application/fastinfoset";
// Encoding
public static final String TEXT_8BIT_ENCODING = "8bit";
More information about the jbossws-commits
mailing list