/ / JAX-WS und Zeichenkodierung Fragen - Java, WCF, Codierung, Web-Services, Jax-Ws

JAX-WS und Zeichenkodierung Fragen - Java, WCF, Codierung, Web-Services, Jax-Ws

Ich habe eine Frage zum Senden von XML als String in aInternetservice. Einer unserer Provider hat einen Webservice entwickelt, den wir nutzen sollten. Ihr Webservice ist im Grunde genommen nur ein Transportmechanismus für ihre eigenen Anfrage- / Antwortnachrichten, z.B. Die Klasse MyRequest wird in eine XML-Zeichenfolge serialisiert, wobei JAXB in ihrem Webservice an eine setRequest-Methode übergeben wird, wahrscheinlich weil es der einfachste Weg für sie war oder weil sie eine hohe Transparenz in ihrer Anwendung haben wollten ... nun, ich weiß es nicht.

Jedenfalls. Hier ist meine Frage.

Wenn ich einen Webservice mit Charakter habeKodierung ISO_8859-1, aber das serialisierte XML hat eine Zeichenkodierung utf-8 (oder eine andere Kodierung, die mehr Zeichen als ISO_8859-1 unterstützt), werden diese immer korrekt serialisiert und deserialisiert? Oder muss ich Informationen über den Inhalt der Zeichenfolge senden? Und wenn ja, wie kann ich das tun?

Die Serverseite des Webservice ist in .NET geschrieben. Wie ist die Kompatibilität zwischen Java und .NET? Gibt es in .NET Enkodierungen, die nicht in Java unterstützt werden oder umgekehrt?

/ Andreas

Antworten:

0 für die Antwort № 1

Wenn sie den Webservice korrekt implementieren (und Sie auch), müssen Sie sich keine Gedanken über die Zeichencodierung machen, denn:

  1. (wohlgeformtes) XML hat eingebaute Metadaten, die es ermöglichen, die Zeichencodierung, die verwendet wurde, genau herauszufinden
  2. XML ermöglicht, dass jedes Unicode-Zeichen in einer beliebigen Codierung dargestellt werden kann numerische Zeichenreferenzen

Also zusammenfassen: stellen Sie sicher, dass beide Seiten ihren Text in einer Unicode-fähigen Umgebung behandeln (C # und Java sind dafür geeignet) und verwenden Sie korrekte XML-Bibliotheken (beide Umgebungen gehören dazu) und sobald Sie es nicht manuell vermasseln, sollten Sie es sein fein.