Развернутая служба wcf (.net 4.0). Сервисная конфигурация выглядит так:
<endpoint address=""
binding="webHttpBinding"
bindingNamespace="https://mydomain/myservice/services"
behaviorConfiguration="WebBehavior"
contract="MyService" />
<endpointBehaviors>
<behavior name="WebBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
При попытке использовать службу в веб-приложении web.config
выглядит так:
<system.serviceModel>
<client>
<endpoint name="MyServiceEndpointBasicHttp"
address="http://myDomain/myService"
binding="webHttpBinding" behaviorConfiguration="webBehavior"
contract="MyNamespace.IMyService" />
</client>
<behaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Я получаю исключение при вызове службы:
Операция «Метод1» договора
IMyService указывает несколько
параметры тела запроса должны быть
сериализованный без какой-либо обертки
элементы. Максимум один параметр тела
можно сериализовать без оболочки
элементы. Либо удалить лишнее тело
параметры или установить BodyStyle
собственность на
WebGetAttribute / WebInvokeAttribute to
Облаченный.
После некоторого поиска в Google мы установили [WebGet(BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Xml)]
для методов, но безуспешно ...
Одна интересная вещь: всегда есть одно и то же имя метода в исключении, даже если я вызываю другие методы ...
Сервис отлично работает в режиме REST при тестировании с браузером, вводя имя метода и необходимые параметры ...