Web services 关于Spring和ApacheCXF的集成

Web services 关于Spring和ApacheCXF的集成,web-services,spring,cxf,Web Services,Spring,Cxf,在applicationcontext.xml文件中,我们有这样的 <bean id="vincent" class="com.bayer.vincent.service.vincent"/> <jaxws:endpoint id="vincentSOAP" implementor="#vincent" implementorClass="com.bayer.vincent.service.vincent" addres

在applicationcontext.xml文件中,我们有这样的

  <bean id="vincent" class="com.bayer.vincent.service.vincent"/>

  <jaxws:endpoint
      id="vincentSOAP"
      implementor="#vincent"
      implementorClass="com.bayer.vincent.service.vincent"
      address="/vincent/soap"
      bindingUri="http://schemas.xmlsoap.org/wsdl/soap/" />

这个定义是什么意思


我的问题是vincent类是如何被调用的???

据我所知,已经创建了代理类,它将所有调用转发给真正的类

另请参见此处描述的所有
jaxws:endpoint
属性。

CXF提供了一个帮助在此处轻松配置webservice端点的方法

如果实现者以#开头,那么CXF会假设

端点必须是正常的JAX-WS端点,即使用@Webservice注释进行注释,例如:

@WebService(serviceName="MemberService", endpointInterface="org.bk.memberservice.endpoint.MemberEndpoint", targetNamespace="http://bk.org/memberservice/")
现在,对uri-/vincent/soap的任何调用都将由CXF前端控制器(您可以在web.xml文件中注册)重定向:


CXF服务器
org.apache.cxf.transport.servlet.CXFServlet
1.
它为处理程序(在本例中为Springbean)维护有效负载uri的内部注册表,并适当地分派请求

<servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>