SOAPエンベロープヘッダーに認証トークンを配置するWebサービスを使用しています。スタブが.NETで生成された場合、このヘッダー情報はスタブクラスのメンバ変数を介して公開されます(WS WSDLに付属のサンプルを参照)。しかし、WSDL2Javaを使用してAxis2 Javaスタブを生成すると、どこにも公開されていないようです。Axis2 SOAPエンベロープヘッダー情報
この情報をSOAPエンベロープヘッダーから抽出する正しい方法は何ですか?
WSDL: http://www.vbar.com/zangelo/SecurityService.wsdl
C#のサンプル:
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;
}
}
}
サンプルでは、私がやりたいものを示しています。 secSvc.SignIn()
呼び出しが成功した後に、secSvc
インスタンスにSecurityHeaderValue
メンバ変数がどのように設定されているかに注目してください。ここで
がSignIn
方法に関するいくつかの関連するAPIドキュメントです:
戻り値はありませんが、成功した符号では、セキュリティサービスのSecurityHeaderValueに移入されます。 SecurityHeaderValue情報は、他のWebサービス呼び出しに使用されます。
あなたは、WSDLを投稿し、具体的なものを例を与えることができますか? – skaffman
私は同じ問題を抱えています – LiorH