ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
2371
2371
EMPFEHLEN
-
Hallo Zusammen,
ich bin derzeit dabeí mich in die Webservice-Entwicklung mit Java einzuarbeiten. Das klappt auch soweit ganz gut. Nur mit der Kodierung von Sonderzeichen habe ich noch diverse Probleme:
Sende ich mit meinem über WSDL2Java generierten Client in den Übergabeparameter Strings mit Sonderzeichen (ü, ß, ...) an den Webservice, dann kommen diese dort nicht korrekt an. Ich gehe davon aus, dass ich vor dem Absenden des Requests dem Stub noch eine Codierung angeben muss, konnte dafür aber bisher aber keine Lösung finden. Hat irgend jemand vielleicht schon Erfahrungen damit gesammelt?
Wäre für jeden Tipp dankbar!
Gruß padde!Geändert von pede20 (07.12.07 um 12:56 Uhr)
-
Nochmal ne kleine Erweiterung zum Verständnis:
Ein SOAP-Request sieht in seinem Aufbau ja grundsätzlich wie folgt aus:
Nun werden die Sonderzeichen wohl durch die "processing Instruction"HTTP/1.1 200 OK
Date: Thu, 05 Sep 2002 08:01:13 GMT
Server: Apache/1.3.22 (Unix) Enhydra-Director
SOAPServer: SOAP::Lite/Perl/0.52
Content-Length: 546
Connection: close
Content-Type: text/xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<namesp1:BabelFishResponse xmlns:namesp1="urn:xmethodsBabelFish">
<return xsi:type="xsd:string">hello world, good day</return>
</namesp1:BabelFishResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<?xml version="1.0" encoding="UTF-8"?> falsch dargestellt. Würde das encodung auf ISO-8859-1 gesetzt werden, dann würden die Sonderzeichen vermutlich korrekt übergeben werden.
Somit habe ich mein Problem eigentlich schon selbst erkannt. Leider habe ich im Client-Code, der durch WSDL2Java erstellt wurde noch keine Möglichkeit gefunden auf genau diese Zeile zuzugreifen. Gibt es da irgendwelche Methoden wie setEncoding() oder setProperty() mit denen das möglich ist? Muss es doch eigentlich, oder?
Gruß Padde
-
Ich habe die Lösung gefunden!
Zur Vervollständigung hier die zu setzende Property:
call.setProperty(Call.CHARACTER_SET_ENCODING, "ISO-8859-1");
Ähnliche Themen
-
SOAP Axis
Von kroschel im Forum JavaAntworten: 0Letzter Beitrag: 17.01.08, 10:44 -
SOAP Axis-Client Einstieg
Von Sebastiano06 im Forum JavaAntworten: 7Letzter Beitrag: 22.11.07, 14:45 -
SOAP-Client mit Axis
Von coolerMietzer im Forum JavaAntworten: 1Letzter Beitrag: 10.10.07, 12:10 -
SOAP XML Encryption von Axis Stubs
Von misiu im Forum JavaAntworten: 4Letzter Beitrag: 03.04.06, 11:18 -
Java Axis WebService SOAP
Von fifibellt im Forum JavaAntworten: 1Letzter Beitrag: 18.04.05, 01:22





Zitieren
Login





