Konsum ein .NET web service von einer Java-Soap-Client?
Ich bin auf der Suche nach einer einfachen Möglichkeit zum erstellen einer soap-Anfrage, um zu verbrauchen .NET-web-service, aber ich fand wenig bis gar keine Dokumentation zu diesem Thema. Die Standard-Bibliothek javax.xml.Seife ist mehr als mehrdeutig wie konstruieren die Anforderung.
Gibt es irgendwelche Bibliotheken zur Verfügung, die mir das Leben erleichtern?
Fand ich dieses Stück code irgendwo, und ich weiß nicht, wie es ist verwendet werden, oder welche Bibliothek es aus, aber ich würde sehr gerne etwas ähnliches, statt zu konstruieren, das gesamte xml-Nachricht manuell mithilfe von DOM, oder etwas ähnliches (weil es die Einfach aus SEIFE)
SoapRequestBuilder s = new SoapRequestBuilder();
s.Server = "127.0.0.1"; //server ip address or name
s.MethodName = "ConcatWithSpace";
s.XmlNamespace = "http://tempuri.org/";
s.WebServicePath = "/SimpleService/Service1.asmx";
s.SoapAction = s.XmlNamespace+s.MethodName;
s.AddParameter("one", "David");
s.AddParameter("two", "Hobbs");
String response = s.sendRequest();
Dies ist die Botschaft, die form, die ich haben, um zu senden:
POST /webservice/TimrService.asmx HTTP/1.1
Host: not.important.host
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetTimetableForBachelorYear"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetTimetableForBachelorYear xmlns="http://tempuri.org/">
<year>I1</year>
<halfYear>A</halfYear>
</GetTimetableForBachelorYear>
</soap:Body>
</soap:Envelope>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check-out http://docs.oracle.com/javaee/1.4/tutorial/doc/SAAJ4.html für eine gute SAAJ Beispiel.
Ich bin .NET Entwickler selbst, aber wir haben ein 3rd-party-integration mit einem team von Java-Entwickler nutzen eine unserer Dienstleistungen, und ich höre Sie beziehen sich oft auf ein code-Generierung tool namens
wsdl2java
und eine Test-Schnittstelle genanntSOAPUI
. Ich denke es könnte so etwas wie dieses: http://cxf.apache.org/docs/wsdl-to-java.html. Wenn ich es richtig verstehe, es funktioniert ein wenig wie das hinzufügen eines web-service-Referenz in .NET, durch die Generierung von Klassen, die kümmern sich um alle SOAP-Aufrufe automatisch. Sie müssen nur rufen Sie die richtigen Methoden und übergeben dem Parameter.