在eclipse中使用jax-ws构建webservices服务端和客户端

服务端:

package com.yinfu.service;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class TestWebsService {
    public String sayHello(String username) {
        return "Hello: " + username;
    }

    public static void main(String[] args) {
        Endpoint.publish("http://localhost:8075/com.yinfu.service.TestWebsService", new TestWebsService());
        System.out.println("Success");
    }
}

在想要发布为WebService的类上加上注解@WebService,这个类的方法就变为WebService的方法了,再通过Endpoint的publish方法,发布这个服务,到此,一个最简单的WebService搞定。运行main方法,在浏览器里输入”http://localhost:8075/com.yinfu.service.TestWebsService?wsdl “ 会看到你的WSDL信息。

OK,说明服务端没有问题,搭建成功

客户端:

在命令行输入命令 wsimport -p [包名] -keep [发布的服务地址?wsdl] 生成客户端代码,如生成本例的客户端代码wsimport -p com.yinfu.service.client-keep http://localhost:8075/com.yinfu.service.TestWebsService?wsdl“,当然,前提是你已经配好了JAVA环境变量。控制台会显示

注意现在需要找到生成的客户端java代码,控制台指向在那生成的代码就在哪里,例如我控制台指向的是C:\Users\Administrator\那么我生成的java文件就在C:\Users\Administrator\ com\yinfu\service\client\中,这个地方注意一下就可以了,有很多人不知道生成的代码去哪里了!

OK,把生成的代码拷贝到客户端的项目中,

package com.yinfu.service.client;

public class HelloClient {
    /**
     * @param args
     */
    public static void main(String[] args) {
        TestWebsServiceService myService = new TestWebsServiceService();
        TestWebsService ms = myService.getTestWebsServicePort();
        String s = ms.sayHello("why");
        System.out.println(s);
    }
}

利用这些生成的客户端代码,就可以调用这个WebService服务了:执行代码,输出:Hello why。运行的时候要注意服务端的项目服务是启动的。

在eclipse中使用jax-ws构建webservices服务端和客户端

时间: 2024-11-05 20:47:56

在eclipse中使用jax-ws构建webservices服务端和客户端的相关文章

使用Apache CXF开发WebServices服务端、客户端

在前一篇的博客中,我使用Xfire1.x来开发了WebServies的服务端. 但是如果你访问Apache的官网,可以看到xfire已经被合并了. 最新的框架叫做CXF. Apache CXF = Celtix + XFire. CXF 继承了 Celtix 和 XFire 两大开源项目的精华, 提供了对 JAX-WS 全面的支持,并且提供了多种 Binding .DataBinding.Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code Fi

使用XFire开发WebServices服务端和客户端

代码已亲测,全部通过. 创建web service的时候一直报java.lang.ClassNotFoundException: org.jdom.Element这个错误,原因是导入jdom jar包的版本不正确. 所用的jar包包括: activation-1.0.2.jar commons-codec-1.4.jar commons-httpClient-3.1.jar commons-logging-1.1.2.jar jaxen-1.1.6.jar jdom-1.0.jar log4j.

mvn构建JAX-WS项目含服务端和客户端代码实现

java中WebService框架有很多,像Axis,XFire,CXF等,除了上述框架外,JDK中自带JAX-WS框架.相比而言,JWS是轻量级的,使用非常简便,可与Spring集成使用. 下面就详述如何通过mvn构建WebService服务端及客户端. 1.引包. 在mvn项目的pom文件中加入依赖包 <dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-rt</artif

[JavaEE]Get请求URI中带的中文参数在服务端乱码问题的解决方法

在Get请求中,如果请求参数中带有中文,如 http://localhost:8080/DinnerParty/shop/search?query=多伦多, 在服务端拿到的是乱码. 这是因为客户端提交过去的是UTF-8编码的数据,而服务端解析URi时可能使用的是 iso8859-1编码. 修改tomcat配置文件server.xml <Connector port="8080" protocol="HTTP/1.1"               connect

Node中http模块详解(服务端篇)

Node中的Http Node中提供了http模块,其中封装了高效的http服务器和http客户端 http.server是一个基于事件的HTTP服务器,内部是由c++实现的,接口由JavaScript封装 http.request是一个HTTP客户端工具.用户向服务器发送数据. 下面就来分别得介绍一下http的服务端和客户端 一.HTTP服务器 http.Server实现的,它提供了一套封装级别很低的API,仅仅是流控制和简单的解析,所有的高层功能都需要通过它的接口,就像在前面的文章<Node

java中socket创建服务端与客户端即时对聊

package tool; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; impo

也谈如何构建高性能服务端程序

引子 我接触过很多编程语言,接触过各种各样的服务器端开发,Java,Go,Ruby,Javascript等语 言,Spring,Node.js,Rails等等常见服务器端框架和编程模型都有接触.这里谈一下我个人对高性能服务器端程序的一些看法,希望给各位读 者一些认识.这片文章提到的内容也是 Coding(https://coding.net) 代码托管乃至整站都在使用的一些概念和技术. 此外,阅读这篇文章,有如下几个前提:不谈硬件,不评论编程语言以及框架的好坏,不谈高级算法,可拍砖,拒绝喷子 三

[转]也谈如何构建高性能服务端程序

我接触过很多编程语言,接触过各种各样的服务器端开发,Java,Go,Ruby,Javascript等语言,Spring,Node.js,Rails 等等常见服务器端框架和编程模型都有接触.这里谈一下我个人对高性能服务器端程序的一些看法,希望给各位读者一些认识.这片文章提到的内容也是 Coding(https://coding.net) 代码托管乃至整站都在使用的一些概念和技术. 此外,阅读这篇文章,有如下几个前提:不谈硬件,不评论编程语言以及框架的好坏,不谈高级算法,可拍砖,拒绝喷子 三个关键词

[Axis2与Eclipse整合开发Web Service系列之三] 服务端返回值

前言 在前面的三篇中 [Axis2与Eclipse整合开发Web Service系列之一] 生成Web Service Client(将WSDl 转化成 Java代码) [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端 [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端(续) 介绍了如何使用 axis2 与 eclipse 的开发web Service .在第