环境:
- Servlet 容器: Apache Tomcat 7
- Java web\IoC 框架: Apache Tapestry 5.3.6
- Web服务框架: Apache CXF 2.7.3
要求
我需要为.Net
客户(即C#
)提供网络服务。这个 Web 服务应该能够利用Tapestry
IoC 框架,以便能够使用它的 Registry 来自动初始化Tapestry
配置的服务(即 Utility 服务)
目前的进展
我很陌生,jax-ws
但是在阅读了一些Apache CXF
文档之后,我试图模仿以下示例。于是我开发了一个没有界面的简单服务,成功执行了如下命令:
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
类。根据上面链接的示例,我仍然需要CXFServlet
在我的web.xml
文件中定义。并且仍然必须创建cxf-servlet.xml
文件。
问题
- 我知道如何编写一个
Tapestry
模块,但我应该如何使用 web-services 呢?- 是否可以在
CXFServlet
不将其永久保存在我的网络应用程序web.xml
文件中的情况下进行配置?我应该可以不包含CXFServlet
在我的web.xml
文件中,因为我很可能不会为其他客户端部署此模块。 - 我的网络服务运行所需的最低限度
Apache CXF
/库是什么?JAX-WS
Apache Tomcat 7
- 是否可以在
- 我需要文件
cxf-servlet.xml
吗?它有什么用? - 是否有任何必要的配置使
.Net
客户端能够使用我的服务?如果是,这会影响\阻止其他客户端平台正确使用我的网络服务吗? Endpoint
服务创建的类有什么目的java2ws
?它是main
由执行的方法CXFServlet
吗?- 我必须返回一个复杂的对象集合是什么,对客户
Java
来说应该可以吗?.Net