wsdl boolean wird ignoriert

Diskutiere wsdl boolean wird ignoriert im XML und Co. Bereich.
J

JimWiesel

Moin Moin

ich hab ein Projekt geerbt das eine API auf Soap Basis bereitstellt (meine ersten Schritte damit)

ich würde gerne Abfangen, dass mir einfach irgendetwas geschickt wird und dachte damit ich nicht rum casten muss gebe ich direkt den Typ an

Code:
<xsd:element name="EinBoolFeld" type="xsd:boolean"/>
<xsd:element name="EinIntegerFeld" type="xsd:integer"/>
wenn ich beim Integer Feld Text eintrage dann bekomme ich eine Fehlermeldung (wie ich es auch erwartet habe)
Code:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Client</faultcode>
         <faultstring>Unmarshalling Error: null</faultstring>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>
wenn ich aber beim Bool Feld eifnach irgendwas eintrage, dann wird das anstandslos hingenommen
was mache ich hier falsch? ich hätte erwartet wenn es boolean sein soll und "ABCD" oder 1234 geschickt wird, das es auch eine Fehlermeldung gibt

jemand ne Idee oder Hinweis was ich falsch mache?
Vielen Dank schonmal
 
J

JimWiesel

jetzt hatte ich mal probiert das als integer enum zu machen mit 0 und 1
wird aber auch alles zugelassen was ne Zahl ist

scheint als hätte ich da irgendwie ein falsches Verständnis von
 
mihe7

mihe7

Zunächst einmal hat das nicht direkt etwas mit SOAP zu tun. Es wird ein XML Schema (XSD) angegeben, das die Datentypen enthält. Validiert man ein XML gegen das Schema, wird eben automatisch überprüft, ob die angegebenen Einschränkungen (Wertebereiche etc.) eingehalten wurden. Außerdem eignet sich das XML Schema, um automatisch korrespondierende Java-Klassen zu erzeugen. Was mich ein wenig wundert: warum musst Du selbst in der WSDL rumspielen? Das sind Dinge, um die solltest Du Dich nicht zu kümmern brauchen, zumindest nicht mit JAX-WS.
 
Thema: 

wsdl boolean wird ignoriert

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben