Я разрабатываю новый сервис для получения некоторых данных из существующего клиентского приложения.Мне дали wsdl, который определяет необходимые типы.Тип генерируется в Reference.cs следующим образом:
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.7.3056.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://service.web.voicecheck.vocollect.com/")]
public partial class assignmentResults : object, System.ComponentModel.INotifyPropertyChanged {
private string siteNameField;
…
Тогда в моем контроллере у меня есть действие с такой простой сигнатурой:
public IHttpActionResult Post([FromBody] assignmentResults value)
{
if (value == null)
return BadRequest(ModelState);
…
Когда я тестирую его с почтальоном,XML в теле запроса выглядит так (я не могу его изменить):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:assignmentResults xmlns:ns2="http://service.web.voicecheck.vocollect.com/"><siteName>Test</siteName>
...
И тогда я всегда получаю одну и ту же ошибку (в переводе):
<Error>
<Message>The request is invalid.</Message>
<ModelState>
<value>Error in line 1 position 81. Expecting element 'assignmentResults' from namespace 'http://schemas.datacontract.org/2004/07/WebApplication10.ServiceReference1'.. Encountered 'Element' with name 'assignmentResults', namespace 'http://service.web.voicecheck.vocollect.com/'. </value>
</ModelState>
</Error>
Почему этоожидает другое пространство имен, которое определено в WSDL?Как я могу получить услугу для принятия запроса?