如何在WebSphere Liberty中为SOAP客户端设置HTTP基本身份验证

时间:2018-03-27 09:39:50

标签: http authentication soap client websphere-liberty

我们正在尝试在WebSphere Liberty上部署EAR。 我们的应用程序包含一个EJB模块,它包含调用另一个SOAP服务器的EJB。 该服务的WSDL定义了一个wsp:Policy,其ExactlyOne为http:BasicAuthentication xmlns:http="http://schemas.microsoft.com/ws/06/2004/policy/http"/

部署后,当我们向我们的应用程序发送请求时,会触发SOAP调用,我们会收到错误:None of the policy alternatives can be satisfied.

我找到了一些关于如何解决这个问题的java代码

HTTPConduit http = (HTTPConduit) client.getConduit(); 
http.getAuthorization().setUserName("user");
http.getAuthorization().setPassword("pass");

但我不想在Java代码中这样做,但我想让它成为服务器配置的一部分。

我找到了几个有用的链接,但仍无法使其正常工作。 有没有人对我如何设置这个有什么建议?

https://www.ibm.com/support/knowledgecenter/en/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_wssec_migrating.html

https://www.ibm.com/support/knowledgecenter/en/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_sec_ws_clientcert.html

1 个答案:

答案 0 :(得分:0)

您可以使用JNDI功能在server.xml中表示用户标识和密码,然后让您的Java代码将其从JNDI中删除。

https://www.ibm.com/support/knowledgecenter/en/SSD28V_8.5.5/com.ibm.websphere.wlp.core.doc/ae/twlp_dep_jndi.html