[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