Пользовательский ответ службы WCF - PullRequest
0 голосов
/ 19 мая 2011

Я разработал демонстрационную службу WCF с basicHttpBinding, и я получаю ответ WCF как сотрудник -

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">    
<s:Body>       
<TestResponse xmlns="http://tempuri.org/">          
<TestResult>hi Test</TestResult>       
</TestResponse>    
</s:Body> 
</s:Envelope>

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

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">    
<s:Body>       
-->><t:TestResponse xmlns:t="http://tempuri.org/">
<TestResult>hi Test</TestResult>       
</TestResponse>    
</s:Body> 
</s:Envelope>

так что я могу сделать, чтобы получить этот ответ ??

1 Ответ

0 голосов
/ 19 мая 2011

Обратите внимание, что два ваших ответа не эквивалентны: в первом элемент находится в пространстве имен tempuri.org/, а во втором - по умолчанию ("") (you ').Мне нужно добавить префикс TestResult к «t:», чтобы поддерживать ту же семантику XML. Для этого в WCF нет ничего, что могло бы сделать это «из коробки», но вы можете изменить его самостоятельно, используя одну из многих точек расширяемости:платформу. Взгляните на http://blogs.msdn.com/b/carlosfigueira/archive/2010/06/13/changing-prefixes-in-xml-responses.aspx, которая имеет дело именно с этим.

...