通过程序为 JAX-RPC Web Service 配置 HTTP 基本认证
可以通过以编程方式修改 HTTP 属性来配置 Java™ API for XML-based RPC (JAX-RPC) Web Service 的 HTTP 基本认证。
开始之前
本任务是 HTTP 基本认证的三种配置方法中的一种。还可以用组装工具或管理控制台配置 HTTP 基本认证。
如果您程序化地配置 HTTP 基本认证,那么在 Stub 或 Call 实例中配置属性。如果您选择用管理控制台或组装工具配置 HTTP 基本认证,那么会修改 Web Service 安全性绑定信息。程序化设置的值优先于绑定中定义的值。
关于此任务
本主题中讨论的 HTTP 基本认证与 WS-Security 无关,并且与 WS-Security 支持的基本认证也不相同。WS-Security 支持基本认证令牌,而不是支持 HTTP 基本认证。
使用以下步骤按编程方式配置 HTTP 基本认证。
过程
在 Stub 或 Call 实例中为 Web Service 或 Web Service 客户机设置属性。 可设置具有以下常量名称的属性:
javax.xml.rpc.Call.USERNAME_PROPERTY
javax.xml.rpc.Call.PASSWORD_PROPERTY
javax.xml.rpc.Stub.USERNAME_PROPERTY
javax.xml.rpc.Stub.PASSWORD_PROPERTY
示例
Properties prop = new Properties();
InitialContext ctx = new InitialContext(prop);
Service service = (Service)ctx.lookup("java:comp/env/service/StockQuoteService");
QName portQname = new QName("http://httpchannel.test.wsfvt.ws.ibm.com", "StockQuoteHttp");
StockQuote sq = (StockQuote)service.getPort(portQname, StockQuote.class);
((javax.xml.rpc.Stub) sq)._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY, "myUser");
((javax.xml.rpc.Stub) sq)._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY, "myPwd");