Announcement

Collapse
No announcement yet.

Web Service und Umlaute

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Web Service und Umlaute

    Hallo,
    wir realisieren ein Projekt gemäß SOA-Architektur und erstellen JAX-WS 2.0 WebServices nach dem Contract-First-Ansatz . Entwickelt wird mit JBoss-4.2.2.GA, die WS-spezifischen Java-Klassen werden durch wsconsume sowohl für Service als auch Client aus der WSDL-Datei generiert.

    Implementierungsklasse ist eine EJB3.0-SLSB, WS-Client eine EJB3.0-SFSB.
    Beide werden in die gleiche JBoss-Instanz deployed.

    In der WSDL-Datei ist

    <?xml version="1.0" encoding="UTF-8"?>

    und

    <binding ...>
    <soap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="findePerson">
    <soapperation soapAction="" />
    <input><soap:body use="literal" /></input>
    <output><soap:body use="literal" /></output>
    <fault name="DBException">
    <soap:fault name="DBException" use="literal" />
    </fault>
    </operation>
    </binding>


    eingestellt.

    Problem ist nun, dass beim Nachrichtentransfer in den Java-String-Parameter-Werten enthaltene deutsche Umlaute 'verschmiert' werden.

    An welcher Schraube muss ich drehen, dass die Umlaute sauber transferiert werden?

    Vielen Dank
    Ulf
    Zuletzt editiert von Ulf Wiegmann; 12.01.2008, 13:25.

  • #2
    Originally posted by Ulf Wiegmann View Post
    Problem ist nun, dass beim Nachrichtentransfer in den Java-String-Parameter-Werten enthaltene deutsche Umlaute 'verschmiert' werden.
    Was heißt verschmiert (Beispiel)?

    Comment


    • #3
      ä statt ä
      ö statt ö
      ü statt ü
      Ä statt Ä
      Ö statt Ö
      Ãœ statt Ü
      ß statt ß

      Comment


      • #4
        Das ist eine UTF8-Codierung.

        Entweder dein Server führt 2* eine UTF8-Codierung durch oder dein Client führt keine UTF8-Codierung durch. Kannst du den Netzwerkverkehr tracen oder den Server mit dem Browser testen?

        Comment


        • #5
          Danke für die prompte Antwort
          - naja das mit UTF-8 war mir schon klar, deswegen meinte ich, 'verschmiert' würde als Beschreibung ausreichen.
          Es kann ja nur in den von wsconsume generierten Klassen bzw. in der genutzten JAXB-Implementierung passieren, d.h. irgendwie JBoss4.2.2.GA-spezifisch sein!
          Meine Frage 'An welcher Schraube muss ich drehen, dass die Umlaute sauber transferiert werden?' ziehlte eher dahin, ob dort ein bereits bekannter Bug vorliegt und ob es dafür einen bereits bekannten Workaround gibt.

          Der Tip, den Service mal mit dem Browser zu testen war allerdings sehr gut!
          Der Test des WebService mit dem Eclipse - Web Service Explorer führt auf ein interessantes Ergebnis:
          Bei einer Personensuche und der Eingabe von 'mü' als Suchbegriff werden
          jetzt u.a. alle Personen mit Namen 'Müller' gefunden (beim Zugriff aus dem EJB-Client wird nichts gefunden!!!).
          Im Suchergebnis wird jeder 'Müller' allerdings auch hier als 'Müller' ausgegeben!

          Comment


          • #6
            Ich kann dir leider nicht weiterhelfen den von Java und Appserver hab ich wenig Ahnung. Aber immerhin habe ich dich besser an die Problemstelle herangeführt.

            Und "verschmiert" kenn ich nicht für UTF8-Codierung. Ich hatte schon öfters den fall das UTF8-Codierung zwar verwendet wurde, aber nicht bekannt war wie Umlaute entsprechend Codiert aussehen.

            Comment


            • #7
              dann geh ich mal ins JBoss-Forum ...

              Danke trotzdem
              Ulf

              Comment

              Working...
              X