0

[webinvoke]RESTful WCF サービスの属性を持つメソッドにアクセスできません。

私のコードは次のようなものです:

[OperationContract]
[WebInvoke(Method = "Post", UriTemplate = "Comosite/{composite}", ResponseFormat = WebMessageFormat.Xml)]
CompositeType GetDataUsingDataContract(string composite);        

上記のサービスを実行すると、エラー メッセージが表示されます

メソッドは許可されていません。

urltemplate、メソッド名、メソッドタイプなどを変更して、さまざまな方法を試しましたが、何もうまくいきません。

しかし、[WebGet]属性を使用すると、サービス メソッドは正常に動作します。

誰かがそれを機能させるために何ができるか教えてもらえますか?

前もって感謝します... :)

4

2 に答える 2

1

変更してみる

[WebInvoke(Method = "Post", UriTemplate = "Comosite/{composite}", ResponseFormat = WebMessageFormat.Xml)]

[WebInvoke(Method = "POST", UriTemplate = "Comosite/{composite}", ResponseFormat = WebMessageFormat.Xml)]
于 2012-04-28T08:15:47.607 に答える
1

ここで行ったのと同様のサービスを作成し、それをフィドラーで呼び出しました。メソッドをすべて大文字に POST するように変更すると、それが機能しました。コードのようにメソッドが Post のような場合、エンドポイントが見つからないというメッセージが表示されます。

私のフィドラーリクエストは次のようになりました:

http://localhost/service/service1.svc/Comosite/test 

ここでは、test が複合パラメーターとして送信され、返された xml として CompositeType を取得します。

于 2012-04-16T18:31:30.503 に答える