2013-12-13 12 views
8

ich den folgenden Code verwenden, um einen Webservice von wsdl dynamisch aufzurufen, die perfekt funktioniert :(see docs)Webservice dynamische invoke + Rohdaten erhalten

Jetzt möchte ich die Rohdaten aus der Antwort haben. Ich habe folgendes gefunden: (Docs)

Aber um dieses Beispiel zu verwenden, brauche ich einen Platz, um das Methodenattribut der Erweiterung hinzuzufügen. Da ich die webservice Methode durch Reflektion aufrufen, habe ich nicht die Methodendefinition in meinem Code.

Auf der vorherigen webpage sprechen sie über die Erstellung eines soapextension, um die rohen Nachrichten zu erfassen. Aber wo muss ich die Erweiterung im ersten Code anwenden, um einen dynamischen Webservice-Invoker mit der Möglichkeit zu haben, die Rohdaten anzufordern?

+0

was bedeutet das aus 'rohen Daten'? Binärdaten (Bild, Blob usw.) – MajidTaheri

Antwort

3

Ich musste meinen Code konvertieren, um WCF anstelle der alten Webservice-Unterstützung in C# zu verwenden. Es ist auch möglich, eine Klasse mit Methoden zu erstellen, die in der WSDL-Datei definiert sind. Dadurch kann ich den Webservice dynamisch aufrufen, wie ich es bereits getan habe. Auf der folgenden Website habe ich einen Beispielcode gefunden: http://blogs.msdn.com/b/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx

Um die Rohdaten zu erhalten, musste ich nur ein Verhalten zum Endpunkt des Dienstes hinzufügen. Ich habe gelernt, wie man das auf der folgenden Seite macht: http://mbsguru.blogspot.be/2012/11/capturing-and-using-raw-soap-messages.html