Weblogic部署的应用程序调用webservice不起作用,但在Tomcat部署中可以正常工作



我在部署在weblogic中的项目中调用webservice时遇到了问题,但在tomcat部署中,相同的应用程序运行良好。

Error:
javax.xml.ws.WebServiceException: Failed to access the WSDL at: XXXservices?wsdl. It failed with: 
    Response: '401: Unauthorized' for url: '://xxx.xxx.xxx.xx:8111/xxx/services?wsdl'.

但在Tomcat部署中,同样的情况也很好。

我在网上搜索。有人说,我们需要强制weblogic使用sunhttp处理程序,所以写了如下内容。但它对我不起作用。

sun.net.www.protocol.http.Handler handler = new sun.net.www.protocol.http.Handler();
URL wsdlURL = new URL(null, "http://xxx.xxx.xxx.xx:8111/xxx/services?wsdl", handler);

HttpResponse代码401表示凭据的授权已被拒绝。默认情况下,Weblogic已启用基本身份验证。您可以按以下方式禁用

设置强制有效的基本身份验证凭据标志要设置e强制有效的基本身份验证凭据标志,请执行以下步骤:将<enforce-valid-basic-auth-credentials>元素添加到<security-configuration>元素中的config.xml中:

<enforce-valid-basic-auth-credentials>
 false
</enforce-valid-basic-auth-credentials>

启动或重新启动域中的所有服务器。请浏览此链接以更好地理解

最新更新