axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruno Negrao (JIRA)" <j...@apache.org>
Subject [jira] Created: (AXIS2-1575) Axis2 does not decodes SOAP responses using the character encoding set on the response's XML declaration. Problem converting from iso-8859-1 to utf-8.
Date Wed, 01 Nov 2006 14:50:54 GMT
Axis2 does not decodes SOAP responses using the character encoding set on the response's XML
declaration. Problem converting from iso-8859-1 to utf-8.
------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: AXIS2-1575
                 URL: http://issues.apache.org/jira/browse/AXIS2-1575
             Project: Apache Axis 2.0 (Axis2)
          Issue Type: Improvement
    Affects Versions: 1.0
         Environment: Windows XP + java 1.5 + axis2 1.0. I'm using client-side axis2 code.
no server-side axis is involved.
            Reporter: Bruno Negrao
            Priority: Blocker


My SOAP server (it isn't axis2 based) sends SOAP responses like this one shown at the end
of this message.

The soap server does not set the 'Content-type' http header as was expected so it's not possible
to get the charset used in the response body from that.

But the server defines the character encoding  on the response's XML declaration, example:

<?xml version="1.0" encoding="iso-8859-1"?>

Axis2 is ignoring the character enconding defining on the XML declaration and is decoding
all the strings sent as if they were UTF-8.

The result is I cannot display the words correctly here on the client-side. The OMElement.getText()
method returns crazy utf-8 characters instead of my latin characters (like á ó ç ã ê,
etc).

I proved that axis2 uses utf-8 to decode the network inputstream when I ran the following
method on the OMElement returned as response:

        response.getXMLStreamReader().getCharacterEncodingScheme()

It returns 'utf-8'  and it should return 'iso-8859-1'. Not only it returns utf-8 but it is
indeed using utf-8 to decode the inputstream, what is wrong for this situation.

The improvement I'm asking here is update axis2 so it obey to the encoding definition on the
response's XML declaration.

thank you,

bruno.

****************************************************************************************
AN EXAMPLE OF A SOAP RESPONSE SENT FROM MY SOAP SERVER:
****************************************************************************************

HTTP/1.0 200 OK
Content-length: 1269

<?xml version="1.0" encoding="iso-8859-1"?>
   <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">   
      <soap:Body>       
         <AgendaPesquisa>           
            <status>0</status>           
            <ListaContatosPesquisa>               
               <tipo>C</tipo>               
               <dono>lucia</dono>               
               <posicao>177</posicao>               
               <nome>Abricó Gimarães</nome>
               <email></email>           
            </ListaContatosPesquisa>       
         </AgendaPesquisa>   
      </soap:Body>
   </soap:Envelope>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message