JSON 形式で WCF Web サービス (c# で記述) から要求を出し、応答を受信しようとしています。これはエンドポイントの構成です。
<service behaviorConfiguration="UserServiceBehavior" name="UserService">
<endpoint address="JSON" binding="webHttpBinding" contract="IUserService"
behaviorConfiguration="JSONEndpointBehavior" bindingConfiguration="" name="RESTEP">
</endpoint>
<endpoint address="" binding="basicHttpBinding" contract="IUserService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
...
<endpointBehaviors>
<behavior name="JSONEndpointBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
メソッドの注釈は次のようなものです。
[WebInvoke(Method = "GET", UriTemplate = "myUriTemplate", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
CLR 型を返すメソッドの場合、これはうまく機能します。応答は JSON 形式です (また、要求もあると思います)。CLR 以外の型 (私の場合はプロキシ クライアント) を返すメソッドの場合、JSON で要求を作成して応答を受信しようとすると、サーバーは 404 エラーを返しますが、これを切り捨てると:
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json
サーバーは、探しているデータを含む XML ドキュメントで応答します。これは、クライアント プロキシに関連する問題でしょうか? JSON シリアライゼーションとデシリアライゼーションをサポートするクライアント プロキシを生成するにはどうすればよいですか? ヘルプ ページをオンにすると、実際にはメソッド リストにメソッドが表示されますが、URL から起動することはできません。