加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice之CXF初级篇

发布时间:2020-12-16 22:57:17 所属栏目:安全 来源:网络整理
导读:1.导入CXF的包,不知道最小包的话,就将所有的lib下的包导入即可。 2.编写webservice接口。 package com.web.service.inter; public interface IHelloCXF { public String sayHello(String one); } 3.编写webservcie接口的实现类。 package com.web.service.
1.导入CXF的包,不知道最小包的话,就将所有的lib下的包导入即可。
2.编写webservice接口。

package com.web.service.inter;

public interface IHelloCXF {
public String sayHello(String one);
}

3.编写webservcie接口的实现类。

package com.web.service.imp;
import com.web.service.inter.IHelloCXF;
public class HelloCXF implements IHelloCXF{

@Override
public String sayHello(String one) {
// TODO Auto-generated method stub
System.out.println("hello "+one +" by CXF webservice");
return "only post";
}
}

4.编写servlet来发布webservcie

package com.web.service.servlet;

import javax.servlet.ServletConfig;
import javax.servlet.annotation.WebServlet;
import org.apache.cxf.Bus;
import org.apache.cxf.frontend.ServerFactoryBean;
import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
import com.web.service.imp.HelloCXF;
import com.web.service.inter.IHelloCXF;
@WebServlet("/webservice/*")
public class HelloWebServiceServlet extends CXFNonSpringServlet{
/**
*
*/
private static final long serialVersionUID = 1L;

@Override
protected void loadBus(ServletConfig sc) {
// TODO Auto-generated method stub
super.loadBus(sc);
Bus bus = getBus();
ServerFactoryBean sfb = new ServerFactoryBean();
sfb.setBus(bus);
sfb.setServiceClass(IHelloCXF.class);
sfb.setAddress("/helloCXF");
sfb.setServiceBean(new HelloCXF());
sfb.create();
}
}

5,运行web应用后,访问http://localhost:8080/MgWebServiceCXF/webservice/?wsdl,如果出现下图则说明webservcie发布成功。

6.编写客户端调用该webservice.

package com.test;

import org.apache.cxf.frontend.ClientProxyFactoryBean;
import org.junit.Test;
import com.web.service.inter.IHelloCXF;
public class CXFClientTest {
@Test
public void test1(){
ClientProxyFactoryBean cpfb = new ClientProxyFactoryBean();
cpfb.setServiceClass(IHelloCXF.class);
cpfb.setAddress("http://127.0.0.1:8080/MgWebServiceCXF/webservice/helloCXF");
IHelloCXF ihcxf = (IHelloCXF) cpfb.create();
System.out.println(ihcxf.sayHello("meigang"));
}
}

运行结果:
客户端:
信息: Creating Service {http://inter.service.web.com/}IHelloCXF from class com.web.service.inter.IHelloCXF
only post

服务端:
信息: Setting the server's publish address to be /helloCXF
hello meigang by CXF webservice
?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读