Sto consumando un servizio Web che inserisce un token di autenticazione nell'intestazione della busta SOAP. Appare (esaminando gli esempi forniti con WS WSL) che se lo stub è generato in .NET, queste informazioni di intestazione sono esposte attraverso una variabile membro nella classe stub. Tuttavia, quando si genera il mio stub java Axis2 usando WSDL2Java, non sembra essere esposto da nessuna parte.Axis2 SOAP Envelope Header Information
Qual è il modo corretto per estrarre queste informazioni dall'intestazione della busta SOAP?
WSDL: http://www.vbar.com/zangelo/SecurityService.wsdl
C# Esempio:
using System;
using SignInSample.Security; // web service
using SignInSample.Document; // web service
namespace SignInSample
{
class SignInSampleClass
{
[STAThread]
static void Main(string[] args)
{
// login to the Vault and set up the document service
SecurityService secSvc = new SecurityService();
secSvc.Url = "http://localhost/AutodeskDM/Services/SecurityService.asmx";
secSvc.SecurityHeaderValue = new SignInSample.Security.SecurityHeader();
secSvc.SignIn("Administrator", "", "Vault");
DocumentServiceWse docSvc = new DocumentServiceWse();
docSvc.Url = "http://localhost/AutodeskDM/Services/DocumentService.asmx";
docSvc.SecurityHeaderValue = new SignInSample.Document.SecurityHeader();
docSvc.SecurityHeaderValue.Ticket = secSvc.SecurityHeaderValue.Ticket;
docSvc.SecurityHeaderValue.UserId = secSvc.SecurityHeaderValue.UserId;
}
}
}
Il campione illustra quello che mi piacerebbe fare. Si noti come l'istanza secSvc
disponga di una variabile membro SecurityHeaderValue
popolata dopo una chiamata di successo secSvc.SignIn()
.
Ecco alcuni documentazione API utili per quanto riguarda il metodo SignIn
:
Anche se non v'è alcun valore di ritorno, un segno di successo nel popoleranno la SecurityHeaderValue del servizio di sicurezza. Le informazioni di SecurityHeaderValue vengono quindi utilizzate per altre chiamate al servizio web.
può fare un esempio, inviare il WSDL, nulla di concreto? – skaffman
Ho lo stesso problema – LiorH