Web Services - Architektur, Technologie(n), Anwendung
Posts 1-2 of 2
-
Oliver LibutzkiThe company name is only visible to registered members.WSDL-Validierung
Hallo, ich möchte gern basierend auf dem WSDL-Schema (Namespace:
http://schemas.xmlsoap.org/wsdl/) einen Web Service erstellen. Diesen möchte ich validieren gegen die Schema-Defintion. Ich nutze XMLSpy 2006.
In der Schema-Defintion heißt es unter anderem:
<complexType name="definitionsType">
<complexContent>
<extension base="wsdl:documented">
<sequence>
<element ref="wsdl:import" minOccurs="0" maxOccurs="unbounded"/>
<element ref="wsdl:types" minOccurs="0"/>
<element ref="wsdl:message" minOccurs="0" maxOccurs="unbounded"/>
<element ref="wsdl:portType" minOccurs="0" maxOccurs="unbounded"/>
<element ref="wsdl:binding" minOccurs="0" maxOccurs="unbounded"/>
<element ref="wsdl:service" minOccurs="0" maxOccurs="unbounded"/>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded">
<annotation>
<documentation>to support extensibility elements </documentation>
</annotation>
</any>
</sequence>
<attribute name="targetNamespace" type="anyURI" use="optional"/>
<attribute name="name" type="NMTOKEN" use="optional"/>
</extension>
</complexContent>
</complexType>
Da es sich um eine Sequence handelt müssen die Elemente auch in genau dieser Reihenfolge vorkommen.
Wenn ich jetzt in der WSDL aber z.B. portType vor message angebe, bekomme ich bei der Validierung keinen Fehler. Hat jemand eine Idee, woran das liegen kann?
Vielen Dank im voraus!
- 11 May 2006, 11:31 pm
-
Sascha SmitsThe company name is only visible to registered members.Re: WSDL-Validierung
Hi,
das beim Validieren keine Fehlermeldung kommt, liegt vermutlich daran das du nicht über den SOAP Server validierst, sondern verm. über einen WSDL Validator. Sofern du eine Typkonforme Programmiersprache für die Entwicklung des SOAP Servers verwendest, kannst du die Richtigkeit deiner WSDL's über den Server Validieren.
Probleme macht meist nur Microsoft .NET.
Also mit anderen Worten wenn du einen SOAP Service in Java schreibst und von .NET aus invoken willst,
bekommst du häufig Probleme mit der WSDL Kompatibilität weil beispielsweise im WSDL die Abkürtzung "tns" für "typens" verwendet wurde.
Hoffe ich konnte dir damit ein wenig weiter helfen.
- 14 Feb 2008, 09:40 am
