2010-11-29 4 views
0

У меня есть метод, который вызывает веб-службу. Когда это веб-сервис называется, следующий метод называется:C# + XML Сериализация

[System.Web.Services.Protocols.SoapDocumentMethodAttribute(
    "http://mydomain.com/services/DoSomething", 
    RequestNamespace = "http://mydomain.com/services", 
    ResponseNamespace = "http://mydomain.com/services", 
    Use = System.Web.Services.Description.SoapBindingUse.Literal, 
    ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] 
[return: System.Xml.Serialization.XmlElementAttribute("MyResponse")] 

public MyResponse DoSomethingr(MyRequest myRequest) 
{ 
    object[] results = this.Invoke("DoSomething", new object[] { myRequest}); 
    return ((MyResponse)(results[0])); 
} 

Когда этот метод вызывается, я заметил, что XML включает в себя следующее:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
    <!-- XML --!> 
    </soap:Body> 
</soap:Envelope> 

Как удалить <soap:> обертки из моего XML?

+2

Почему вы хотите удалить эти префиксы пространств имен XML? Они являются частью стандарта SOAP, используемого для вызова веб-сервисов - не вмешивайтесь в них, иначе ваш вызов SOAP может не работать больше. – 2010-11-29 17:39:45

ответ

3

Я бы не стал. Мыло является стандартным протоколом для публикации сервисов и доступа к удаленным данным. Без него удаленный сервер не поймет ваш запрос.

Смежные вопросы