環境:的Apache CXF Web服務作爲一個Tapestry5模塊集成了.Net客戶端
- Servlet容器:的Apache Tomcat 7
- 的Java Web \ IoC框架:阿帕奇掛毯5.3 .6
- Web服務框架: Apache CXF 2.7.3
要求
我需要提供一種用於.Net
客戶端web服務(即C#
)。此Web服務應該能夠利用Tapestry
的IoC框架,以便能夠使用它的註冊表自動初始化Tapestry
配置服務(即公用服務)
目前進展
我很新的jax-ws
但在從Apache CXF
文件中讀取一些後,我試圖模仿以下sample。 所以我開發了一個簡單的服務,沒有接口,成功執行以下命令:
java2ws -wsdl -server -verbose -o IpkWS.wsdl -databinding aegis -portname IxAccess -address http://localhost:8080/ipk-ws -servicename IpkWS -frontend jaxws -soap12 -s ws_build -d ws_resources com.sc.ipk.ws.services.Calculator
這創造了一個wsdl
文件和Endpoint
類。根據上面鏈接的示例,我仍然需要在我的web.xml
文件中定義CXFServlet
。而且還必須創建cxf-servlet.xml
文件。
問題
- 我知道如何寫一個
Tapestry
模塊,但我應該如何使用Web服務辦呢?- 是否有可能配置
CXFServlet
沒有永久在我的網絡應用程序的web.xml
文件?我應該可以免費在我的web.xml
文件中不包含CXFServlet
,因爲我很可能不會爲其他客戶端部署此模塊。 - 什麼是最低需要
Apache CXF
/JAX-WS
我需要我的網絡服務在Apache Tomcat 7
上運行的庫?
- 是否有可能配置
- 我是否需要
cxf-servlet.xml
文件?它是爲了什麼? - 是否有任何需要的配置可以使
.Net
客戶端使用我的服務?如果是,那會影響\阻止其他客戶端平臺正常使用我的Web服務嗎? - 由
java2ws
創建的Endpoint
類有什麼用途?CXFServlet
執行的方法是main
? - 什麼是我將不得不返回一個複雜的
Java
對象集合,應該與.Net
客戶端一致嗎?
感謝您的建議,事情是,我是新來的'JAX-ws',我覺得derkoe的代碼難以把握。但是,我下載了Metro的src和javadoc,希望derkoe的代碼現在可以更容易理解。再次感謝:) – 2013-03-16 18:47:52
可悲的是我用derkoe的代碼去。我很傷心,因爲我想使用'Apache CXF',所以我不必處理'JAXB'的限制。謝謝Jean。 – 2013-04-16 12:13:22