我在部署在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>
启动或重新启动域中的所有服务器。请浏览此链接以更好地理解