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



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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值