WCF Rest-Parameter mit komplexen Typen
Einrichten einer WCF-Dienst verwendet die "webHttpBinding" ... ich kann komplexe Datentypen von der Methode als XML-ok. Wie kann ich die in einem komplexen Typ als parameter?
[ServiceContract(Name = "TestService", Namespace = "http://www.test.com/2009/11")]
public interface ITestService
{
[OperationContract]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "/Person/{customerAccountNumber}, {userName}, {password}, {PersonCriteria}")]
Person SubmitPersonCriteria(string customerAccountNumber,
string userName,
string password,
PersonCriteria details);
}
Da die UriTemplate erlaubt nur strings, was ist die best practice? Die Idee ist die client-app auf dem Postweg eine Anfrage an den service wie die Suche nach Kriterien für eine person. Der Dienst antwortet mit dem entsprechenden Objekt mit den Daten als XML.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie post von komplexen Typen mit rest.
Die Umsetzung sieht wie folgt aus:
Aufrufen Sie können eine Methode aus einem WPF-client:
Oder Sie können es nennen, mit einem HttpWebRequest-wie gut, das schreiben komplexer Typ in einem byte-array zurück, das wir tun, von einem mobilen client.
Ihre Optionen:
Ich würde empfehlen, die ehemaligen, fühlt sich gesünder und weniger hacky. Die POST wäre eine Abfrage senden und in der Antwort, die Sie bekommen würde, eine queryId, etwas in Bezug auf das, was Sie eingereicht haben.
Entsprechend ÜBRIGEN Ideen können Sie dann einen bekommen auf diese ID, um die Ergebnisse der Abfrage.
Können Sie ein JSON-Zeichenfolge oder im XML-format-Daten als Eingabe body in der REST-service-Aufruf und erwähnen das gleiche in der service-Vertrag-definition. Dann wird es ermöglichen es Ihnen, um die übergabe eines Objekts als input in den REST-service-aufrufen.