Procedura: Creare un client per l’elaborazione di intestazioni SOAP
Esempio di codice
Durante la comunicazione con un servizio Web, un client di servizi Web può inviare e ricevere intestazioni SOAP. Quando viene generata una classe proxy per un servizio Web in fase di attesa o di restituzione di intestazioni SOAP mediante l'utilità Wsdl.exe, la classe proxy include informazioni relative alle intestazioni SOAP. Nello specifico, la classe proxy dispone di variabili membro corrispondenti alle intestazioni SOAP correlate alle intestazioni contenute nel servizio Web. Nella classe sono inoltre presenti definizioni per le classi corrispondenti che rappresentano l'intestazione SOAP. Ad esempio, le classi proxy generate per il precedente servizio Web avranno una variabile membro di tipo MyHeader
e una definizione per la classe MyHeader
. Per ulteriori informazioni sulla creazione di una classe proxy, vedere Creazione di un proxy del servizio Web XML.
Nota: se le variabili membro che rappresentano le intestazioni SOAP di tipo SoapHeader o SoapUnknownHeader anziché una classe derivante da SoapHeadersono definite nel Servizio Web, una classe proxy non avrà nessuna informazione disponibile sull'intestazione SOAP.
Per elaborare intestazioni SOAP all'interno di un client del servizio Web
Creare una nuova istanza classe che rappresenta l'intestazione SOAP.
Dim mySoapHeader As MyHeader = New MyHeader()
MyHeader mySoapHeader = new MyHeader();
Popolare i valori per l'intestazione SOAP.
mySoapHeader.Username = UserName mySoapHeader.Password = SecurelyStoredPassword
mySoapHeader.Username = Username; mySoapHeader.Password = SecurelyStoredPassword
Creare una nuova istanza della classe proxy.
Dim proxy As MyWebService = New MyWebService()
MyWebService proxy = new MyWebService();
Assegnare l’oggetto dell’intestazione SOAP alla variabile membro della classe proxy che rappresenta l'intestazione SOAP.
proxy.MyHeaderValue = mySoapHeader
proxy.MyHeaderValue = mySoapHeader
Eseguire la chiamata al metodo nella classe proxy che comunica con il metodo del servizio Web.
La porzione di intestazione SOAP della richiesta SOAP inviata al servizio Web includerà il contenuto dei dati archiviati nell'oggetto dell'intestazione SOAP.
Dim results as String = proxy.MyWebMethod()
string results = proxy.MyWebMethod();
Esempio
Nell'esempio di codice seguente è illustrato come passare un'intestazione SOAP da un client a un servizio Web.
<%@ Page Language="VB" %>
<asp:Label id="ReturnValue" />
<script runat=server language=VB>
Sub Page_Load(o As Object, e As EventArgs)
Dim mySoapHeader As MyHeader = New MyHeader() ' Populate the values of the SOAP header. mySoapHeader.Username = UserName mySoapHeader.Password = SecurelyStoredPassword
' Create a new instance of the proxy class.
Dim proxy As MyWebService = New MyWebService()
' Add the MyHeader SOAP header to the SOAP request. proxy.MyHeaderValue = mySoapHeader
' Call the method on proxy class that communicates with
' your Web service method.
Dim results as String = proxy.MyWebMethod()
' Display the results of the method in a label.
ReturnValue.Text = results
End Sub
</script>
<%@ Page Language="C#" %>
<asp:Label id="ReturnValue" />
<script runat=server language=c#>
void Page_Load(Object o, EventArgs e)
{
MyHeader mySoapHeader = new MyHeader(); // Populate the values of the SOAP header. mySoapHeader.Username = Username; mySoapHeader.Password = SecurelyStoredPassword;
// Create a new instance of the proxy class.
MyWebService proxy = new MyWebService();
// Add the MyHeader SOAP header to the SOAP request. proxy.MyHeaderValue = mySoapHeader;
// Call the method on the proxy class that communicates with
// your Web service method.
string results = proxy.MyWebMethod();
// Display the results of the method in a label.
ReturnValue.Text = results;
}
</script>
Vedere anche
Riferimenti
SoapHeader
SoapUnknownHeader
SoapHeaderException
Concetti
Creazione di client dei servizi Web XML
Altre risorse
Utilizzo delle intestazioni SOAP
Creare servizi Web XML mediante ASP.NET
Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.