【发布时间】:2011-07-07 20:40:03
【问题描述】:
一个基本的问题,但我似乎找不到答案。
我有一个由 Axis 生成的 Web 服务,它还调用另一个 Web 服务(为此,它的存根也由 Axis 生成)。它部署在 weblogic 9.2 中
调用的网络服务需要身份验证。
我已经用谷歌搜索了设置身份验证的代码。它要求我设置一个我已经完成的 client_deploy.wsdd 文件,并将其添加到 WEB-INF。
我需要将此文件指定给 Axis。似乎有几种方法可以做到这一点,包括
System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd")
或
EngineConfiguration config = new FileProvider("client_deploy.wsdd");
但这些对我不起作用。问题是 client_deploy.wsdd 文件的路径吗?如何引用位于 WEB-INF 目录顶层的文件?谷歌搜索告诉我如何以流的形式访问它,但我不希望这样,我需要将文件名传递给这些函数......
请指出我错过的明显内容
更新:谷歌搜索表明这可能有效
HttpServlet servlet = (HttpServlet) MessageContext.
getCurrentContext().
getProperty(HTTPConstants.MC_HTTP_SERVLET);
EngineConfiguration config = new FileProvider(servlet.
getServletContext().
getResourceAsStream("/WEB-INF/client_deploy.wsdd"));
Update2:是的,这有效。
【问题讨论】:
标签: java web-services servlets axis