Как изменить форматирование сообщений SOAP по умолчанию для всей веб-службы.
Этот раздел посвящен технологии прежних версий. Веб-службы XML и клиенты веб-служб XML должны создаваться с использованием Windows Communication Foundation.
Эта процедура описывает, как изменить форматирование сообщений SOAP по умолчанию для всей веб-службы.
Указание стиля форматирования метода по умолчанию для веб-службы
Примените атрибут SoapRpcService или SoapDocumentService к классу, реализующему веб-службу.
В следующем примере кода задается стиль форматирования метода Document и форматирование параметров по умолчанию Literal, а также указывается, что параметры должны быть инкапсулированы в одном элементе.
<%@ 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
Далее следует XML-часть запроса SOAP, ожидаемого методом
UseDefaultEncoding
веб-службы.<?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>
См. также
Справочник
SoapDocumentServiceAttribute
SoapRpcServiceAttribute