SOAP-Client in C# ohne Zugang zu einer WSDL-Datei
Arbeite ich mit einer Dritten Partei zu integrieren einige unserer Systeme mit den ihrigen und Sie versorgen uns mit einer SOAP-Schnittstelle, um bestimmte Anfragen und änderungen der angeschlossenen Systeme. Das problem für mich ist, dass Sie keine Lieferung eines WSDL-Datei bei mir auf Arbeit vor. Wenn ich die WSDL-Datei, es wäre eine einfache Angelegenheit, einfach nur zu laufen die mitgelieferten .NET-Befehl (wsdl.exe) und zum generieren einer proxy-Klasse, um mit dem Dienst interagieren.
Gibt es eine "einfache" Möglichkeit dies zu tun, ohne eine WSDL-Datei? Ich habe alle Funktionen, die wir zugreifen können und welche Parameter muss ich schicken und was sollte ich erwarten im Gegenzug.
Ist es üblich, dass eine SOAP-service ohne WSDL-Dateien? (Ich Frage das, da wir gehen, um mehr hinzuzufügen externe Systeme in den mix in der Zukunft)
Hat jemand getan, eine proxy-Klasse oder jede andere form der client gegen ein WDSL-weniger service und haben keine gute Hinweise, wie es zu tun?
Leider nicht. Es stellte sich heraus, dass die SEIFE, die ich zugreifen wollte, war ungültig, in vielen anderen Möglichkeiten als gut, so dass das Projekt verworfen wurde.
InformationsquelleAutor Kristoffer L | 2008-11-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor Manikant Thakur
Wenn Sie eine Klasse schreiben, die sich von
System.Web.Services.Protocols.SoapHttpClientProtocol
(und hat die richtigen Attribute, z.B.WebServiceBinding
,SoapDocumentMethod
usw. angewendet auf ihn und seine Methoden), kann man ziemlich leicht call SOAP-Methoden, ohne die WSDL-Datei.Der einfachste Weg, dies zu tun wäre wahrscheinlich schreiben Sie Ihre eigenen ASP.NET web-service, die Wiederholungen der Dritten SOAP-API generieren einer proxy-Klasse aus, dann müssen Sie manuell Bearbeiten Sie die Datei, um sicherzustellen, dass die URL, Namensräume, Methoden-Namen, parameter, Typen, etc. korrekt sind für die third-party-API, die Sie aufrufen möchten.
InformationsquelleAutor Bradley Grainger
Habe ich noch nicht gebaut, eine SOAP-Schnittstelle ohne Zugriff auf eine WSDL-Datei, aber das format ist ziemlich gut dokumentiert. Ihre beste Wette sein könnte, um erstellen Sie eine vereinfachte WSDL-Datei des eigenen, die widerspiegelt, was wissen Sie von dem service, den Sie abonnieren sind....
Wenn Sie sich entscheiden, diesen Weg zu gehen, ein bestehende stackoverflow-Frage zeigt auf einige Werkzeuge für die Validierung von WSDL.
InformationsquelleAutor cori
den code hier VB.NET aber ich denke, Sie bekommen die Idee. Das folgende ist ein client aufruft, die 'processConfirmation' - Methode, und er erwartet eine Antwort (MyBase.SendRequestResponse).
Und verwenden Sie es auf folgende Weise:
Ich denke, das sollte funktionieren .... Erfolg!
InformationsquelleAutor SpoBo