Spring-ws: So erstellen Sie Wsdl aus einer xsd ohne "Request" -Element
ei dem Versuch, einen SOAP-Webservice für einen Client zu implementieren, benötige ich eine WSDL-Datei, um den Service mit soapUI zu testen. Wie Sie unten sehen können, verfügt diese xsd über keine Anforderungs- und Antwortmethoden. Alle Anforderungen und Antworten werden in einem ServiceProvider-Basiselement als "Typ" definiert. Wenn ich also versuche, meine wsdl-Datei mit spring-ws automatisch zu generieren, wird keine richtige wsdl generiert, da für Spring-ws alle Anforderungen und Antworten erforderlich sind. Die Elementnamen sollten mit "Request" "Response" enden.
Was kann ich tun
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified" targetNamespace="http://myurl" xmlns="http://myurl">
<xs:element name="ServiceProviderT" nillable="false">
<xs:annotation>
<xs:documentation>ServiceProviderT is the message spec for data sent between TechX and service providers or
vendors</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Version" type="xs:string" nillable="false"/>
<xs:choice>
<xs:element name="Request" type="RequestType" nillable="false"/>
<xs:element name="Response" type="ResponseType" nillable="false"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
....
Und so generiere ich wsdl file
<sws:dynamic-wsdl id="myservice"
portTypeName="MyService"
locationUri="/myService"
targetNamespace="http://myurl">
<sws:xsd location="/schemas/my.xsd"/>
</sws:dynamic-wsdl>