SoapUI MockServices Rückkehr html statt xml-Antwort
Anhand des folgenden Beispiels WSDL-Datei, die ich erstellt haben, ein neues Projekt in SOAP-UI (version 3.5), und erstellt die Beispiel-Testsuite, Testfall, und mock-service.
WSDL
<definitions name="HelloService"
targetNamespace="http://www.examples.com/wsdl/HelloService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.examples.com/wsdl/HelloService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<message name="SayHelloRequest">
<part name="firstName" type="xsd:string"/>
</message>
<message name="SayHelloResponse">
<part name="greeting" type="xsd:string"/>
</message>
<portType name="Hello_PortType">
<operation name="sayHello">
<input message="tns:SayHelloRequest"/>
<output message="tns:SayHelloResponse"/>
</operation>
</portType>
<binding name="Hello_Binding" type="tns:Hello_PortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="sayHello">
<soap:operation soapAction="sayHello"/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:examples:helloservice"
use="encoded"/>
</input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:examples:helloservice"
use="encoded"/>
</output>
</operation>
</binding>
<service name="Hello_Service">
<documentation>WSDL File for HelloService</documentation>
<port binding="tns:Hello_Binding" name="Hello_Port">
<soap:address
location="http://www.examples.com/SayHello/"/>
</port>
</service>
</definitions>
Ich kann das mock-service und der Zugriff über den browser, wobei ich sehe einen link auf den wsdl-und anzeigen können.
Jedoch mithilfe der standardmäßig generiert soap-request (wie folgt), es gibt eine html-Antwort (erscheint auf der web-Seite) anstatt in der soap-Antwort, die ich konfiguriert haben.
ANFRAGE
POST http://localhost:8088/SayHello/HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "sayHello"
User-Agent: Jakarta Commons-HttpClient/3.1
Host: localhost:8088
Content-Length: 467
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:examples:helloservice">
<soapenv:Header/>
<soapenv:Body>
<urn:sayHello soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<firstName xsi:type="xsd:string">James</firstName>
</urn:sayHello>
</soapenv:Body>
</soapenv:Envelope>
ANTWORT
HTTP/1.1 200 OK
Content-Type: text/html; charset=iso-8859-1
Transfer-Encoding: chunked
Server: Jetty(6.1.x)
<html><body><p>There are currently 1 running soapUI MockServices</p><ul><li><a href="/mockHello_Binding?WSDL">Hello_Binding MockService</a></li></ul></p></body></html>
Habe ich konfiguriert ein Beispiel-Antwort wie folgt :
PROBE ANTWORT AUF MOCK
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:examples:helloservice">
<soapenv:Header/>
<soapenv:Body>
<urn:sayHelloResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<greeting xsi:type="xsd:string">?</greeting>
</urn:sayHelloResponse>
</soapenv:Body>
</soapenv:Envelope>
Seiner konfiguriert als Standard-Antwort, also ich habe keine Ahnung warum es nicht zurückgegeben.
Irgendwelche Vorschläge? +1 auf alles, was mir hilft Fortschritte.
Dank
- Gleiche Frage hier gestellt : soapui.org/forum/viewtopic.php?t=4177
- Aus Neugier - Sind Sie in der Lage, erstellen Sie ein einfaches Java-client, ruft die web service-und bekommt eine Antwort von ihm?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kein Dienst gestartet für die Endpunkt-URL zu Ihrer Anfrage:
http://localhost:8088/SayHello/
. Der einzige Dienst gestartet ist, befindet sich auf der URLhttp://localhost:8088/mockHello_Binding
- wie berichtet-in der service-Antwort. SoapUI gibt Liste aller Schritte mock Dienstleistungen in der HTML-Seite, wenn ein nicht-bestanden ist beantragt. Betrachten Sie die Befestigung endpoint-Adresse, um dieses Problem zu beheben.Ich getroffen haben, die das gleiche problem mit soap-ui 5.4.0. Es passiert, weil der Pfad der erstellten mock-service war fehlerhaft.
Klicken Sie in der soap-UI, auf das erstellte mock-service - Eigenschaften auf die Schaltfläche unten, werden Sie sehen, dass dein Weg aussieht /mockBindingservice, soll es sagen /.
Ändern, doppelklicken Sie auf das erstellte mock-Dienst, klicken Sie auf Dienst stoppen, als Einstellungen-button (neben stop-und start-Tasten).Ändern Sie den Pfad auf /ein und überprüfen Sie den host.
Speichern, Dienst starten. Sollte jetzt funktionieren.
Ich weiß, es ist eine alte post, aber hoffentlich wird es helfen, sombody suchen für die anwser.
Die Url, die Sie schlagen, ist falsch. Die MockService URL, die erstellt wird, während Sie die WSDL importieren, um SEIFE mit den default-port 8088.
Lösung:
1)neues Projekt Erstellen
2)Import von WSDL
3)Überprüfen Sie, Erstellen Mockervice
4)Dann SIEHST du die URL, wo mockservice ausgeführt werden::-->mockSearchURL(zB)
5)Treffer
HTTP://{IP}:8088/mockSearchURL
GEMACHT!!
Ich hat ein ähnliches Problem mit BizTalk 2010 Schicken Hafen-und Mock-webservice mit SOAPUI.
Ich fand heraus, dass die 2 URL-äh anders
Wenn ich öffnen Sie diese im IE..ich sehe die HTML-Antwort.
http://localhost:8088/MockUpdateBasicHttp
Wenn Sie eröffnet wurde, im IE hab ich einen leeren weißen Bildschirm, die normalerweise bedeutet Erfolg.
http://localhost:8088//MockUpdateBasicHttp
Die richtige URL ist mit einem einzigen '/' nach der port-Nummer.
http://localhost:8088/MockUpdateBasicHttp