У меня есть веб-сервис .NET 4.0, который имеет целевое пространство имен «http://tempuri.org» при создании WSDL. Клиент отправляет мне SOAP-конверт с xmlns, установленным на «uri: company: agent» (см. Пример ниже). Моя служба отклоняет конверт SOAP, поскольку пространства имен не совпадают.WSDL Xmlns change
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:company:agent">
<SOAP-ENV:Body>
<ns1:send_message xmlns="urn:company:agent">
<item1>abc</item1>
Я получаю следующее сообщение об ошибке:
<faultstring xml:lang="en-US">Error in deserializing body of request message for operation 'send_message'. OperationFormatter encountered an invalid Message body. Expected to find node type 'Element' with name 'send_message' and namespace 'http://tempuri.org/'. Found node type 'Element' with name 'ns1:send_message' and namespace 'urn:company:agent'</faultstring>
Мой вопрос заключается в следующем: я не могу найти где изменить пространство имен моего проекта в Visual Studio 2010, чтобы отразить «URI: компания: агент "вместо" http://tempuri.org/ ". Я смотрел экстенсивно, но любые изменения, которые я делаю, не отражают в WSDL.
.. Я думаю, что я, возможно, неправильно набранный выше .... у меня есть. Файл svc не является файлом asmx. Будет ли это иметь значение? –
Обновлен мой ответ, 2-я часть должна работать для вас. – brendan
спасибо! это что-то, что я должен добавить к каждому методу? Я добавил поведение службы, но теперь все публичные методы теперь более заметны в WSDL? –