Weblogic部署的应用程序调用webservice无法正常工作,但在Tomcat部署中工作正常

时间:2013-11-27 10:44:31

标签: web-services soap wsdl weblogic

我在部署在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使用sun http处理程序,所以写下面的内容。但它不适合我。

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);

1 个答案:

答案 0 :(得分:1)

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

设置enforce-valid-basic-auth-credentials标志 要设置e enforce-valid-basic-auth-credentials标志,请执行以下步骤:  添加<enforce-valid-basic-auth-credentials&gt;元素到<security-configuration>元素中的config.xml:

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

启动或重新启动域中的所有服务器。请仔细阅读link以获得良好的理解