WebLogic 上WebServices 总是提示 401 Unauthorized 异常的一种情况!

原创 2013年12月05日 16:35:12

异常信息:

AxisFault
 faultCode: {http://xml.apache.org/axis/}HTTP
 faultSubcode: 
 faultString: (401)Unauthorized
 faultActor: 
 faultNode: 
 faultDetail: 
{}:return code:  401
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Draft//EN">
<HTML>
<HEAD>
<TITLE>Error 401--Unauthorized</TITLE>
</HEAD>
<BODY bgcolor="white">
<FONT FACE=Helvetica><BR CLEAR=all>
<TABLE border=0 cellspacing=5><TR><TD><BR CLEAR=all>
<FONT FACE="Helvetica" COLOR="black" SIZE="3"><H2>Error 401--Unauthorized</H2>
</FONT></TD></TR>
</TABLE>
<TABLE border=0 width=100% cellpadding=10><TR><TD VALIGN=top WIDTH=100% BGCOLOR=white><FONT FACE="Courier New"><FONT FACE="Helvetica" SIZE="3"><H3>From RFC 2068 <i>Hypertext Transfer Protocol -- HTTP/1.1</i>:</H3>
</FONT><FONT FACE="Helvetica" SIZE="3"><H4>10.4.2 401 Unauthorized</H4>
</FONT><P><FONT FACE="Courier New">The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.46) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials. If the 401 response contains the same challenge as the prior response, and the user agent has already attempted authentication at least once, then the user SHOULD be presented the entity that was given in the response, since that entity MAY include relevant diagnostic information. HTTP access authentication is explained in section 11.</FONT></P>
</FONT></TD></TR>
</TABLE>


</BODY>
</HTML>


{http://xml.apache.org/axis/}HttpErrorCode:401


(401)Unauthorized
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
at org.apache.axis.client.Call.invoke(Call.java:2748)
at org.apache.axis.client.Call.invoke(Call.java:2424)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at cn.test.WSClient.callLocalhost(WSClient.java:43)
at cn.test.WSClient.main(WSClient.java:18)


操作步骤:
1、检查WebLogic控制台标记,搜索 Security ,检查当前WLS的Realm名字 例如:myrealm;
<20XX-12-5 下午03时14分25秒 CST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
2、以上异常提示表示WebServices请求身份认证没有通过,不允许访问服务器资源,此时调用方式必须设置访问账号、以及密码,服务器将拒绝请求;
String endpoint = "http://localhost:7001/MyServicesWeb/services/SayHello";
Service service = new Service();

Call call = (Call) service.createCall();

//设置Security Realm方式一
//            //远程调用用户名设置(HTTP统一认证账号)
//            call.setUsername("weblogic");//wstest/hb_hsxf
//            //远程调用密码设置,黄石公众诉求(HTTP统一认证密码)
//            call.setPassword("passw0rd");
//设置Security Realm方式二
call.setProperty(org.apache.axis.client.Call.USERNAME_PROPERTY, "weblogic"); //账号
call.setProperty(org.apache.axis.client.Call.PASSWORD_PROPERTY,"passw0rd1");//密码

call.setTargetEndpointAddress(new java.net.URL(endpoint));
//设置远程调用方法路径及方法名称
call.setOperationName(new QName("urn:SayHello", "getHello"));
//传入xml文档字符串,返回数据校验错误字符串
//String d = (String) call.invoke(new Object[] {Document.asXML()});
String d = (String) call.invoke(new Object[]{"本地调用"});

System.out.println("Debug-Info: WSClient.callLocalhost Response $d>> "+d);

相关文章推荐

Axis1.4 在weblogic9.2中报 (401)Unauthorized 的处理

WebService server 在tomcat上部署,client在Weblogic9.2中部署,在使用安全方式调用的时候,报错:(401)Unauthorized at org.apache.a...

配置apache服务器的用户认证

      经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问。这就是用户认证的一种技术。用户认证是保护网络系统资源的第一道防线,它控...
  • tenfyguo
  • tenfyguo
  • 2011年01月27日 20:21
  • 17365

WebService 401 unauthorized 授权认证错误

使用Web Service时,有时服务器需要client客户端进行授权验证,这时需要在client端提供用户名和密码,否则抛出401 unauthorized未授权错误。对于这个问题,只要加上用户名、...

Web后端http请求(带用户名和密码防止401 Unauthorized)

Java Java这方面的Jar包应该比较多,比如HttpClient,我这里使用最基本的: [java] view plain copy   ...
  • tyyking
  • tyyking
  • 2017年03月29日 12:02
  • 1277

HTTP 错误 401.0 - Unauthorized 的解决方案

我的项目突然间报这个错误.... HTTP 错误 401.0 - Unauthorized 您无权查看此目录或页面。 最可能的原因: 通过身份验证的用户无权访问处理请求所需的资源。 ...
  • phker
  • phker
  • 2015年02月10日 14:38
  • 58914

关于win10 php环境配置后运行php文件出现HTTP 错误 401.3 - Unauthorized的解决方法

之前运行PHP文件出现了一个HTTP 错误 401.3 - Unauthorized 瞬间懵逼,网上找了很多解决方法要不很复杂要不就根本没用,最后经过几番尝试,终于发现只需要修改下权限就行了,但...

weblogic项目部署成功后,访问报403或者404错误

web项目访问报403、404的错: 1、访问项目后报403,大致意思是没有访问权限,服务器拒绝访问。 解决方法很简单: weblogic项目部署成功后,缺少weblogic.xml配置文件,只...

weblogic 部署报错问题总结

今天部署weblogic, 安装weblogic,以及部署的步骤在我的百度文库里已经共享,但是需要金币,如果你没有金币,可以给我留言,我发你邮箱。   今天主要遇到了3个问题,   第一个: ...

CXF开发与配置webservice

Apache CXF 继承自Celtix 和XFire这两大开源项目,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CX...
  • cyf_cyf
  • cyf_cyf
  • 2012年01月09日 16:56
  • 23493

java HashMap插入重复Key值问题

要在HashMap中插入重复的值,首先需要弄清楚HashMap里面是怎么存放元素的。 put方法 Map里面存放的每一个元素都是key-value这样的键值对,而且都是通过put方法进行添加的,而...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebLogic 上WebServices 总是提示 401 Unauthorized 异常的一种情况!
举报原因:
原因补充:

(最多只允许输入30个字)