在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类?
答案 0 :(得分:0)
据我所知,创建了一个代理类,可以将所有调用转发给您的真实类。
另请参阅Configuring an Endpoint,其中描述了所有jaxws:endpoint
属性。
答案 1 :(得分:0)
CXF提供了custom spring namespace来帮助您在此处轻松配置Web服务端点。
如果实现者以#开头,则CXF会假设endpoint is a Spring Bean,就像你的情况一样。
端点必须是普通的JAX-WS端点,即使用@Webservice注释进行注释,例如:
@WebService(serviceName="MemberService", endpointInterface="org.bk.memberservice.endpoint.MemberEndpoint", targetNamespace="http://bk.org/memberservice/")
现在,对您的uri- / vincent / soap的任何调用都将被CXF前端控制器重定向(您可以在web.xml文件中注册):
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
维护有效负载uri的内部注册表到处理程序(在本例中为Spring bean)并适当地调度请求。