lightblueme

许多问题需要说清楚就可以&&走永远比跑来的重要

导航

Web Service CXF的工作流程

我们一起走进系统的内部,跟随每一个调用,去透视系统的每一个层面。

一、我们定义整个目录都在CXFServlet的监控之下

  <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>/*</url-pattern>
  </servlet-mapping>

从外界发过来的请求都会交给 CXFServlet进行处理。

二、外部应用从外部发来联机请求request http://......./BlueService#wsdl

三、根据在web.xml中的定义

    <jaxws:endpoint id="BlueService" address="/BlueService" implementor="#WebBlueService"/>

  其中的 WebBlueService 是在配置文件当中定义的一个提供服务的service组件

 上面的请求会交给WebBlueService这个WebService实例去处理

四、WebBlueService的实现

由于WebBlueService是一个类的实例,所以需要知道这个类的定义,这个类需要继承一个Interface,在Interface当中需要指定要发布的借口中的方法声明。

package com.blue;
WebService(targetNamespace="com.blue") public interface IService { /** * desc * @param input * @return */ @WebMethod(operationName = "helloworld") @WebResult(partName = "res") Result helloworld(@WebParam(name = "BlueInput") BlueInput input); ... }

  实现类需要实现这个接口

package com.blue;
public class IServiceImp implements IService {

      String helloworld(BlueInput input){
          Result result;
          ...
          return result;
      }
}

五、由于需要在启动的是进行初始化加载,所以在配置文件当中注入实例

<bean id="WebBlueService" class="com.blue.IServiceImp" ></bean>

 

SUCCESS

posted on 2018-08-20 22:12  lightblueme  阅读(202)  评论(0编辑  收藏  举报