| Summary: | non-US characters not processed from Web Service dataset | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Nicklas Karlsson <nickarls> | ||||||||||||
| Component: | BIRT | Assignee: | Birt-DataAccess <Birt-DataAccess-inbox> | ||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||||||
| Severity: | normal | ||||||||||||||
| Priority: | P3 | CC: | bluesoldier, lshen | ||||||||||||
| Version: | 3.7.2 | ||||||||||||||
| Target Milestone: | 4.2.0 | ||||||||||||||
| Hardware: | PC | ||||||||||||||
| OS: | Windows 7 | ||||||||||||||
| Whiteboard: | |||||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
Nicklas Karlsson
Created attachment 204422 [details]
steps to reproduce
Birt.java - a sample WebService returning good and bad data
Birt_wsdl.xml - sample wsdl from the service
good_request.xml - sample request XML from SoapUI call
good_response.xml - sample response XML from SoapUI call
bad_request.xml - sample request XML from SoapUI call
bad_response.xml - sample response XML from SoapUI call
test.rptdesign - report showing failure to show bad data.
SoapUI shows correct data for both good and bad
Hi, I tried a web service (ttp://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl) returning Chinese characters without error.I will try your given environment later. Created attachment 208887 [details]
return the charactors
hi Nicklas Karlsson In the bird version 3.7.2 I had reproduced the steps as you prividing for.but it didn't occured. please refer to the attrached. Is there some downloadable artifact for 3.7.2? I see no stable builds in the list, do I have to build from source? (In reply to comment #5) > Is there some downloadable artifact for 3.7.2? I see no stable builds in the > list, do I have to build from source? Please wait for the upcoming 3.7.2 RC1 build to verify The issue remains for me. Given a WebService WAR (attached) on a JBoss 7.1.0.Final AS I see the following when running a soapUI 3.6.1: 13:15:56,148 INFO [org.apache.cxf.interceptor.LoggingInInterceptor] (http--0.0.0.0-8080-1) Inbound Message ---------------------------- ID: 2 Address: http://localhost:8080/BirtData/DataProvider Encoding: UTF-8 Http-Method: POST Content-Type: text/xml;charset=UTF-8 Headers: {accept-encoding=[gzip,deflate], Content-Length=[208], content-type=[text/xml;charset=UTF-8], host=[localhost:8080], SOAPAction=[""], user-agent=[Jakarta Commons-HttpClient/3.1]} Payload: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nik="http://nik.fi/"> <soapenv:Header/> <soapenv:Body> <nik:goodData/> </soapenv:Body> </soapenv:Envelope> -------------------------------------- 13:15:56,237 INFO [org.apache.cxf.interceptor.LoggingOutInterceptor] (http--0.0.0.0-8080-1) Outbound Message --------------------------- ID: 2 Encoding: UTF-8 Content-Type: text/xml Headers: {} Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:goodDataResponse xmlns:ns2="http://nik.fi/"><return><item>aao</item></return></ns2:goodDataResponse></soap:Body></soap:Envelope> -------------------------------------- 13:16:03,884 INFO [org.apache.cxf.interceptor.LoggingInInterceptor] (http--0.0.0.0-8080-1) Inbound Message ---------------------------- ID: 3 Address: http://localhost:8080/BirtData/DataProvider Encoding: UTF-8 Http-Method: POST Content-Type: text/xml;charset=UTF-8 Headers: {accept-encoding=[gzip,deflate], Content-Length=[207], content-type=[text/xml;charset=UTF-8], host=[localhost:8080], SOAPAction=[""], user-agent=[Jakarta Commons-HttpClient/3.1]} Payload: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nik="http://nik.fi/"> <soapenv:Header/> <soapenv:Body> <nik:badData/> </soapenv:Body> </soapenv:Envelope> -------------------------------------- 13:16:03,895 INFO [org.apache.cxf.interceptor.LoggingOutInterceptor] (http--0.0.0.0-8080-1) Outbound Message --------------------------- ID: 3 Encoding: UTF-8 Content-Type: text/xml Headers: {} Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:badDataResponse xmlns:ns2="http://nik.fi/"><return><item>åäö</item></return></ns2:badDataResponse></soap:Body></soap:Envelope> -------------------------------------- The "goodData" provides "aao" and the "badData" provides "åäö". The endpoint can be proven to provide this (correct) output when accessed through an Apache HttpClient call (using both UTF-8 and ISO-8859-1) encoding. When I try running the BIRT report (attached). I only get the "goodData" output in the report and in the logs I see 13:29:32,699 INFO [org.apache.cxf.interceptor.LoggingInInterceptor] (http--0.0.0.0-8080-1) Inbound Message ---------------------------- ID: 9 Address: http://fikarlsnic01:8080/BirtData/DataProvider Encoding: ISO-8859-1 Http-Method: POST Content-Type: text/xml Headers: {Accept=[text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2], connection=[Close], Content-Length=[370], content-type=[text/xml], host=[fikarlsnic01:8080], SOAPAction=[], user-agent=[Java/1.6.0_20]} Payload: <?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <m:goodData xmlns:m="http://nik.fi/"> </m:goodData> </SOAP-ENV:Body> </SOAP-ENV:Envelope> -------------------------------------- 13:29:32,704 INFO [org.apache.cxf.interceptor.LoggingOutInterceptor] (http--0.0.0.0-8080-1) Outbound Message --------------------------- ID: 9 Encoding: ISO-8859-1 Content-Type: text/xml Headers: {} Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:goodDataResponse xmlns:ns2="http://nik.fi/"><return><item>aao</item></return></ns2:goodDataResponse></soap:Body></soap:Envelope> -------------------------------------- 13:29:32,725 INFO [org.apache.cxf.interceptor.LoggingInInterceptor] (http--0.0.0.0-8080-2) Inbound Message ---------------------------- ID: 10 Address: http://fikarlsnic01:8080/BirtData/DataProvider Encoding: ISO-8859-1 Http-Method: POST Content-Type: text/xml Headers: {Accept=[text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2], connection=[Close], Content-Length=[368], content-type=[text/xml], host=[fikarlsnic01:8080], SOAPAction=[], user-agent=[Java/1.6.0_20]} Payload: <?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <m:badData xmlns:m="http://nik.fi/"> </m:badData> </SOAP-ENV:Body> </SOAP-ENV:Envelope> -------------------------------------- 13:29:32,728 INFO [org.apache.cxf.interceptor.LoggingOutInterceptor] (http--0.0.0.0-8080-2) Outbound Message --------------------------- ID: 10 Encoding: ISO-8859-1 Content-Type: text/xml Headers: {} Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:badDataResponse xmlns:ns2="http://nik.fi/"><return><item>???</item></return></ns2:badDataResponse></soap:Body></soap:Envelope> -------------------------------------- and no data is displayed for the "badData" Created attachment 216109 [details]
report
Created attachment 216111 [details]
data-providing war
Deploy on a JBoss 7.1.x
Created attachment 216113 [details]
source for test
I'll have to check my log settings, yesterday I was seeing the "invalid byte 2 of 3 byte..." encoding error that came with the report WS call Wonder if those ??? come from the encoding of the log file? In any case, the issue remains. And when using httpClient and storing the result myself, I see the WS providing the correct åäö regardeless of UTF-8/ISO-8859-1 encoding Is there any additional information I can provide you with? There are indications that this issue is no longer present in the 4.2.0 version Set as fixed based on comment #14 |