Benutzer mit den meisten Antworten
WSDL Client mit UTF8

Frage
Antworten
-
Hallo,
wir haben den Fehler gefunden. Es lang am Serverservice. Aber mal eine dumme Frage, wie wenn nicht WSDL-Client soll man den durch VS automatisch generierten Client denn nennen (ernst gemeinte Frage)? Insbesondere wenn man mit dieser Art zugriff bisher kaum Berührungskontakte hatte.
MIr ist schon klar, dass VS nur aufgrund des WSDL-Standarts hier automaitsch einen SOAP-Client erstellt. Aber man kann ja nicht "in die Tiefe schauen" um zu sehen was dort alles passiert. Was mein Problem war, um zu erkennen wo der Fehler liegt.
Gruß MaGa
- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Januar 2013 16:32
Alle Antworten
-
Hi,
wo willst Du was einstellen? Wie greift was auf was zu? Was ist "was" in deinem Fall?
Um dir helfen zu können, müsstest Du doch etwas mehr ins Detail gehen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
-
Hallo zusammen,
Einstellen --> natürlich in meinen Programm, also beim Client.
Es ist ein Standartclient der durch den Automatismus erstellt wurde, den VS für WDSL zur Verfügung stellt. Also Add Reference... usw.
Die WSDL-Schnittstelle verlangt laut Webprogrammierer die Daten als UDF-8 codiert. Vermutlich werden sie zur Zeit aber als Ascii gesendet und empfangen. Damit habe ich Probleme mit Sonderzeichen.
Der Webprogrammierer hat auch nicht so viel Erfahrung mit WSDL/SOAP-Schnittstellen. Der Fehelr kann also auch in der WSDL sein. Bisher wird die Webschnittstelle nur per PHP/SOAP gesteuert und dort werden die Daten als UTF-8 gesendet. Ich steuere sie aber per C#/WSDL an.
Und es gibt halt Probleme mit dem Zeichensatz. Also den Sonderzeichen. Diese kommen bei der Schnittstelle nicht korrekt an.
Hier ein Auszug aus der WSDL
<?xml version ='1.0' encoding ='UTF-8' ?> <definitions name='Service' targetNamespace='...' xmlns:tns='https://www.auskunft.inkassounternehmen.de/Webservice' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns='http://schemas.xmlsoap.org/wsdl/'><message name="consumerData"> <part name="user" type="xsd:string"/> <part name="password" type="xsd:string"/> <part name="reason" type="xsd:short"/> <part name="firstname" type="xsd:string"/> <part name="name" type="xsd:string"/> <part name="street" type="xsd:string"/> <part name="number" type="xsd:string"/> <part name="zip" type="xsd:string"/> <part name="city" type="xsd:string"/> <part name="telephone" type="xsd:string"/> <part name="email" type="xsd:string"/> <part name="birthday" type="xsd:string"/> <part name="file_reference" type="xsd:string"/> <part name="jur" type="xsd:boolean"/> <part name="full" type="xsd:boolean"/> </message><portType name='getConsumerCheck'> <operation name='getConsumerCheck'> <input message='tns:consumerData' name="consumerData"/> <output message='tns:score' name="score"/> </operation> </portType> <message name="score"> <part name="intOrError" type="xsd:string"/> </message>
Gruß MaGa
-
Und es gibt halt Probleme mit dem Zeichensatz. Also den Sonderzeichen. Diese kommen bei der Schnittstelle nicht korrekt an.
Welche Umlaut in der Wsdl? Zum einen sehe ich bei Dir keine, zum anderen ist WSDL XML und da werden Sonderzeichen entsprechend codiert.
Z.B. der tolle Property-Name "NameÜäßµUmlaute" wird so in WSDL XML dargestellt:
<xs:sequence> <xs:element name="NameÜäß_x00B5_Umlaute" type="xs:string" nillable="true" minOccurs="0"/> </xs:sequence>
Oder meinst Du Probleme mit den später über den Service gelieferten Daten, was nichts mit WSDL zu tun hätte?Olaf Helper
Blog Xing -
Ich spreche nicht von Umlauten in der WSDL. Sondern Daten die über den WSDL/SOAP-Client gesendet und Empfangen werden. Der Client sendet diese scheinbar als Ascii (oder einen anderen Zeichensatz) und der Server verlangt an seiner Schnittstelle UTF8.
Gruß MaGa
-
Sondern Daten die über den WSDL/SOAP-Client gesendet und Empfangen werden.
WSDL = Web Service Definition Language; das definiert nur die Schnittstelle.
Senden tut der Service / Client und wenn da was nicht richtig läuft, muss Du auf der Seite nach dem Problem suchen; nicht in der WSDL.
Olaf Helper
Blog Xing -
Hallo,
wir haben den Fehler gefunden. Es lang am Serverservice. Aber mal eine dumme Frage, wie wenn nicht WSDL-Client soll man den durch VS automatisch generierten Client denn nennen (ernst gemeinte Frage)? Insbesondere wenn man mit dieser Art zugriff bisher kaum Berührungskontakte hatte.
MIr ist schon klar, dass VS nur aufgrund des WSDL-Standarts hier automaitsch einen SOAP-Client erstellt. Aber man kann ja nicht "in die Tiefe schauen" um zu sehen was dort alles passiert. Was mein Problem war, um zu erkennen wo der Fehler liegt.
Gruß MaGa
- Als Antwort markiert Robert BreitenhoferModerator Montag, 7. Januar 2013 16:32