基本的なhttpバインディングを使用するWCFサービスを使用しています。ブラウザ経由でその操作/メソッドを呼び出すにはどうすればよいですか?
サービスに複数のエンドポイントを設定することをお勧めします。 webHttpBindingを使用してエンドポイントを追加し、サービスのXMLバージョンを取得します。これが正しく行われた場合、サービスから取得する応答はbasicHttpBindingエンドポイントと同じですが、SOAPオーバーヘッドはありません。
それ以外は、フォーム投稿が必要なため、ブラウザからSOAP Webサービスを直接呼び出すことはできません。 SOAPを使用してツールをテストすることもできますが、 SOAP UI をお勧めします。それはJavaで書かれていますが、私はそれに反対しないようにしています。 :)
次のサンプルのように、WebGetAttributeをメソッドに追加する必要があります。
[OperationContract]
[WebGet(UriTemplate = "/placesList/{userId}",
ResponseFormat = WebMessageFormat.Xml)]
List<Places> GetAllPlacesForUser(String userId)
{
string xml = "";
// build xml here
return xml;
}
ブラウザで、次のようなメソッドを呼び出すことができます
http:// localhost:8085/GeoPlacesDataService/placesList/1
ここで、10はuserIdパラメーターです。
注:WebGetAttributeを追加するには、別のAssemblyにあるSystem.ServiceModel.Web名前空間を参照する必要があります
上記のコードを追加した後、エンドポイントプロパティをweb.config、binding="webHttpBinding"
およびbehaviorConfiguration="webHttp"
。