Использование WCF REST с POST - PullRequest
       4

Использование WCF REST с POST

0 голосов
/ 05 декабря 2010

У меня есть служба WCF, которая работает в основном с GET, но один контракт должен работать с POST. Я не могу заставить его работать - он возвращает «Метод 405 не разрешен» все время.

Служба должна получить JSON и вернуть JSON.

Я думаю, что-то с конфигурацией. Вот мой файл web.config:

</p> <p></p> <pre><code><behaviors> <serviceBehaviors> <behavior name=""> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> <standardEndpoints> <webHttpEndpoint> <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="false" defaultOutgoingResponseFormat="Json" /> </webHttpEndpoint> </standardEndpoints>

и сама служба

</p> <pre><code> [OperationContract] [WebInvoke(Method = "POST", UriTemplate = "LoginUser", BodyStyle=WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json, RequestFormat=WebMessageFormat.Json)] public int Login(string user, string password)

{ .... }

Есть идеи? Помощь будет высоко ценится!

Ответы [ 2 ]

0 голосов
/ 05 декабря 2010

Ознакомьтесь с моими комментариями по поводу дубликатов, но все сводится к тому, чтобы убедиться, что в контракте на эксплуатацию указан правильный глагол.Вот пример:

[ServiceContract(Namespace = "http://www.test.com/youruri")]
public interface ISomeService
{
    [OperationContract]
    [WebInvoke(Method = "POST")]
    string SomeMethod();
}
0 голосов
/ 05 декабря 2010

Убедитесь, что вы действительно делаете POST.Поскольку ваш код кажется верным.

Попробуйте, создав новый html-файл, содержащий что-то вроде:

<form action="http://{Address to your service}/Service.svc/LoginUser" method="POST">
    <input type="submit" value="Fire away!" />
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...