2011-09-26 93 views
0

內部,我們有這樣關於Spring和Apache CXF整合

<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/" /> 

這個認定中的這是什麼意思applicationContext.xml文件?

我的問題是如何將vincent類稱爲?

回答

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-/文森特/ 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),並適當地分配請求。

0

據我所知,創建代理類將所有調用轉發給您的真實類。

另請參見Configuring an Endpoint其中描述了所有jaxws:endpoint屬性。