axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Saminda Abeyruwan <sami...@opensource.lk>
Subject Re: [Axis2] Upgraded transport sender
Date Tue, 06 Sep 2005 13:59:05 GMT
Davanum Srinivas wrote:

>too many whitespaces :( can't really say what changed :( :(
> 
>-- dims
>  
>
Sorry for the inconvenience caused with prior patch. More clearer path 
is apply herewith.

Thanks

Saminda

>On 9/6/05, Saminda Abeyruwan <saminda@opensource.lk> wrote:
>  
>
>>Hi all,
>>
>>CommonsHttpTransportSender being changed to support chunking on/off,
>>when optimized content is present. In order to switch on/off axis2.xml
>>need to be modified as follows.
>>
>>.....
>><transportSender name="http"
>>class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
>>        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
>>        <parameter name="Transfer-Encoding"
>>locked="false">chunked</parameter>
>></transportSender>
>>....
>>
>>Please apply this patch. Thanks
>>
>>Saminda
>>
>>
>>Index: src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
>>===================================================================
>>--- src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java (revision
278977)
>>+++ src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java (working copy)
>>@@ -69,15 +69,17 @@
>>     public void invoke(MessageContext msgContext) throws AxisFault {
>>         try {
>>             String charSetEnc =
>>-                    (String) msgContext.getProperty(
>>-                            MessageContext.CHARACTER_SET_ENCODING);
>>+                    (String) msgContext.getProperty(MessageContext.CHARACTER_SET_ENCODING);
>>             if (charSetEnc != null) {
>>                 omOutput.setCharSetEncoding(charSetEnc);
>>             } else {
>>                 OperationContext opctx = msgContext.getOperationContext();
>>-                if(opctx != null) {
>>-                    charSetEnc = (String)opctx.getProperty(MessageContext.CHARACTER_SET_ENCODING);
>>+
>>+                if (opctx != null) {
>>+                    charSetEnc =
>>+                            (String) opctx.getProperty(MessageContext.CHARACTER_SET_ENCODING);
>>                 }
>>+
>>             }
>>             /**
>>              * If the char set enc is still not found use the default
>>@@ -85,10 +87,12 @@
>>             if(charSetEnc == null) {
>>                 charSetEnc = MessageContext.DEFAULT_CHAR_SET_ENCODING;
>>             }
>>+
>>             msgContext.setDoingMTOM(HTTPTransportUtils.doWriteMTOM(msgContext));
>>             omOutput.setSoap11(msgContext.isSOAP11());
>>             omOutput.setDoOptimize(msgContext.isDoingMTOM());
>>
>>+
>>             omOutput.setCharSetEncoding(charSetEnc);
>>
>>             //Check for the REST behaviour, if you desire rest beahaviour
>>@@ -96,10 +100,12 @@
>>             // server.xml/client.xml file
>>             EndpointReference epr = null;
>>             if (msgContext.getTo() != null
>>-                    && !AddressingConstants.Submission.WSA_ANONYMOUS_URL.equals(
>>-                            msgContext.getTo().getAddress())
>>-                    && !AddressingConstants.Final.WSA_ANONYMOUS_URL.equals(
>>-                            msgContext.getTo().getAddress())) {
>>+                    &&
>>+                    !AddressingConstants.Submission.WSA_ANONYMOUS_URL.equals(msgContext.getTo()
>>+                    .getAddress())
>>+                    &&
>>+                    !AddressingConstants.Final.WSA_ANONYMOUS_URL.equals(msgContext.getTo()
>>+                    .getAddress())) {
>>                 epr = msgContext.getTo();
>>             }
>>
>>@@ -115,26 +121,24 @@
>>                 writeMessageWithCommons(msgContext, epr, dataOut);
>>             } else {
>>                 OutputStream out =
>>-                        (OutputStream) msgContext.getProperty(
>>-                                MessageContext.TRANSPORT_OUT);
>>+                        (OutputStream) msgContext.getProperty(MessageContext.TRANSPORT_OUT);
>>                 if (msgContext.isServerSide()) {
>>                     HTTPOutTransportInfo transportInfo =
>>-                            (HTTPOutTransportInfo) msgContext.getProperty(
>>-                                    HTTPConstants.HTTPOutTransportInfo);
>>+                            (HTTPOutTransportInfo) msgContext.getProperty(HTTPConstants.HTTPOutTransportInfo);
>>                     if (transportInfo != null) {
>>                         omOutput.setSoap11(msgContext.isSOAP11());
>>                         transportInfo.setContentType(omOutput.getContentType());
>>-                    }else{
>>-                        throw new AxisFault(HTTPConstants.HTTPOutTransportInfo +
" does not set");
>>+                    } else {
>>+                        throw new AxisFault(HTTPConstants.HTTPOutTransportInfo +
>>+                                " does not set");
>>                     }
>>                 }
>>                 omOutput.setOutputStream(out, msgContext.isDoingMTOM());
>>                 dataOut.serialize(omOutput);
>>                 omOutput.flush();
>>             }
>>-            if(msgContext.getOperationContext() != null){
>>-                msgContext.getOperationContext().setProperty(
>>-                        Constants.RESPONSE_WRITTEN,
>>+            if (msgContext.getOperationContext() != null) {
>>+                msgContext.getOperationContext().setProperty(Constants.RESPONSE_WRITTEN,
>>                         Constants.VALUE_TRUE);
>>             }
>>         } catch (XMLStreamException e) {
>>@@ -146,16 +150,14 @@
>>         }
>>     }
>>
>>-    public void writeMessageWithToOutPutStream(
>>-            MessageContext msgContext,
>>-            OutputStream out) {
>>+    public void writeMessageWithToOutPutStream(MessageContext msgContext,
>>+                                               OutputStream out) {
>>
>>     }
>>
>>-    public void writeMessageWithCommons(
>>-            MessageContext msgContext,
>>-            EndpointReference toURL,
>>-            OMElement dataout)
>>+    public void writeMessageWithCommons(MessageContext msgContext,
>>+                                        EndpointReference toURL,
>>+                                        OMElement dataout)
>>             throws AxisFault {
>>         try {
>>             URL url = new URL(toURL.getAddress());
>>@@ -170,16 +172,14 @@
>>             //supporting RESTFacility..
>>
>>             if (!msgContext.isDoingREST()) {
>>-                this.transportConfigurationPOST(
>>-                        msgContext,
>>+                this.transportConfigurationPOST(msgContext,
>>                         dataout,
>>                         url,
>>                         soapActionString);
>>             }
>>             if (msgContext.isDoingREST()) {
>>                 if (msgContext.isRestThroughPOST()) {
>>-                    this.transportConfigurationPOST(
>>-                            msgContext,
>>+                    this.transportConfigurationPOST(msgContext,
>>                             dataout,
>>                             url,
>>                             soapActionString);
>>@@ -196,13 +196,12 @@
>>         }
>>
>>     }
>>-    protected HostConfiguration getHostConfiguration(
>>-            MessageContext context,
>>-            URL targetURL) {
>>+
>>+    protected HostConfiguration getHostConfiguration(MessageContext context,
>>+                                                     URL targetURL) {
>>         //TODO cheaking wheather the host is a proxy
>>         HostConfiguration config = new HostConfiguration();
>>-        config.setHost(
>>-                targetURL.getHost(),
>>+        config.setHost(targetURL.getHost(),
>>                 targetURL.getPort() == -1 ? 80 : targetURL.getPort());
>>         return config;
>>     }
>>@@ -220,11 +219,10 @@
>>
>>         private boolean doingMTOM = false;
>>
>>-        public AxisRequestEntity(
>>-                OMElement element,
>>-                boolean chuncked,
>>-                boolean doingMTOM,
>>-                String charSetEncoding) {
>>+        public AxisRequestEntity(OMElement element,
>>+                                 boolean chuncked,
>>+                                 boolean doingMTOM,
>>+                                 String charSetEncoding) {
>>             this.element = element;
>>             this.chuncked = chuncked;
>>             this.doingMTOM = doingMTOM;
>>@@ -237,16 +235,26 @@
>>
>>         public byte[] writeBytes() throws AxisFault {
>>             try {
>>+
>>                 ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
>>-                XMLStreamWriter outputWriter =
>>-                        XMLOutputFactory.newInstance().createXMLStreamWriter(
>>-                                bytesOut,
>>-                                charSetEnc);
>>-                OMOutputImpl out = new OMOutputImpl(outputWriter);
>>-                out.setCharSetEncoding(charSetEnc);
>>-                element.serialize(out);
>>-                out.flush();
>>-                return bytesOut.toByteArray();
>>+
>>+                if (!doingMTOM) {
>>+                    XMLStreamWriter outputWriter =
>>+                            XMLOutputFactory.newInstance()
>>+                            .createXMLStreamWriter(bytesOut,
>>+                                    charSetEnc);
>>+                    OMOutputImpl output = new OMOutputImpl(outputWriter);
>>+                    output.setCharSetEncoding(charSetEnc);
>>+                    element.serialize(output);
>>+                    output.flush();
>>+                    return bytesOut.toByteArray();
>>+                } else {
>>+                    omOutput.setCharSetEncoding(charSetEnc);
>>+                    omOutput.setOutputStream(bytesOut, true);  //changed...
>>+                    element.serialize(omOutput);
>>+                    omOutput.flush();
>>+                    return bytesOut.toByteArray();
>>+                }
>>             } catch (XMLStreamException e) {
>>                 throw new AxisFault(e);
>>             } catch (FactoryConfigurationError e) {
>>@@ -254,20 +262,36 @@
>>             }
>>         }
>>
>>+        private void handleOMOutput(OutputStream out, boolean doingMTOM)
>>+                throws XMLStreamException {
>>+            omOutput.setOutputStream(out, doingMTOM);
>>+            element.serialize(omOutput);
>>+            omOutput.flush();
>>+        }
>>+
>>         public void writeRequest(OutputStream out) throws IOException {
>>             try {
>>-                if (chuncked || doingMTOM) {
>>-                    omOutput.setOutputStream(out, doingMTOM);
>>-                    element.serialize(omOutput);
>>-                    omOutput.flush();
>>+                if (doingMTOM) { //chagened ..
>>+                    if (chuncked) {
>>+                        this.handleOMOutput(out, doingMTOM);
>>+                    } else {
>>+                        if (bytes == null) {
>>+                            bytes = writeBytes();
>>+                        }
>>+                        out.write(bytes);
>>+                    }
>>
>>                 } else {
>>-                    if (bytes == null) {
>>-                        bytes = writeBytes();
>>+                    if (chuncked) {
>>+                        this.handleOMOutput(out, doingMTOM);
>>+                    } else {
>>+                        if (bytes == null) {
>>+                            bytes = writeBytes();
>>+                        }
>>+                        out.write(bytes);
>>                     }
>>-                    out.write(bytes);
>>                 }
>>-               out.flush();
>>+                out.flush();
>>             } catch (XMLStreamException e) {
>>                 throw new AxisFault(e);
>>             } catch (FactoryConfigurationError e) {
>>@@ -279,13 +303,24 @@
>>
>>         public long getContentLength() {
>>             try {
>>-                if (chuncked || doingMTOM) {
>>-                    return -1;
>>+                if (doingMTOM) {    //chagened
>>+                    if (chuncked) {
>>+                        return -1;
>>+                    } else {
>>+                        if (bytes == null) {
>>+                            bytes = writeBytes();
>>+                        }
>>+                        return bytes.length;
>>+                    }
>>                 } else {
>>-                    if (bytes == null) {
>>-                        bytes = writeBytes();
>>+                    if (chuncked) {
>>+                        return -1;
>>+                    } else {
>>+                        if (bytes == null) {
>>+                            bytes = writeBytes();
>>+                        }
>>+                        return bytes.length;
>>                     }
>>-                    return bytes.length;
>>                 }
>>             } catch (AxisFault e) {
>>                 return -1;
>>@@ -311,9 +346,8 @@
>>
>>     }
>>
>>-    public void init(
>>-            ConfigurationContext confContext,
>>-            TransportOutDescription transportOut)
>>+    public void init(ConfigurationContext confContext,
>>+                     TransportOutDescription transportOut)
>>             throws AxisFault {
>>         //<parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>
or
>>         //<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
is
>>@@ -324,19 +358,17 @@
>>             if (HTTPConstants.HEADER_PROTOCOL_11.equals(version.getValue())) {
>>                 this.httpVersion = HTTPConstants.HEADER_PROTOCOL_11;
>>                 Parameter transferEncoding =
>>-                        transportOut.getParameter(
>>-                                HTTPConstants.HEADER_TRANSFER_ENCODING);
>>+                        transportOut.getParameter(HTTPConstants.HEADER_TRANSFER_ENCODING);
>>                 if (transferEncoding != null
>>-                        && HTTPConstants.HEADER_TRANSFER_ENCODING_CHUNKED.equals(
>>-                                transferEncoding.getValue())) {
>>+                        &&
>>+                        HTTPConstants.HEADER_TRANSFER_ENCODING_CHUNKED.equals(transferEncoding.getValue()))
{
>>                     this.chuncked = true;
>>                 }
>>             } else if (
>>                     HTTPConstants.HEADER_PROTOCOL_10.equals(version.getValue()))
{
>>                 this.httpVersion = HTTPConstants.HEADER_PROTOCOL_10;
>>             } else {
>>-                throw new AxisFault(
>>-                        "Parameter "
>>+                throw new AxisFault("Parameter "
>>                         + HTTPConstants.PROTOCOL_VERSION
>>                         + " Can have values only HTTP/1.0 or HTTP/1.1");
>>             }
>>@@ -344,11 +376,10 @@
>>
>>     }
>>
>>-    private void transportConfigurationPOST(
>>-            MessageContext msgContext,
>>-            OMElement dataout,
>>-            URL url,
>>-            String soapActionString)
>>+    private void transportConfigurationPOST(MessageContext msgContext,
>>+                                            OMElement dataout,
>>+                                            URL url,
>>+                                            String soapActionString)
>>             throws MalformedURLException, AxisFault, IOException {
>>
>>         //execuite the HtttpMethodBase - a connection manager can be given for handle
multiple
>>@@ -367,29 +398,24 @@
>>         msgContext.setProperty(HTTP_METHOD, postMethod);
>>
>>         String charEncoding =
>>-                (String) msgContext.getProperty(
>>-                        MessageContext.CHARACTER_SET_ENCODING);
>>-        if(charEncoding == null){
>>+                (String) msgContext.getProperty(MessageContext.CHARACTER_SET_ENCODING);
>>+        if (charEncoding == null) {
>>             charEncoding = MessageContext.DEFAULT_CHAR_SET_ENCODING;
>>         }
>>
>>-        postMethod.setRequestEntity(
>>-                new AxisRequestEntity(
>>-                        dataout,
>>-                        chuncked,
>>-                        msgContext.isDoingMTOM(),
>>-                        charEncoding));
>>+        postMethod.setRequestEntity(new AxisRequestEntity(dataout,
>>+                chuncked,
>>+                msgContext.isDoingMTOM(),
>>+                charEncoding));
>>
>>         if (!httpVersion.equals(HTTPConstants.HEADER_PROTOCOL_10)
>>                 && chuncked) {
>>             postMethod.setContentChunked(true);
>>         }
>>-        postMethod.setRequestHeader(
>>-                HTTPConstants.HEADER_USER_AGENT,
>>+        postMethod.setRequestHeader(HTTPConstants.HEADER_USER_AGENT,
>>                 "Axis/2.0");
>>         if (!msgContext.isDoingREST()) {
>>-            postMethod.setRequestHeader(
>>-                    HTTPConstants.HEADER_SOAP_ACTION,
>>+            postMethod.setRequestHeader(HTTPConstants.HEADER_SOAP_ACTION,
>>                     soapActionString);
>>         }
>>         postMethod.setRequestHeader(HTTPConstants.HEADER_HOST, url.getHost());
>>@@ -397,57 +423,53 @@
>>             if (httpVersion.equals(HTTPConstants.HEADER_PROTOCOL_10)) {
>>                 //postMethod.setHttp11(false); todo method to findout the transport
version...
>>                 //allowing keep-alive for 1.0
>>-                postMethod.setRequestHeader(
>>-                        HTTPConstants.HEADER_CONNECTION,
>>+                postMethod.setRequestHeader(HTTPConstants.HEADER_CONNECTION,
>>                         HTTPConstants.HEADER_CONNECTION_KEEPALIVE);
>>             } else {
>>                 // allowing keep-alive for 1.1
>>-                postMethod.setRequestHeader(
>>-                        HTTPConstants.HEADER_CONNECTION,
>>+                postMethod.setRequestHeader(HTTPConstants.HEADER_CONNECTION,
>>                         HTTPConstants.HEADER_CONNECTION_KEEPALIVE);
>>-                postMethod.setRequestHeader(
>>-                        HTTPConstants.HEADER_EXPECT,
>>+                postMethod.setRequestHeader(HTTPConstants.HEADER_EXPECT,
>>                         HTTPConstants.HEADER_EXPECT_100_Continue);
>>             }
>>         }
>>-
>>+
>>         this.httpClient.executeMethod(postMethod);
>>
>>         if (postMethod.getStatusCode() == HttpStatus.SC_OK) {
>>             processResponse(postMethod, msgContext);
>>         } else if (postMethod.getStatusCode() == HttpStatus.SC_ACCEPTED) {
>>             return;
>>-        } else  if (postMethod.getStatusCode() == HttpStatus.SC_INTERNAL_SERVER_ERROR){
>>+        } else if (postMethod.getStatusCode() ==
>>+                HttpStatus.SC_INTERNAL_SERVER_ERROR) {
>>
>>-            Header contenttypeHheader = postMethod.getResponseHeader(
>>-                    HTTPConstants.HEADER_CONTENT_TYPE);
>>+            Header contenttypeHheader = postMethod.getResponseHeader(HTTPConstants.HEADER_CONTENT_TYPE);
>>
>>             String value = contenttypeHheader.getValue();
>>-            if(value != null){
>>-                if(value.indexOf(SOAP11Constants.SOAP_11_CONTENT_TYPE)>=0||
>>-                        value.indexOf(SOAP12Constants.SOAP_12_CONTENT_TYPE) >=0){
>>+            if (value != null) {
>>+                if (value.indexOf(SOAP11Constants.SOAP_11_CONTENT_TYPE) >= 0 ||
>>+                        value.indexOf(SOAP12Constants.SOAP_12_CONTENT_TYPE) >=
>>+                        0) {
>>                     processResponse(postMethod, msgContext);
>>                 }
>>             }
>>-        }else{
>>-            throw new AxisFault(
>>-                    Messages.getMessage(
>>-                            "transportError",
>>-                            String.valueOf(postMethod.getStatusCode()),
>>-                            postMethod.getResponseBodyAsString()));
>>+        } else {
>>+            throw new AxisFault(Messages.getMessage("transportError",
>>+                    String.valueOf(postMethod.getStatusCode()),
>>+                    postMethod.getResponseBodyAsString()));
>>         }
>>
>>     }
>>
>>-    private void processResponse(HttpMethodBase httpMethod, MessageContext msgContext)
throws IOException {
>>+    private void processResponse(HttpMethodBase httpMethod,
>>+                                 MessageContext msgContext) throws IOException {
>>         obatainHTTPHeaderInformation(httpMethod, msgContext);
>>         InputStream in = httpMethod.getResponseBodyAsStream();
>>         if (in == null) {
>>-            throw new AxisFault(
>>-                    Messages.getMessage("canNotBeNull", "InputStream"));
>>+            throw new AxisFault(Messages.getMessage("canNotBeNull",
>>+                    "InputStream"));
>>         }
>>-        msgContext.getOperationContext().setProperty(
>>-                MessageContext.TRANSPORT_IN,
>>+        msgContext.getOperationContext().setProperty(MessageContext.TRANSPORT_IN,
>>                 in);
>>     }
>>
>>@@ -457,16 +479,13 @@
>>         getMethod.setPath(url.getFile());
>>
>>         String charEncoding =
>>-                (String) msgContext.getProperty(
>>-                        MessageContext.CHARACTER_SET_ENCODING);
>>+                (String) msgContext.getProperty(MessageContext.CHARACTER_SET_ENCODING);
>>         if (charEncoding == null) //Default encoding scheme
>>-            getMethod.setRequestHeader(
>>-                    HTTPConstants.HEADER_CONTENT_TYPE,
>>+            getMethod.setRequestHeader(HTTPConstants.HEADER_CONTENT_TYPE,
>>                     "text/xml; charset="
>>                     + MessageContext.DEFAULT_CHAR_SET_ENCODING);
>>         else
>>-            getMethod.setRequestHeader(
>>-                    HTTPConstants.HEADER_CONTENT_TYPE,
>>+            getMethod.setRequestHeader(HTTPConstants.HEADER_CONTENT_TYPE,
>>                     "text/xml; charset=" + charEncoding);
>>
>>         this.httpClient = new HttpClient();
>>@@ -490,34 +509,35 @@
>> //                    in);
>>         } else if (getMethod.getStatusCode() == HttpStatus.SC_ACCEPTED) {
>>             return;
>>-        }else  if (getMethod.getStatusCode() == HttpStatus.SC_INTERNAL_SERVER_ERROR){
>>+        } else if (getMethod.getStatusCode() ==
>>+                HttpStatus.SC_INTERNAL_SERVER_ERROR) {
>>
>>-            Header contenttypeHheader = getMethod.getResponseHeader(
>>-                    HTTPConstants.HEADER_CONTENT_TYPE);
>>+            Header contenttypeHheader = getMethod.getResponseHeader(HTTPConstants.HEADER_CONTENT_TYPE);
>>
>>-             String value = contenttypeHheader.getValue();
>>-            if(value != null){
>>-                if(value.indexOf(SOAP11Constants.SOAP_11_CONTENT_TYPE)>=0||
>>-                        value.indexOf(SOAP12Constants.SOAP_12_CONTENT_TYPE) >=0){
>>+            String value = contenttypeHheader.getValue();
>>+            if (value != null) {
>>+                if (value.indexOf(SOAP11Constants.SOAP_11_CONTENT_TYPE) >= 0 ||
>>+                        value.indexOf(SOAP12Constants.SOAP_12_CONTENT_TYPE) >=
>>+                        0) {
>>                     processResponse(getMethod, msgContext);
>>                 }
>>
>>             }
>>-        }else{
>>-            throw new AxisFault(
>>-                    Messages.getMessage(
>>-                            "transportError",
>>-                            String.valueOf(getMethod.getStatusCode()),
>>-                            getMethod.getResponseBodyAsString()));
>>+        } else {
>>+            throw new AxisFault(Messages.getMessage("transportError",
>>+                    String.valueOf(getMethod.getStatusCode()),
>>+                    getMethod.getResponseBodyAsString()));
>>         }
>>     }
>>
>>     /**
>>      * Collect the HTTP header information and set them in the message context
>>+     *
>>      * @param method
>>      * @param msgContext
>>      */
>>-    private void obatainHTTPHeaderInformation(HttpMethodBase method,MessageContext
msgContext) {
>>+    private void obatainHTTPHeaderInformation(HttpMethodBase method,
>>+                                              MessageContext msgContext) {
>>         Header header =
>>                 method.getResponseHeader(HTTPConstants.HEADER_CONTENT_TYPE);
>>         if (header != null) {
>>@@ -527,20 +547,22 @@
>>                         .getParameterByName(HTTPConstants.CHAR_SET_ENCODING);
>>                 if (headers[i]
>>                         .getName()
>>-                        .equalsIgnoreCase(
>>-                                HTTPConstants.HEADER_ACCEPT_MULTIPART_RELATED)) {
>>+                        .equalsIgnoreCase(HTTPConstants.HEADER_ACCEPT_MULTIPART_RELATED))
{
>>                     OperationContext opContext =
>>                             msgContext.getOperationContext();
>>                     if (opContext != null) {
>>-                        opContext.setProperty(
>>-                                HTTPConstants.MTOM_RECIVED_CONTENT_TYPE,
>>+                        opContext.setProperty(HTTPConstants.MTOM_RECIVED_CONTENT_TYPE,
>>                                 header.getValue());
>>                     }
>>+                    if (charsetEnc != null) {
>>+                        msgContext.setProperty(MessageContext.CHARACTER_SET_ENCODING,
>>+                                charsetEnc);
>>+                    }
>>+
>>                 } else if (charsetEnc != null) {
>>
>>                     msgContext
>>-                            .setProperty(
>>-                                    MessageContext.CHARACTER_SET_ENCODING,
>>+                            .setProperty(MessageContext.CHARACTER_SET_ENCODING,
>>                                     charsetEnc);
>>                 }
>>             }
>>
>>
>>
>>    
>>
>
>
>  
>


Mime
View raw message