Web Api 2: ожидаемое пространство имен не найдено - PullRequest
0 голосов
/ 11 сентября 2018

Я разрабатываю новый сервис для получения некоторых данных из существующего клиентского приложения.Мне дали 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?Как я могу получить услугу для принятия запроса?

...