Настройка ответа WCF - PullRequest
       1

Настройка ответа WCF

1 голос
/ 29 июня 2011

Я разработал службу WCF, ответ которой такой:

  <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <getNameResponse xmlns="http://tempuri.com/">
            <name>4</name>
        </getNameResponse>
    </s:Body>
  </s:Envelope>

Но мне нужен ответ в следующем формате -

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<a:getNameResponse xmlns:a="http://tempuri.com/">
<name>4</name>
</a:getNameResponse>
</s:Body>
</s:Envelope>

Можно ли настроить службу WCF для достижения этого поведения?

1 Ответ

1 голос
/ 29 июня 2011

Да, вы можете сделать это - я написал о настройке префиксов для служб WCF на http://blogs.msdn.com/b/carlosfigueira/archive/2010/06/13/changing-prefixes-in-xml-responses.aspx. Однако обратите внимание, что два ваших ответа не эквивалентны - в первом элементе <name> находится в пространстве имен "http://tempuri.org/",, а во втором - в пустом (" ") пространстве имен. Если это действительно то, что вам нужно, вы можете рассмотреть возможность использования контракта сообщений для изменения пространства имен элементов тела.

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