Есть пара вещей, которые вам, возможно, придется сделать (или проверить, если вы это сделали):
Ваш GetData OperationContract должен быть украшен атрибутом [WebGet].
[WebGet]
[OperationContract]
object GetData(int value);
Ваш класс WebServiceWrapper должен быть украшен атрибутом [AspNetCompatibilityRequirements] (добавьте ссылку на System.ServiceModel.Web, чтобы это было доступно)
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class WebServiceWrapper : IWebServiceWrapper
Возвращаемое значение из операции GetData необходимо будет перенести.Самый простой способ - использовать JavaScriptSerializer для сериализации объекта в json
var serializer = new JavaScriptSerializer();
return serializer.Serialize(new
{
ReturnValue = string.Format("You entered: {0}", value)
});
. Необходимо убедиться, что вы используете [webHttpBinding] в своих конечных точках (клиент и службы)
<endpoint ... binding="webHttpBinding" ... />
Я не знаю, является ли эта следующая вещь обязательной, но вам может понадобиться поведение конечной точки, которое включает веб-скрипт
<endpointBehaviors>
<behavior name="[endpointBehaviorName]">
<enableWebScript/>
</behavior>
</endpointBehaviors>
Вам, очевидно, нужно будет обратиться к этой конфигурации поведения в вашей конечной точке (точках)
<endpoint ... behaviorConfiguration="[endpointBehaviorName]" ... />