Używam usługi WWW, która umieszcza token uwierzytelniania w nagłówku koperty SOAP. Pojawia się (poprzez przeglądanie próbek dostarczonych z WS WSL), że jeśli kod pośredniczący jest generowany w .NET, ta informacja nagłówkowa jest odsłonięta przez zmienną składową w klasie pośredniej. Jednak podczas generowania mojego kodu pośredniczącego java Axis2 przy użyciu WSDL2Java nie wydaje się być nigdzie narażone.Informacje o nagłówku obwiedni Axis2 SOAP
Jaki jest poprawny sposób wyodrębnienia tych informacji z nagłówka koperty SOAP?
WSDL: http://www.vbar.com/zangelo/SecurityService.wsdl
C# próbki:
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;
}
}
}
Próbka ilustruje to, co chciałbym robić. Zauważ, że instancja secSvc
ma zmienną składową SecurityHeaderValue
zapełnioną po pomyślnym wywołaniu secSvc.SignIn()
.
Oto niektóre odpowiednią dokumentację API dotyczące sposobu SignIn
:
Chociaż nie ma wartości powrotu, udany wejść będzie zapełnić SecurityHeaderValue służby bezpieczeństwa. Informacje SecurityHeaderValue są następnie wykorzystywane do innych wywołań usług WWW.
można dać przykład, pisać WSDL, nic konkretnego? – skaffman
Mam ten sam problem – LiorH