Return-Path: X-Original-To: apmail-axis-java-user-archive@www.apache.org Delivered-To: apmail-axis-java-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CDB8A99C9 for ; Wed, 21 Mar 2012 14:27:23 +0000 (UTC) Received: (qmail 41104 invoked by uid 500); 21 Mar 2012 14:27:22 -0000 Delivered-To: apmail-axis-java-user-archive@axis.apache.org Received: (qmail 41049 invoked by uid 500); 21 Mar 2012 14:27:22 -0000 Mailing-List: contact java-user-help@axis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-user@axis.apache.org Delivered-To: mailing list java-user@axis.apache.org Received: (qmail 41040 invoked by uid 99); 21 Mar 2012 14:27:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Mar 2012 14:27:21 +0000 X-ASF-Spam-Status: No, hits=-2.8 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_HI,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [194.40.127.75] (HELO C005894.axa.ch) (194.40.127.75) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Mar 2012 14:27:09 +0000 X-IronPort-AV: E=Sophos;i="4.73,624,1325458800"; d="png'150?scan'150,208,217,150";a="43852207" Received: from c005811.chres1.doleni.net ([194.40.60.11]) by C005894.ch.winterthur.com with ESMTP; 21 Mar 2012 15:26:48 +0100 Received: from c005815.chres1.doleni.net ([194.40.60.9]) by c005811.chres1.doleni.net with Microsoft SMTPSVC(6.0.3790.4675); Wed, 21 Mar 2012 15:26:48 +0100 x-mimeole: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----_=_NextPart_001_01CD076E.A687A093" Subject: [Axis2] Axis2 client generated from WSDL ignoring encoding Date: Wed, 21 Mar 2012 15:26:48 +0100 Message-ID: In-Reply-To: <4F689347.8090307@multicom.co.uk> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [Axis2] Axis2 client generated from WSDL ignoring encoding Thread-Index: Ac0GpVd7yZh4qkBAS7SoFNcE2+B2iwAuj5Zw References: <4F467132.3020902@multicom.co.uk> <4F6746D0.7090700@multicom.co.uk> <4F689347.8090307@multicom.co.uk> From: "Stadelmann Josef" To: X-OriginalArrivalTime: 21 Mar 2012 14:26:48.0822 (UTC) FILETIME=[A6B3F160:01CD076E] X-Virus-Checked: Checked by ClamAV on apache.org ------_=_NextPart_001_01CD076E.A687A093 Content-Type: multipart/alternative; boundary="----_=_NextPart_002_01CD076E.A687A093" ------_=_NextPart_002_01CD076E.A687A093 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Francisco =20 still unclear to me what you actually use. =20 You say you have an external server? what make and version of web = service stack is running the service you like to work with? What does the wsdl say when requested? =20 =20 which version of axis(2) are you using? AXIS2-1.0 or AXIS-1.0 or what?=20 AXIS is the old make of a web service stack AXIS2 is the total new implementation of a web service engine. each of the two has several versions. So which one are you using.=20 =20 When I started in 2006 I took the latest greatest version of AXIS2-1.2.=20 Since then we have arrived at AXIS2-1.6.1 and more to come ... =20 Both axis versions are implemented in JAVA But there is also a AXIS2/C version. =20 =20 Both AXIS2/J and AXIS2/C have their AXIOM Library,=20 a library which implements the AXIS2 Object Model=20 which deals with SOAP/XML constructs and BTW,=20 maybe with the problems you are faced with. =20 So are you using AXIS or AXIS2? and what is the exact version of it? =20 And yes, I would upgrade.=20 Generating the stub with the tool WSDL2JAVA isn't a big work=20 AND it can happen that your problems are gone thereafter. =20 =20 I would try the following. make a small example, client and server and = send – which is the decimal of 2013 hex. Echo this back and see = what you get. If you know what codes and code-pages you need you should = do so in a iterative way, you generate the string into a string buffer = and pass it to the stub to transmit this string I,e. "–" your = server shall return it and you take Wireshark or TCP Monitor to see what = you get on the wire in both directions. If it leaves correct in one way = and returns correct sequence in the response, and finally arrives wrong = in your string buffer (for comparision), you know where your problem is. = If you take AXIS2/J-1.6.1 and have no problem I would suggest to = generate the stub again and use it. If your external service response = badly you know where to ask for upgrading the service. =20 Josef =20 =20 =20 =20 =20 =20 Von: Francisco Serrano [mailto:francisco.serrano@multicom.co.uk]=20 Gesendet: Dienstag, 20. M=E4rz 2012 15:25 An: java-user@axis.apache.org Betreff: Re: AW: [Axis2] Axis2 client generated from WSDL ignoring = encoding =20 Hello Josef, Thanks a lot for your reply. The exact version I'm using is 1.0 and I can confirm that the stub is = generated by WSDL2JAVA. The problem is that from my client I'm using the stub to call an = external service. The response from this service is using UTF8 to encode = the content, I've checked with Wireshark the communications and messages = and the response is specifying UTF8 and the problematic character (a = dash) is correctly encoded with UTF8. The response specifies "text/xml; = charset=3Dutf-8" in the HTTP header and the xml message within it "" and the character in the payload = is specified as: e2 80 93 (UTF-8 (hex) representation for EN DASH: = http://www.fileformat.info/info/unicode/char/2013/index.htm = ). But when the control comes back to my application, the stub is using = ISO-8859-15 (which is the charset specified for my JVM) to decode that = response so the response is showing incorrect characters for the dash, = debugging the code I'm getting: =E2 According to = http://osdir.com/ml/axis-dev-ws.apache.org/2009-08/msg00132.html looks = like before version 1.6 the encoding wasn't being taken into account in = a reliable way... Wouldn't be any other way to solve this rather than generating the = client with a newer version? Thanks, Francisco. On 20/03/2012 09:12, Stadelmann Josef wrote:=20 Francisco =20 What is your exact version of AXIS2? =20 And just to be sure; are you creating a Java Client calling a stub = generated by WSDL2JAVA? =20 Are you using SOAP-XML over HTTP? THEN XML cannot keep all ISO-8859-1 = characters. To transfer you need to escape certain characters before inserting it = into your ISO-8859-1 XML string, and it might be better to use UTF-8 for that. =20 We had recently a similar issue which we did not have unless we changed = to AXIS2-1.6.1 Guess it has to do with Axiom version delivered with this release of = AXIS2. =20 I strongly suggest to use TCP Monitor to look what you get back by the = sender which is in your case the service-response. =20 How does the service return payload characters i.e. a "=E4 =F6 =FC =E8 = =E9 or > < & %" =20 and I think that will get you further. http://osdir.com/ml/axis-dev-ws.apache.org/2009-08/msg00132.html =20 =20 let me know if it helps. =20 Josef =20 =20 =20 =20 Von: Francisco Serrano [mailto:francisco.serrano@multicom.co.uk]=20 Gesendet: Montag, 19. M=E4rz 2012 15:47 An: java-user@axis.apache.org =20 Betreff: [Axis2] Axis2 client generated from WSDL ignoring encoding =20 Any advice on this please? -------- Original Message --------=20 Subject:=20 [Axis2] Axis2 client generated from WSDL ignoring encoding Date:=20 Thu, 23 Feb 2012 17:02:42 +0000 From:=20 Francisco Serrano = =20 To:=20 java-user@axis.apache.org =20 Hello, =20 I have an axis2 client generated from a WSDL, which is working fine but=20 I'm having some problems since it's ignoring the charset specified in=20 the response it's getting back. =20 The response specifies charset=3DUTF-8 in the Content-Type HTTP header = and=20 the same in the encoding parameter in the xml message. =20 Instead of using UTF-8 to decode the xml content, it's using ISO-8859-1=20 which is the one set for the JVM where the client is running. For this=20 reason I'm getting some strange characters in the response. I've double=20 checked that the characters are encoded correctly using UTF-8. =20 It's an old client generated with version 1.0. Does anybody know if=20 there's some issue about that version regarding this problem? Are there=20 any parameters to specify the charset to use to decode the response? =20 Best regards, Francisco. =20 Multicom Products Limited is a company registered in England and Wales = (Registered Number 2447353 Wales) with its registered office at 33 = Victoria Street, Bristol, BS1 6AS.=20 This email is confidential to the addressee and may contain privileged = information. If you have reason to believe that you are not the intended = recipient of this communication, please delete it from your system and = contact the sender immediately. You are not permitted to use or copy = this email or its attachments nor may you disclose the same to any third = party. Unauthorised use or disclosure of this email is prohibited and = may be unlawful.=20 We reserve the right to intercept and read emails sent or received by = our employees. This is to ensure compliance with our internal policies = and to protect our business. If you do not wish for your communications = to be subjected to such scrutiny, you should not communicate via this = email system.=20 We endeavour to exclude viruses and other malware from our data but it = is the responsibility of the recipient to scan all emails and = attachments for viruses before opening them. We accept no liability for = any damage caused by any virus transmitted by this email.=20 Email may not be completely secure or error free, can be intercepted or = corrupted and may arrive late or not at all. Anyone who communicates = with us by email accepts these risks.=20 =20 =20 --=20 Francisco Serrano Java Developer Email: franciscos@multicom.co.uk =20 =20 Tel: 0117 908 1250 Address: 33 Victoria St. 2nd Floor, Bristol, BS1 6AS Facebook: www.facebook.com/multicomproductslimited = =20 Twitter: @MulticomFAB =20 LinkedIn: www.linkedin.com/company/multicom-products-ltd = =20 www.multicom.co.uk =20 =20 Multicom Products Limited is a company registered in England and Wales = (Registered Number 2447353 Wales) with its registered office at 33 = Victoria Street, Bristol, BS1 6AS.=20 This email is confidential to the addressee and may contain privileged = information. If you have reason to believe that you are not the intended = recipient of this communication, please delete it from your system and = contact the sender immediately. You are not permitted to use or copy = this email or its attachments nor may you disclose the same to any third = party. Unauthorised use or disclosure of this email is prohibited and = may be unlawful.=20 We reserve the right to intercept and read emails sent or received by = our employees. This is to ensure compliance with our internal policies = and to protect our business. If you do not wish for your communications = to be subjected to such scrutiny, you should not communicate via this = email system.=20 We endeavour to exclude viruses and other malware from our data but it = is the responsibility of the recipient to scan all emails and = attachments for viruses before opening them. We accept no liability for = any damage caused by any virus transmitted by this email.=20 Email may not be completely secure or error free, can be intercepted or = corrupted and may arrive late or not at all. Anyone who communicates = with us by email accepts these risks.=20 =20 ------_=_NextPart_002_01CD076E.A687A093 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hi Francisco

 

still unclear to me what you actually use.

 

You say you have an external server? what make and version of web = service stack is running the service you like to work = with?

What does the wsdl say when requested?

 

 

which version of axis(2) are you using?

AXIS2-1.0 or AXIS-1.0 or what?

AXIS=A0=A0 is the old make of a web service = stack

AXIS2 is the total new implementation of a web service = engine.

each of the two has several versions. So which one are you using. =

 

When I started in 2006 I took the latest greatest version of AXIS2-1.2. =

Since then we have arrived at AXIS2-1.6.1 and more to come = …

 

Both axis versions are implemented in JAVA

But there is also a AXIS2/C version.

 

 

Both AXIS2/J and AXIS2/C have their AXIOM Library, =

a library which implements the AXIS2 Object Model =

which deals with SOAP/XML constructs and BTW,

maybe with the problems you are faced with.

 

So are you using AXIS or AXIS2?

and what is the exact version of it?

 

And yes, I would upgrade.

Generating the stub with the tool WSDL2JAVA isn’t a big work =

AND it can happen that your problems are gone = thereafter.

 

 

I would try the following. make a small example, client and server and = send &#8211 which is the decimal of 2013 hex. Echo this back and see = what you get. If you know what codes and code-pages you need you should = do so in a iterative way, you generate the string into a string buffer = and pass it to the stub to transmit this string I,e. = "&#8211" your server shall return it and you take = Wireshark or TCP Monitor to see what you get on the wire in both = directions. If it leaves correct in one way and returns correct sequence = in the response, and finally arrives wrong in your string buffer (for = comparision), you know where your problem is. If you take AXIS2/J-1.6.1 = and have no problem I would suggest to generate the stub again and use = it. If your external service response badly you know where to ask for = upgrading the service.

 

Josef

 

 

 

 

 

 

Von: Francisco Serrano [mailto:francisco.serrano@multicom.co.uk] =
Gesendet: Dienstag, 20.
M=E4rz 2012 15:25
An: = java-user@axis.apache.org
Betreff: Re: AW: [Axis2] Axis2 = client generated from WSDL ignoring = encoding

 

Hello = Josef,

Thanks a lot for your reply.

The exact version I'm = using is 1.0 and I can confirm that the stub is generated by = WSDL2JAVA.

The problem is that from my client I'm using the stub = to call an external service. The response from this service is using = UTF8 to encode the content, I've checked with Wireshark the = communications and messages and the response is specifying UTF8 and the = problematic character (a dash) is correctly encoded with UTF8. The = response specifies "text/xml; charset=3Dutf-8" in the HTTP = header and the xml message within it "<?xml version=3D'1.0' = encoding=3D'utf-8'?>" and the character in the payload is = specified as: e2 80 93 (UTF-8 (hex) representation for EN DASH: =
http://www.fileformat.info/info/unicode/char/2013/index.htm<= /span>).

But when the control comes back = to my application, the stub is using ISO-8859-15 (which is the charset = specified for my JVM) to decode that response so the response is showing = incorrect characters for the dash, debugging the code I'm getting: = =E2

According to
http://osdir.com/ml/axis-dev-ws.apache.org/2009-08/msg00132.html looks like before version 1.6 the encoding wasn't = being taken into account in a reliable way...

Wouldn't be any = other way to solve this rather than generating the client with a newer = version?

Thanks,
Francisco.


On 20/03/2012 09:12, = Stadelmann Josef wrote:

Francisco

 

What is your exact version of AXIS2?

 

And just to be sure; are you creating a Java Client calling a stub = generated by WSDL2JAVA?

 

Are you using SOAP-XML over HTTP? THEN XML cannot keep all ISO-8859-1 = characters.

To transfer you need to escape certain characters before inserting it = into your ISO-8859-1

XML string, and it might be better to use UTF-8 for that.

 

We had recently a similar issue which we did not have unless we changed = to AXIS2-1.6.1

Guess it has to do with Axiom version delivered with this release of = AXIS2.

 

I strongly suggest to use TCP Monitor to look what you get back by the = sender which is

in your case the service-response.

 

How does the service return payload characters i.e. a "=E4 =F6 =FC = =E8 =E9 or > < & %"

 

and I think that will get you further.

http://osdir.com/ml/axis-dev-ws.apache.org/2009-08/msg00132.html

 

 

let me know if it helps.

 

Josef

 

 

 

 

Von: Francisco Serrano [mailto:francisco.serrano= @multicom.co.uk]
Gesendet: Montag, 19. M=E4rz 2012 = 15:47
An:
java-user@axis.apache.org
Betreff: [Axis2] Axis2 client generated from WSDL = ignoring encoding

 

Any advice on this = please?

-------- Original Message -------- =

Subject:

[Axis2] Axis2 client generated from WSDL ignoring = encoding

Date:

Thu, 23 Feb 2012 = 17:02:42 +0000

From:

Francisco Serrano <francisco.serrano@multicom.co.uk>

To:

java-user@axis.apache.org

 

Hello,
 
I have an axis2 client =
generated from a WSDL, which is working fine but =
I'm having some problems since it's ignoring the charset =
specified in 
the response it's =
getting back.
 
The response specifies =
charset=3DUTF-8 in the Content-Type HTTP header and =
the same in the encoding parameter in the xml =
message.
 
Instead of using UTF-8 =
to decode the xml content, it's using ISO-8859-1 =
which is the one set for the JVM where the client is =
running. For this 
reason I'm getting some =
strange characters in the response. I've double =
checked that the characters are encoded correctly using =
UTF-8.
 
It's an old client =
generated with version 1.0. Does anybody know if =
there's some issue about that version regarding this =
problem? Are there 
any parameters to =
specify the charset to use to decode the =
response?
 
Best =
regards,
Francisco.

 

= Multicom Products Limited is a company registered in England and Wales = (Registered Number 2447353 Wales) with its registered office at 33 = Victoria Street, Bristol, BS1 6AS.
This email is confidential to the = addressee and may contain privileged information. If you have reason to = believe that you are not the intended recipient of this communication, = please delete it from your system and contact the sender immediately. = You are not permitted to use or copy this email or its attachments nor = may you disclose the same to any third party. Unauthorised use or = disclosure of this email is prohibited and may be unlawful.
We = reserve the right to intercept and read emails sent or received by our = employees. This is to ensure compliance with our internal policies and = to protect our business. If you do not wish for your communications to = be subjected to such scrutiny, you should not communicate via this email = system.
We endeavour to exclude viruses and other malware from our = data but it is the responsibility of the recipient to scan all emails = and attachments for viruses before opening them. We accept no liability = for any damage caused by any virus transmitted by this email.
Email = may not be completely secure or error free, can be intercepted or = corrupted and may arrive late or not at all. Anyone who communicates = with us by email accepts these risks.

 

 

--
Francisco Serrano
Java Developer
Email:
franciscos@multicom.co.uk
3D"cid:image001.png@01CD0768.885E3140"
Tel:
0117 908 1250
Address:
33 Victoria St. 2nd Floor, Bristol, BS1 6AS
Facebook:
www.facebook.com/multicompro= ductslimited
Twitter:
@MulticomFAB
LinkedIn:
www.linkedin.com/company/mul= ticom-products-ltd

www.multicom.co.uk

 

= Multicom Products Limited is a company registered in England and Wales = (Registered Number 2447353 Wales) with its registered office at 33 = Victoria Street, Bristol, BS1 6AS.
This email is confidential to the = addressee and may contain privileged information. If you have reason to = believe that you are not the intended recipient of this communication, = please delete it from your system and contact the sender immediately. = You are not permitted to use or copy this email or its attachments nor = may you disclose the same to any third party. Unauthorised use or = disclosure of this email is prohibited and may be unlawful.
We = reserve the right to intercept and read emails sent or received by our = employees. This is to ensure compliance with our internal policies and = to protect our business. If you do not wish for your communications to = be subjected to such scrutiny, you should not communicate via this email = system.
We endeavour to exclude viruses and other malware from our = data but it is the responsibility of the recipient to scan all emails = and attachments for viruses before opening them. We accept no liability = for any damage caused by any virus transmitted by this email.
Email = may not be completely secure or error free, can be intercepted or = corrupted and may arrive late or not at all. Anyone who communicates = with us by email accepts these risks.

 

------_=_NextPart_002_01CD076E.A687A093-- ------_=_NextPart_001_01CD076E.A687A093 Content-Type: image/png; name="image001.png" Content-Transfer-Encoding: base64 Content-ID: Content-Description: image001.png Content-Location: image001.png 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 AABJRU5ErkJggg== ------_=_NextPart_001_01CD076E.A687A093--