2017-04-03 13 views
0

私は、SAPと通信するためにいくつかのWebサービスを使用しています。 RADのウィザードを使用してサービスが生成されました。標準ログインは、デプロイメント記述のWSバインディングで定義されています。1つの特定のWebサービスを呼び出すときの認証を上書きする方法は?

SAPチームは、現在のユーザーのログインの詳細を使用して特定のサービスを呼び出し、標準のログインを使用しないようにしたいと考えています。ユーザは、ログインの詳細を入力するよう促され、セッションに保存されます。

私はjavax.security.auth.callback.CallbackHandlerを使用する必要があると思っていましたが、すぐにユーザーのセッションにアクセスする方法がわかりません。

手作業でSOAPリクエストを作成し、認証を自分で設定することができましたが、すべてのサービスでウィザードを使用したいと思います。

実行時にWebサービスの認証を無効にする最適な方法は何ですか?

答えて

0

これは私が探していたものです。https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere.nd.iseries.doc/ae/twbs_confighttpbasicauthprog.html

Properties prop = new Properties(); 
InitialContext ctx = new InitialContext(prop); 
Service service = (Service)ctx.lookup("java:comp/env/service/StockQuoteService"); 
QName portQname = new QName("http://httpchannel.test.wsfvt.ws.ibm.com", "StockQuoteHttp"); 
StockQuote sq = (StockQuote)service.getPort(portQname, StockQuote.class); 
((javax.xml.rpc.Stub) sq)._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY, "myUser"); 
((javax.xml.rpc.Stub) sq)._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY, "myPwd"); 
関連する問題