Frage

Ich habe in meinem Webservice eines einfacher public boolean isAlive() Service bekommt. I definierte es in meinem WSDL:

<wsdl:types>
    <xsd:element name="isAliveResponse" type="xsd:boolean">
    </xsd:element>
</wsdl:types>
<wsdl:message name="isAliveResponse">
    <wsdl:part element="ns:isAliveResponse" name="parameters"/>
</wsdl:message>
<wsdl:portType name="myService">
    <wsdl:operation name="isAlive">
        <wsdl:output message="ns:isAliveResponse"/>
    </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="myServiceSOAP" type="ns:myService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="isAlive">
    <soap:operation soapAction="http://myServiceURL/isAlive" />
    <wsdl:input>
        <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
        <soap:body use="literal" />
    </wsdl:output>
</wsdl:operation>
</wsdl:binding>

Wenn ich den Service Skelett erzeugen das Verfahren erzeugt wird, aber nicht in der Client-Stub. Gibt es ein Problem in der WSDL? Soll ich eine WSDL-Datei: Eingang, auch wenn die Methodenargumente nicht haben (ich die ganze WSDL nicht gestellt, aber alle anderen Verfahren mit einer „Anfrage“ arg gut erzeugt werden)? Und wenn ich eine WSDL-Datei zu setzen haben: Eingang, was wäre es Nachricht

Bearbeiten : Nach dem WSDL unter Eclipse-Validierung ich die Warnung WS-I: (BP2208) wsdl:operation was not a request/response or one-way operation habe nach der Suche ich eine Beschreibung hier: http://www.ws-i.org/Testing/Tools/2005/01/BP11_TAD_1-1.htm#BP2208 (es scheint, der Anker nicht funktioniert) so dass ich denke der Fehler wahrscheinlich die fehlenden wsdl ist. Eingabe

War es hilfreich?

Lösung

Wie gesagt in meinem bearbeiten war das Problem der fehlenden wsdl: Eingang. Durch das Hinzufügen

<wsdl:input message="ns:isAliveRequest" />

und

<wsdl:message name="isAliveRequest"></wsdl:message>

dann ist meine ursprüngliche Problem ... Schluss gelöst, sollte ich mehr bei mir selbst gesucht, bevor SO fragen auf: (

Andere Tipps

Ich bin mir nicht sicher, ob dies Ihr Problem ist aber die folgende Zeile scheint keinen schließenden Tag zu haben:

<wsdl:types>
    <xsd:element name="isAliveResponse" type="xsd:boolean">
</wsdl:types>

Es sollte so aussehen:

<wsdl:types>
    <xsd:element name="isAliveResponse" type="xsd:boolean"/>
</wsdl:types>

Hope, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top