我在部署在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);
答案 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以获得良好的理解