2009-08-24 27 views
5

Tôi đang sử dụng dịch vụ web đặt mã xác thực trong tiêu đề phong bì SOAP. Nó xuất hiện (thông qua xem xét các mẫu đi kèm với WS WSDL) nếu stub được tạo ra trong .NET, thông tin tiêu đề này được hiển thị thông qua một biến thành viên trong lớp sơ khai. Tuy nhiên, khi tôi tạo ra java stub Axis2 của tôi bằng cách sử dụng WSDL2Java nó không xuất hiện để được tiếp xúc bất cứ nơi nào.Trục2 Thông tin tiêu đề phong bì SOAP

Cách chính xác để trích xuất thông tin này từ tiêu đề phong bì SOAP là gì?

WSDL: http://www.vbar.com/zangelo/SecurityService.wsdl

C# mẫu:


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; 
     } 
    } 
} 

Mẫu minh họa những gì tôi muốn làm. Lưu ý cách cá thể secSvc có biến thành viên SecurityHeaderValue được điền sau khi yêu cầu secSvc.SignIn() thành công.

Dưới đây là một số tài liệu API có liên quan về phương pháp SignIn:

Mặc dù không có giá trị trả về, một dấu hiệu thành công trong việc sẽ cư SecurityHeaderValue của dịch vụ bảo vệ. Thông tin SecurityHeaderValue sau đó được sử dụng cho các cuộc gọi dịch vụ web khác.
+0

bạn có thể cho một ví dụ, đăng wsdl, bất cứ điều gì cụ thể? – skaffman

+0

tôi có cùng sự cố – LiorH

Trả lời

1

tôi tin rằng các cuộc gọi bạn đang tìm kiếm là:

MessageContext.getCurrentMessageContext().getEnvelope().getHeader()

Các vấn đề liên quan