关于cxf的webservice搭建2

前面曾讲过cxf的webservice搭建,但客户端的代码依赖与服务端。这给我带来了很多不便。因此这里来说下不依赖服务端的客户端搭建。

服务端大致与上讲不变,需要更改处下面会提示。

首先重新搭建客户端,只有一个测试类,Test.java代码如下:

import org.apache.cxf.endpoint.Client;

import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;

public class Test {

public static void main(String str[]) throws Exception {

JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();

Client client = clientFactory.createClient("http://localhost:8080/WebService/HelloService?wsdl");

Object[] result = client.invoke("sayHello", "lml");

System.out.println(result[0]);

}

}

导入相关jar包,这里我只用到了2个jar,如下图:

运行后可能出现下面错误:

出现这个原因是因为没有使用正确的jre包,在我的java文件夹下有2个文件,使用jdk下的jre文件,注意tomcat与eclipse都需要使用该jre。

当我导完文件后,又出现个新问题,问题如下:

我在下面两个博客上得到提示:http://pangsir.iteye.com/blog/1492508  http://lost-alien.iteye.com/blog/1175859

更改服务端代码,在实现类下加入targetNamespace标签,代码如下:

import javax.jws.WebService;

import com.lml.ws.service.Hello;

@WebService(targetNamespace="http://service.ws.lml.com/",endpointInterface = "com.lml.ws.service.Hello")

public class HelloImpl implements Hello {

public String sayHello(String name) {

return name + " say hello!";

}

}

运行结果,结果正确:

源码下载地址:http://download.csdn.net/detail/l540151663/8039763

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,006评论 19 139
  • WebService的实现方式有很多,这里主要介绍关于cxf的WebService的搭建。 参考连接:http:/...
    简单Liml阅读 608评论 0 0
  • 今天不错! 本来想下班搞些自己的事情,结果一直搞工作忙到九点~ 之前都是自己学习到九点,想不到这次额外充实! 今天...
    阿立立哥阅读 132评论 0 0
  • 我养了一盆多肉。 它是我女儿,叫“干净”。 那种胖嘟嘟粉嫩粉嫩的小多肉,花型合拢来来像一盏莲花,一片片的叶...
    谢徐一晴阅读 466评论 1 0

友情链接更多精彩内容