應用程序配置的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