[jboss-remoting-commits] JBoss Remoting SVN: r5408 - remoting2/branches/2.x/docs/guide/en.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Sat Aug 29 23:25:02 EDT 2009


Author: ron.sigal at jboss.com
Date: 2009-08-29 23:25:02 -0400 (Sat, 29 Aug 2009)
New Revision: 5408

Modified:
   remoting2/branches/2.x/docs/guide/en/chap5.xml
Log:
JBREM-1145: Added discussion of "remotingContentType" return header.

Modified: remoting2/branches/2.x/docs/guide/en/chap5.xml
===================================================================
--- remoting2/branches/2.x/docs/guide/en/chap5.xml	2009-08-30 03:24:24 UTC (rev 5407)
+++ remoting2/branches/2.x/docs/guide/en/chap5.xml	2009-08-30 03:25:02 UTC (rev 5408)
@@ -703,8 +703,8 @@
     (application/octet-stream).</para>
 
     <para>The handlers receiving http invocations can also set the response
-    code, response message, and response headers. To do this, will need to get
-    the return payload map from the InvocationRequest passed (via its
+    code, response message, response headers, and content-type. To do this, will
+    need to get the return payload map from the InvocationRequest passed (via its
     getReturnPayload() method). Then populate this map with whatever
     properties needed. For response code and message, will need to use the
     following keys for the map:</para>
@@ -2810,7 +2810,7 @@
     is required (only the ability for the client to access the server on the
     specified loader port, so must provide access if running through
     firewall).</para>
-
+    
     <para><emphasis role="bold">Note.</emphasis> Prior to release 2.5.2, only the
     parameters in the <classname>InvokerLocator</classname> were used to configure
     marshallers and unmarshallers.  As of release 2.5.2 the parameters in the
@@ -2819,6 +2819,23 @@
     be used if the parameter
     <code>org.jboss.remoting.Remoting.PASS_CONFIG_MAP_TO_MARSHAL_FACTORY</code>
     (actual value "passConfigMapToMarshalFactory") is set to "true".</para>
+    
+    <bridgehead>Http marshalling</bridgehead>
+    <para>By default, the http, https, servlet, and sslservlet transports use 
+    <classname>org.jboss.remoting.marshal.http.HTTPMarshaller</classname> and
+    <classname>org.jboss.remoting.marshal.http.HTTPUnMarshaller</classname>,
+    which are distinct from their parent classes
+    <classname>org.jboss.remoting.marshal.serializable.SerializableMarshaller</classname>
+    and <classname>org.jboss.remoting.marshal.serializable.SerializableUnMarshaller</classname>
+    only insofar as they treat Strings as a special case in the interest of efficiency.
+    However, prior to release 2.5.2, <classname>HTTPUnMarshaller</classname> incorrectly
+    uses the content-type set by the <classname>ServerInvocationHandler</classname> (if
+    any), which would normally apply to the application payload of a response rather
+    than the type of the envelope.  As of release 2.5.2, this behavior remains the
+    default, but it can be corrected by setting the parameter 
+    <code>org.jboss.remoting.transport.http.HTTPMetadataConstants.USE_REMOTING_CONTENT_TYPE</code>
+    (actual value "useRemotingContentType") to "true".</para>
+
     <bridgehead>Compression marshalling</bridgehead>
 
     <para>A compression marshaller/unmarshaller is available as well which
@@ -6612,6 +6629,16 @@
     should revert to the orginal error handling behavior of returning an error
     message.</para>
 
+    <para><emphasis role="bold">USE_REMOTING_CONTENT_TYPE</emphasis> (actual value
+    is 'useRemotingContentType') - key indicating if 
+    <classname>org.jboss.remoting.marshal.http.HTTPUnMarshaller</classname>
+    should determine that it is reading a String by using the "content-type"
+    return header (if set to "false") or the "remotingContentType" header
+    if set to "true".  The default value is "false", to avoid introducing any
+    inconsistent behavior between versions, but, if the
+    <classname>org.jboss.remoting.ServerInvocationHandler</classname> sets
+    the content-type return header, then this parameter should be set to "true".</para>
+    
     <para>For every http client request made from remoting client, a remoting
     version and remoting specific user agent will be set as a request
     property. The request property key for the remoting version will be



More information about the jboss-remoting-commits mailing list