You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by joe j robles <jo...@gmail.com> on 2011/07/27 04:25:50 UTC

axis 1.4 non ascii chars issue

Hi all,

I have axis 1.4 based SOAP webservice client that is over a java application
that returns a XML string for a client request.
The java application returns the xml well in case of non-ascii characters
like Ô. But when it is part of the SOAP body, the special characters are
replaced by Replacement character - \ufffd.
The axis request and response have encoding set as UTF-8. The database from
which data is retireved has the encoding as UTF-8. I am not sure why the
soap message is not able to deal with the special characters well. Same
issues in the case of these characters - <, >, quotation sign, ' 

How to make the soap message understand these characters? 
Is this a known issue with axis?

I do not have this issue if xfire based soap client is used. But
unfortunately, I need to use axis based client. 

Any help is appreciated.

Thanks in advance.
-- 
View this message in context: http://old.nabble.com/axis-1.4-non-ascii-chars-issue-tp32144892p32144892.html
Sent from the Axis - User mailing list archive at Nabble.com.


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


AW: axis 1.4 non ascii chars issue

Posted by Stadelmann Josef <jo...@axa-winterthur.ch>.
To get the best answer you can, (dont trust anybody but get it for sure)
Download Axis2/J-1.6
Deploy it at your Workstation or PC to the Application Server (Tomcat, JBoss, Glasfish (part of NetBeans)) or start the Standallone-Server of Axis2/J-1.6. Take the litle Hello-World Example and make it an ECHO service. The client should create a constructed string, one which consists of characters generated by incrementing an integer and then converting it to char in the string. Find out by a TCPmonitor how well they are converted from  a 7bit-ASCII or an 8bit-ISO-8859-1 char into UTF-8 and put to the wire, the SOAP-XML. Pass such strings or char to the stub to reach the service, check what arrives and return it. In particular, among chars, there are chars which have additional substitution when transferred by SOAP-XML over HTTP. This are at least "<", ">", '"', "&" "#" and maybe a few others which need to be escaped for legal XML-data.

Personally I was running through the same issue.
MS-WCF-3.5-Client to Axis2-1.2-Server no need, all non ASCII chars where encoded to UTF-8
Axis2-1.2-Server to MS-WCF-3.5-Client need to have a service which delivers strict UTF-8 chars as else the Axis2/J engine raises an exception. Given you have a legacy server behind which is as in our case an old DECi, used to work only with DEC multinational  - ISO-88589-1 - character encoding, also such characters are stored in our ORACLE DB, then you have an absolute demand to convert such results from ISOLatin2UTF8() found in axutil of Axis2/J+C.

Josef



-----Ursprüngliche Nachricht-----
Von: joe j robles [mailto:joe.j.robles@gmail.com] 
Gesendet: Donnerstag, 28. Juli 2011 04:43
An: axis-user@ws.apache.org
Betreff: Re: axis 1.4 non ascii chars issue


Hi all,

Apache axis 1.4 related UTF8Encoder class does not write the non-ASCII
characters as they are in the xml response as the class does the following
instead:

    if (character > 0x7F){
        writer.write("&#x");
        writer.write(Integer.toHexString(character).toUpperCase());
        writer.write(";");}

Does any one know if this issue is already taken care of already in Axis2?
if not, wondering if there is work around already.

Thanks in advance for your valuable input.




joe j robles wrote:
> 
> Hi all,
> 
> I have axis 1.4 based SOAP webservice client that is over a java
> application that returns a XML string for a client request.
> The java application returns the xml well in case of non-ascii characters
> like Ô. But when it is part of the SOAP body, the special characters are
> replaced by Replacement character - \ufffd.
> The axis request and response have encoding set as UTF-8. The database
> from which data is retireved has the encoding as UTF-8. I am not sure why
> the soap message is not able to deal with the special characters well.
> Same issues in the case of these characters - <, >, quotation sign, ' 
> 
> How to make the soap message understand these characters? 
> Is this a known issue with axis?
> 
> I do not have this issue if xfire based soap client is used. But
> unfortunately, I need to use axis based client. 
> 
> Any help is appreciated.
> 
> Thanks in advance.
> 

-- 
View this message in context: http://old.nabble.com/axis-1.4-non-ascii-chars-issue-tp32144892p32153417.html
Sent from the Axis - User mailing list archive at Nabble.com.


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


Re: axis 1.4 non ascii chars issue

Posted by joe j robles <jo...@gmail.com>.
Hi all,

Apache axis 1.4 related UTF8Encoder class does not write the non-ASCII
characters as they are in the xml response as the class does the following
instead:

    if (character > 0x7F){
        writer.write("&#x");
        writer.write(Integer.toHexString(character).toUpperCase());
        writer.write(";");}

Does any one know if this issue is already taken care of already in Axis2?
if not, wondering if there is work around already.

Thanks in advance for your valuable input.




joe j robles wrote:
> 
> Hi all,
> 
> I have axis 1.4 based SOAP webservice client that is over a java
> application that returns a XML string for a client request.
> The java application returns the xml well in case of non-ascii characters
> like Ô. But when it is part of the SOAP body, the special characters are
> replaced by Replacement character - \ufffd.
> The axis request and response have encoding set as UTF-8. The database
> from which data is retireved has the encoding as UTF-8. I am not sure why
> the soap message is not able to deal with the special characters well.
> Same issues in the case of these characters - <, >, quotation sign, ' 
> 
> How to make the soap message understand these characters? 
> Is this a known issue with axis?
> 
> I do not have this issue if xfire based soap client is used. But
> unfortunately, I need to use axis based client. 
> 
> Any help is appreciated.
> 
> Thanks in advance.
> 

-- 
View this message in context: http://old.nabble.com/axis-1.4-non-ascii-chars-issue-tp32144892p32153417.html
Sent from the Axis - User mailing list archive at Nabble.com.


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