应用程序配置的Java EE 5 JAX-WS 2.0 Web服务:使用带注释创建JAX-WS 2.0 Web服务的Java的第一种方法如何初始化参数
- Web应用程序。
- 的WebLogic 10.3
我的要求
我是基于从该服务被访问的URL来部署一个Web服务实现类,而是更改逻辑的要求。
问题: 我假设一个好办法,这样做是为了在web.xml部署不同的映射,并使用不同的参数初始化。有没有更好的办法?
将逻辑从访问Web服务的URL切换出去的最佳方式是什么?我应该尝试在web.xml中使用初始化参数配置两个servlet映射(尝试过,但无法让它工作),还是应该解析服务impl中的URL?任何其他的选择?
我试了一下(但不工作)
我已经尝试添加在web.xml中<init-param>
在<servlet>
元素。但是,无法访问Web服务中的ServletConfig
对象来检索参数。 Web服务不具有标准Servlet
的所有功能(即使我实现Servlet
或ServletContextListener
)。我只能访问WebServiceContext
(看来),从那里我只能得到<context-param>
元素 - 但我需要<init-param>
元素。
在web.xml中,我使用相同的Java类输入了两个<servlet>
元素,但它们映射到两个不同的URL,如下所示。注意每个Servlet映射中“source”参数的不同。
<servlet>
<servlet-name>Foo</servlet-name>
<servlet-class>com.Foo</servlet-class>
<init-param>
<param-name>source</param-name>
<param-value>1</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Foo</servlet-name>
<url-pattern>/Foo</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Bar</servlet-name>
<servlet-class>com.Foo</servlet-class>
<init-param>
<param-name>source</param-name>
<param-value>2</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Bar</servlet-name>
<url-pattern>/Bar</url-pattern>
</servlet-mapping>
该解决方案或一个类似解决方案似乎是唯一的解决方案。我会将此逻辑添加到在入站请求中的链中执行的Soap处理程序(在此处设置消息中的参数)。感谢您的想法。我希望这将是一个简单的配置,但它看起来会比这更多。 – Steve 2010-09-15 15:53:23
@Steve:祝你好运! – 2010-09-15 21:22:58