WebService服務框架
Web服務的開發
Web服務端的部署
Webservice接口聲明,如下:
@WebService(name = "taskFeedbackService") public interfaceITaskFeedbackWebService { @WebMethod(operationName = "feedbackTask") String feedback(String params); } |
@Service("taskFeedbackService") public classTaskFeedbackWebService implementsITaskFeedbackWebService { private final Logger log = Logger.getLogger(TaskFeedbackWebService.class); // @Resource(name="order.taskService") // private ITaskService taskService;
@Override @WebMethod(operationName = "feedbackTask") publicString feedback(String params) { 。。。 } } |
修改src\META-INF\application-cxf.xml,增加相關的bean配置,如下:
<?xml version="1.0"encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd "> <jaxws:endpointid="TaskFeedbackWebService"implementor="#taskFeedbackService"address="/taskFeedbackService" /> </beans> |
Web.xml的配置
<!-- webservice配置--> <servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> |
Web服務啓動
Webservice客戶端生成發佈
啓動webservice服務端後,在Eclipse中,new->webservice client,service definition中輸入地址如:
http://localhost:8080/oms/services/taskFeedbackService?wsdl,注意要加?wsdl。<Next>繼續…,自動生成客戶端代碼(如果webservices服務有新增或修改,也按上述方法生成發佈,可以自動覆蓋替換舊的生成的代碼)。後續工作,就是按照webservices規範約定方式調用相應的服務完成業務功能。