微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

webservice之CXF初级篇

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发布成功。

webservice之CXF初级篇 - 梦来梦往2013 - 梦来梦往的博客

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
 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐