History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: LPP-513
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: P1 P1
Assignee: Unassigned
Reporter: Markus Heimhuber
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
OpenLaszlo

Umlauts and special chars requested via SOAP are returned as garbage

Created: 28/Jul/05 02:53 PM   Updated: 01/Feb/08 04:11 PM
Component/s: RPC - SOAP
Affects Version/s: 3.0.2
Fix Version/s: 3.1cr2

Time Tracking:
Not Specified

Severity: Blocker
Platform: x86 - Windows XP
Runtime: SWF6
Flags: External
Release Note Text: Japanese and Latin characters display correctly when requested in SOAP.


 Description  « Hide
When calling remote methods via SOAP, which return data with umlauts or special character, these strings arrive as garbage in laszlo. Passing strings with special characters from laszlo to a remote SOAP service works perfectly.

I tried the same service with a simple Delphi and .NET client. Both work as expected. I get the same result with the current nightly build.

This is really a show stopper over here, since services, which cannot handle umlauts, are useless.

I will be glad to provide any aditional informations, which you may need.

Greetings from Berlin/Germany,
Markus

PS: On the server I'm using Axis 1.2.1 final

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Markus Heimhuber - 29/Jul/05 08:57 AM
To be sure, that it's not a font problem, I added some static text with special characters and umlauts. This text is shown as expected.

Pablo Kang - 08/Aug/05 03:41 PM
Awaiting review....

Pablo Kang - 08/Aug/05 06:22 PM
Fixed in lps-dev (change 31474).

Markus, if you get the chance, it'd be great if you could download the latest build and see if this fixes your problem.

Cheers,
pablo

Markus Heimhuber - 09/Aug/05 12:22 AM
Hi Pablo,

I'll do that as soon as possible (probably tomorrow, since I'm out of office today). Thanks for your fast work!

Greetings, Markus

Markus Heimhuber - 09/Aug/05 04:31 AM
Hi Pablo,

I downloaded the current nightly build and tried out my scenario. Unfortunately nothing changed compared to the previous version. To be sure, that I got the correct version, I will attach the output of the web application.

Should I prepare a simple test scenario for you?

Greetings, Markus

------------------------------------- > Server output

[INFO] LPS - -LPS: LPS_HOME is J:\CVS-Hydra\int-0005\Source\Web\lps-nightly-05-08-08
[INFO] LPS - -LPS: LPS config directory is: J:\CVS-Hydra\int-0005\Source\Web\lps-nightly-05-08-08\WEB-INF\lps\config
[INFO] LPS - -LPS: Detailed LPS log is at J:/CVS-Hydra/int-0005/Source/Web/lps-nightly-05-08-08/WEB-INF/lps/work/logs/lps.log
[INFO] LPS - -LPS: LPS log configured with J:\CVS-Hydra\int-0005\Source\Web\lps-nightly-05-08-08\WEB-INF\lps\config\lps.xml
[INFO] LPS - -LPS: ------------------------------------
[INFO] LPS - -LPS: Laszlo Presentation Server, 3.0.1d1, initialized
[INFO] LPS - -LPS: Running in context:Jetty/5.1.4
[INFO] LPS - -LPS: Build: lps-dev-001447-0001
[INFO] LPS - -LPS: Built on: 01:54 AM 08-Aug-2005
[INFO] LPS - -LPS: Running against JRE 1.5.0_01
[INFO] LPS - -LPS: Running with Java CLASSPATH: J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\ant.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\lib\javax.servlet.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\commons-el.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\commons-logging.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\jasper-compiler.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\jasper-runtime.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\mx4j.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\mx4j-remote.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\mx4j-tools.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\xercesImpl.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\xml-apis.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\ext\xmlParserAPIs-2.5.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\lib\org.mortbay.jetty.jar;J:\CVS-Hydra\int-0005\3rdParty\jetty-5.1.4\lib\org.mortbay.jmx.jar;J:\CVS-Hydra\int-0005\3rdParty\hibernate-3.0\hibernate3.jar;J:\CVS-Hydra\int-0005\Source\Etc;C:\Programme\Java\jdk1.5.0_01\lib\tools.jar;J:\CVS-Hydra\int-0005\Output\Java\Library\Core
[INFO] LPS - -LPS: Running on Windows XP 5.1
[INFO] LPS - -LPS: Running as user msheimhu
[INFO] LPS - -LPS: Max memory: 508.06 MB
[INFO] LPS - -LPS: Total memory: 4.86 MB
[INFO] LPS - -LPS: Available memory: 1.88 MB

Pablo Kang - 09/Aug/05 06:52 PM
Hi Markus,

If it's not too much trouble, can you try downloading the latest nightly build? I think build 1447 didn't pick up my changes. The latest one should hopefully have what you need. Let me know how it goes.

pablo

Markus Heimhuber - 10/Aug/05 12:54 AM
Hi Pablo,

thank you again. Now it works perfectly for returned strings.

There is just one (minor) flaw: Exception messages are still garbled, which is not that important.

Greetings, Markus

Pablo Kang - 10/Aug/05 01:17 AM
I'll make sure I apply the same change to exceptions soon. Thank you, Markus!

Frisco Del Rosario - 31/Oct/05 04:03 PM
Verified with test/rpc/soap/accented.lzx.

Jodi Buckingham - 18/Jul/06 06:59 PM
To fix the issue of the fault messages returning garbled do this:

In the start() method of the SOAPDataEncoder class add this line:

        dc.setEncoding( mSWFVersion > 5 ? "UTF-8" : "Cp1252" );

In the buildFromFault method (in the place where it sets the faultstring) in the same class (SOAPDataEncoder) remove program.push(faultstring) and add LZSOAPUtils.pushString(program, faultstring, dc)...like this:

        if (faultstring != null) {
            program.push("faultstring");
            //program.push(faultstring); **** REMOVE ****
            LZSOAPUtils.pushString(program, faultstring, dc); **** ADD ****
            count++;
        }