не может использовать wcf сервис на основе мыла - PullRequest
0 голосов
/ 08 февраля 2012

Я работаю над wcf-сервисом на основе мыла, которому нужно принять paremeter, а затем ответить соответствующим образом. Я получаю следующее сообщение об ошибке при попытке использовать его через тестовый клиент:

Значение не может быть нулевым. Имя параметра: s

interface:     

[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Xml, 
    ResponseFormat = WebMessageFormat.Json, UriTemplate = "/updateTimesheet?timesheetID={timesheetID}")]
[OperationContract]
string updateTimesheet(string timesheetID);

Реализующий класс:

public string updateTimesheet(string timesheet)
{
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(timesheet);
    XmlNode xnodeTimeSheetHourID = doc.DocumentElement.SelectSingleNode("TimeSheetHourID");
    XmlNode xnodeHours = doc.DocumentElement.SelectSingleNode("TimeSheetHourID");
    return xnodeTimeSheetHourID.Value+" "+xnodeHours.Value;
}

web.config:

<service behaviorConfiguration="postServiceBehavior" name="postService">
<endpoint address="http://172.xx.xxx.xxx:xxxx/postService.svc/basic" binding="basicHttpBinding" bindingConfiguration="basicBinding" contract="IpostService">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

может какой-нибудь опне помогите пожалуйста как устранить ошибку? Я совершенно уверен, что в методе WebInvoke есть какая-то проблема, но я не могу ее уловить

Спасибо

Панкай

1 Ответ

0 голосов
/ 09 февраля 2012

В вашем файле web.config ваше определение конечной точки неверно:

Это должно было выглядеть примерно так:

<service behaviorConfiguration="postServiceBehavior" name="namespace.postService">
<endpoint address="http://172.xx.xxx.xxx:xxxx/postService.svc/basic" binding="basicHttpBinding" bindingConfiguration="basicBinding" contract="namespace.IpostService">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

Проверьте атрибуты имени и контракта в элементе службы и конечной точкеэлемент соответственно.

Чтобы получить правильный, если вы можете опубликовать полный скелет вашего класса интерфейса, тогда я могу дать вам, каким должно быть значение пространства имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...