2010-11-29 23 views
0

Webサービスを呼び出すメソッドがあります。このWebサービスが呼び出されると、以下のメソッドが呼び出されます:C#+ 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:>を削除するには:このメソッドが呼び出されると

[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には次のものが含まれていることに気づきました私のXMLからのラッパー?

+2

なぜこれらのXML名前空間プレフィックスを削除したいですか?それらは、Webサービスを呼び出すために使用されるSOAP標準の一部です。それらを改ざんしないと、SOAP呼び出しがもう機能しなくなる可能性があります。 –

+0

ラッパーを使用しない場合は、SoapDocumentMethodAttributeを使用しないでください。 –

+0

あなたが ' 'のものを削除した場合、あなたはSOAPを使用していません。 soap Webサービスが必要ない場合は、WCFを別の.NETプログラミングモデルとして使用することをお勧めします。 – Cheeso

答えて

3

私はしません。 Soapは、サービスを公開し、リモートデータにアクセスするための標準プロトコルです。それがなければ、リモートサーバーはあなたの要求を理解しません。