Cómo: Modificar el formato SOAP predeterminado para todo un servicio web
Este tema es específico de una tecnología heredada. Ahora, los servicios Web XML y los clientes de servicios Web XML deben crearse con Windows Communication Foundation.
Este procedimiento describe cómo modificar el formato SOAP predeterminado para todo un servicio Web.
Para establecer el método predeterminado que da formato al estilo de un servicio Web
Aplique un atributo SoapRpcService o un atributo SoapDocumentService a la clase que implementa el servicio Web.
El ejemplo de código siguiente establece el método que da formato al estilo Document y el parámetro predeterminado que da formato a Literal y especifica que los parámetros se deben encapsular dentro de un solo elemento.
<%@ 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
La parte XML de la solicitud SOAP esperada por el método de servicio Web
UseDefaultEncoding
es la siguiente.<?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>
Vea también
Referencia
SoapDocumentServiceAttribute
SoapRpcServiceAttribute