WCF Rest Webservice mit Stream

8

Ich habe den folgenden Beitrag mit Interesse gelesen, da es eine exakte Nachbildung des Problems ist, das ich durchmache (und mich verrückt mache) Msgstr "" "Für die Anfrage, dass UploadFile ein Stream ist, muss die Operation einen einzelnen Parameter haben, dessen Typ Stream ist." - Ссылка

Ich habe alle Code / Beispiele, die ich gefunden habe, ziemlich genau befolgt und kann trotzdem diesen Fehler nicht umgehen - Ссылка

Alles, was ich erreichen möchte, ist ein Bild (jpeg / png) von einem Android-Gerät mit den Standard-Dateiname / Stream-Parameter zu posten.Mehr als wahrscheinlich ist es etwas Einfaches, das ich falsch konfiguriert, missverstanden oder weggelassen habe, aber ich brauche eine Lösung für den Machbarkeitsnachweis zu haben.

%Vor%

web.config Einstellungen                        - & gt;                                   

%Vor%

Verwenden von vs2010 und IIS Express. Wenn ich die obige Methode auskommentiere, funktionieren alle anderen Methoden und geben Daten sowie die wsdl-Abfrage

zurück

Grüße und danke im Voraus Kern

    
Kern 16.06.2011, 02:26
quelle

1 Antwort

12

Sie erwähnen WSDL, was zu der Annahme führt, dass Sie den Fehler erhalten, während Sie versuchen, den Metadatenendpunkt für den Dienst zu durchsuchen. Zunächst einmal gehen WSDL und REST nicht zusammen, also sollten Sie nicht erwarten, dass sie überhaupt für eine REST-Schnittstelle verwendet werden. Vergessen Sie das Service-Metadaten-Konzept, das sogar in der REST-Welt existiert.

Weiter Das webHttpBinding der REST unterstützt zwar Parameter vor dem Body-Parameter Stream, andere Bindings nicht und es muss entweder ein einzelner Stream-Parameter oder ein Nachrichtenkontrakt mit Headern und einem Stream-Body vorhanden sein.

Also, am Ende ist das Problem nicht mit dem REST webHttpBinding überhaupt, ich wette, es funktioniert ganz gut. Wenn nicht, wäre ich absolut schockiert, weil Sie nichts tun, was in dieser Abteilung nicht funktionieren sollte. Das Problem ist, dass Sie erwarten, dass der Metadatenendpunkt WSDL für den Servicevertrag generiert, den Sie definiert haben und der nicht unterstützt wird.

    
Drew Marsh 16.06.2011, 03:01
quelle

Tags und Links