tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von deepthroat
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
1772
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    StehtimSchilf StehtimSchilf ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    117
    Hi Forum

    ich habe einen simplen Web Service:
    POST /bla/blu.asmx HTTP/1.1
    Host: www.tutorials.de
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "www.tutorials.de/webservice//test"

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <test xmlns="http://www.tutorials.de/webservice/">
    <auth>
    <ID>int</ID>
    <Value>string</Value>
    </auth>
    </test>
    </soap:Body>
    </soap:Envelope>

    Wenn ich nun mit JAVA auf diesen Web Service poste, funktioniert alles, solange ich in VALUE keine Sonderzeichen (ä, ö, ü, èéà) sende.... mach ich das, dann erhalte ich einen Bad Request!

    Was genau muss ich am .NET Web-Service ändern, damit er in VALUE effektiv die Sonderzeichen akzeptiert?Oder sonst irgendwo etwas zusätzlich angeben?

    Ich könnte natürlich alle Sonderzeichen in JAVA maskieren, und dann im .NET Web Service wieder dekodieren, aber das Problem ist, dass der Web Service bei uns läuft und die Java-Datei beim Kunden und wir diese nicht so einfach ersetzen können?

    Dann noch dies:
    Wie ist die korrekte Vorgehensweise beim Versenden von Sonderzeichen via Web-Service?


    cheerioh & thx
    SiS
    Geändert von StehtimSchilf (12.02.10 um 09:04 Uhr)
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Wie bzw. womit erstellst du denn die Anfragen an den Web Service auf der Java Seite?

    Wenn du die Daten korrekt als UTF-8 kodierst, muß das funktionieren.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    StehtimSchilf StehtimSchilf ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    117
    hi

    danke, richtig, wenn ich auf der Clientseite (Java), die
    Code :
    1
    
    byte[] bytes = content.getBytes("UTF-8")
    verwende, dann funktionierts. Nur leider habe ich dies beim ersten Release vergessen . Drum schwirren eben noch Clients rum, in deren Code keine UTF-8 Kodierung vorgenommen wurde. Diese zu aktualisieren ist nicht so einfach. Daher meine Idee, evtl. am WebService was zu schrauben, denn dieser läuft auf unseren Servern im Hause.

    Danke & Gruess
    SiS
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von StehtimSchilf Beitrag anzeigen
    hi

    danke, richtig, wenn ich auf der Clientseite (Java), die
    Code :
    1
    
    byte[] bytes = content.getBytes("UTF-8")
    verwende, dann funktionierts. Nur leider habe ich dies beim ersten Release vergessen . Drum schwirren eben noch Clients rum, in deren Code keine UTF-8 Kodierung vorgenommen wurde. Diese zu aktualisieren ist nicht so einfach. Daher meine Idee, evtl. am WebService was zu schrauben, denn dieser läuft auf unseren Servern im Hause.
    Das Problem ist das du sowohl im HTTP Header als auch im XML Dokument als charset bzw. encoding UTF-8 angibst, aber dann kein UTF-8 sendest.

    Hast du denn den Java Webservice Client per Hand programmiert?!

    Du könntest evtl. einen ASHX Handler schreiben, den du dann vor deinen ASMX Webservice schaltest. In dem HttpRequest schaust du dir das XML Dokument an ob es valides UTF-8 ist. Wenn nicht müßtest du es umkodieren und als Proxy eine Anfrage an den Webservice stellen. Wenn alles OK ist könntest du die Anfrage einfach weiterleiten.

    Gruß
    StehtimSchilf bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    StehtimSchilf StehtimSchilf ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    117
    Hey das mit dem ASHX-Handler ist noch ne super Idee - nicht nur für dieses Problem, sondern für künftige (die werden schon kommen )

    Danke!

    Und ja, das mit dem Java Web Service war ne händische Arbeit vor langer Zeit...

    Aber am einfachsten ist es, wenn ich einfach jedem der mit einer alten Client-Version daherkommt ne aktuelle Version verpasse - nur müssen sich diese halt zuerst bei mir beschweren!

    Hey Danke vielmals!

    cheerioh
    SiS
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 13.03.10, 14:46
  2. non faces request (email) in faces request
    Von navino im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 08.10.07, 17:33
  3. HTTP Request an einen Webservice
    Von LongDonJohn im Forum PHP
    Antworten: 6
    Letzter Beitrag: 15.02.07, 21:13
  4. Der Begrif REQUEST
    Von Peter Klein im Forum PHP
    Antworten: 1
    Letzter Beitrag: 17.01.06, 01:18
  5. & Request
    Von thrall im Forum ASP
    Antworten: 1
    Letzter Beitrag: 29.03.04, 06:32