WebサービスのクエリにApacheAxis1.4を使用していることを理解しています。
私はWSDLファイルを与えられました、そしてそれは拡張するXXXXImplServiceLocator
クラスを生成し、拡張org.apache.axis.client.Service
する生成されたインターフェースを実装しますjavax.xml.rpc.Service
。
私の「ビジネスコード」はgetXXXXImplPort(URL)
、新しいXXXXImplServiceLocator
インスタンスでメソッドを呼び出してから、次のように呼び出します。
((Stub) port).setTimeout(timeout);
((Stub) port).setUsername(username);
((Stub) port).setPassword(password);
Stub
ですorg.apache.axis.client.Stub
。
これらのパラメータを設定した後getYYY()
、リモートサービスによって公開されているサービスの1つへのクエリを表し、結果とともに「ドメイン」オブジェクトを返すメソッドを呼び出すだけです。
問題は、このサービスでプリエンプティブ認証を使用する必要があることです。soapUIを介してクエリを実行しようとしましたが、プリエンプティブ認証モードを設定しないと結果が得られません。
そのモードの設定方法をグーグルで調べてみましたが、何も見つかりませんでした。彼らが言うのは、Apache HttpClientを使用したプリエンプティブ認証だけです。これは、Axisによって非常によく「埋め込まれる」か、使用される可能性がありますが、これを組み合わせる方法は実際にはわかりませんでした。
これと相互作用する私が持っている唯一のコードServiceLocator
は、初期設定とその後のクエリです。
そのプリエンプティブ認証モードを設定するにはどうすればよいですか?私は何かが足りないのですか?この問題を解決できないように、私は何を理解していないのですか?
においはかなり些細な問題のように聞こえますが、これをよく理解していないという事実が問題の解決を妨げているのかもしれません。
よろしくお願いします、ええ:)