WCF REST複数のデータコントラクトをラップします
-
30-09-2019 - |
質問
そこで、REST WebHTTPを使用してWCF Webサービスを呼び出しています。また、テスト用に2番目のバインディングMEXをセットアップしました。私の方法は機能していますが、クライアントアプリを介してFiddlerまたはStraight Httppostを介してテストしようとすると、400の悪い要求エラーが発生します。複数のデータコントラクトをメソッドに渡しています。ラップのボディスタイルを使用することを強制しますが、テスト用にXMLをフォーマットする方法がわかりません。これを試しても同じエラーを試すためのテスト方法を作成しました。私のコードは次のとおりです。他のすべてのメソッドは1つのデータコントラクトで動作しますが、これは2つありません。この問題はこの投稿の下部にあるXMLにあると思います。ラップする必要がありますが、それを包む方法はわかりません。
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped)]
string Test(wsAuth a, wsMed m);
[DataContract(Namespace = "")]
public class wsMed
{
[DataMember]
public string Test{ get; set; }
}
[DataContract(Namespace = "")]
public class wsAuth
{
[DataMember]
public string UserName { get; set; }
[DataMember]
public string Password { get; set; }
[DataMember]
public string DeviceId { get; set; }
}
私が使用している私のXML
<Test>
<wsAuth>
<DeviceId>jenglish</DeviceId>
<Password>treetop</Password>
<UserName>jenglish</UserName>
</wsAuth>
<wsMed>
<Test></Test>
</wsMed>
</Test>
正しい解決策はありません
所属していません StackOverflow