How to: Modify the Default SOAP Formatting for an Entire Web Service
This topic is specific to a legacy technology. XML Web services and XML Web service clients should now be created using Windows Communication Foundation.
This procedure describes how to modify the default SOAP formatting for an entire Web Service.
To set the default method formatting style for a Web service
Apply either a SoapRpcService attribute or a SoapDocumentService attribute to the class implementing the Web service.
The following code example sets the method formatting style to Document and the default parameter formatting to Literal, and specifies that the parameters must be encapsulated within a single element.
<%@ WebService Language="C#" Class="SoapDocumentServiceSample" %> using System.Web.Services; using System.Web.Services.Protocols; using System.Web.Services.Description; [SoapDocumentService(Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)] [WebService(Namespace="https://www.contoso.com")] public class SoapDocumentServiceSample { [ WebMethod ] public string UseDefaultEncoding(Address MyAddress, bool useZipPlus4) { return "Use the default encodings for this Web service."; } }
<%@ WebService Language="VB" Class="SoapDocumentServiceSample" %> Imports System.Web.Services Imports System.Xml.Serialization Imports System.Web.Services.Protocols Imports System.Web.Services.Description < SoapDocumentService(Use := SoapBindingUse.Literal, _ ParameterStyle := SoapParameterStyle.Wrapped)> _ Public Class SoapDocumentServiceSample < WebMethod > _ Public Function UseDefaultEncoding(MyAddress as Address, _ useZipPlus4 As Boolean) As String Return "Use the default formattings for this Web service." End Function End Class
The XML portion of the SOAP request expected by the
UseDefaultEncoding
Web service method follows.<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <UseDefaultEncoding xmlns="https://www.contoso.com"> <MyAddress> <Street>string</Street> <City>string</City> <Zip>string</Zip> </MyAddress> <useZipPlus4>boolean</useZipPlus4> </UseDefaultEncoding> </soap:Body> </soap:Envelope>
See Also
Reference
SoapDocumentServiceAttribute
SoapRpcServiceAttribute