| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
12年前发布

CXF实现服务的发布

  在之前也谢了几篇关于CXF进行服务的发布的文章,基于Spring以及基于jetty 

    本文同样实现基于Jetty内置服务器进行服务的发布,主要解决的问题就是发布出来的WSDL中方法参数名称不一致的问题

接口文件:

package demo.hw.server;    import javax.jws.WebMethod;  import javax.jws.WebParam;  import javax.jws.WebResult;  import javax.jws.WebService;    @WebService  public interface HelloWorld {      @WebMethod      @WebResult(name="callBack")      String sayHi(@WebParam(name="username")String username);    }

实现类:

package demo.hw.server;    public class HelloWorldImpl implements HelloWorld {        public String sayHi(String text) {          System.out.println("sayHi called");          return "Hello " + text;      }  }

发布:(1)

package demo.hw.server;      import javax.xml.ws.Endpoint;    public class Server {     public static void main(String args[]) throws Exception {    Endpoint endpoint = Endpoint.publish(      "http://localhost:8080/WSCXF/helloService",      new HelloWorldImpl());// 这里是实现类    System.out.println("WS发布成功!");     }  }

 

发布(2)

HelloWorldImpl helloworldimp = new HelloWorldImpl();    JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();    factoryBean.setAddress("http://localhost:8080/WSCXF/helloService");    factoryBean.setServiceClass(HelloWorld.class);//接口类    factoryBean.setServiceBean(helloworldimp);    factoryBean.create();


实现结果:
http://localhost:8080/WSCXF/helloService?wsdl

CXF实现服务的发布


  总结: 在之前探究了一段时间,实现了Spring无注解的发布服务,并实现了拦截器等功能,但是现在项目需求能够对服务进行控制,能够控制启动和停止,于是个人认为利用内置 Jetty服务器则可以实现对服务的控制,这样的话就需要进行注解编程,个人在探索中学习,如果童靴你又好的方法,希望能够分享一下。

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1351683497676.html
Apache CXF WEB服务/RPC/SOA