文档章节

利用JDK快速发布一个webservice

 剧终人散
发布于 2015/12/24 10:13
字数 443
阅读 21
收藏 0

    最近在做的一个java后台批处理项目中,需要对外部发布服务接口供报表应用等项目调用,最初拿到任务时考虑使用JMX的方式,因为报表系统使用的也是java,但是后来考虑到异构项目所以最后决定使用webservice。

    

package com.think.wade.service;

import java.util.ArrayList;
import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

/**
 * @WebService 定义在类之上,表示将该类发布成一个webservice
 *
*/
@WebService
public class HelloWorld {
	
	//@WebMethod 表示该方法发布访问
	@WebMethod
	public List<String> refreshAccountInfo(){
		List<String> list = new ArrayList<String>();
		list.add("aaaa");
		list.add("bbbb");
		list.add("cccc");
		return list;
	}
	
	//@WebMethod 表示该方法发布访问, exclude为true表示排除该方法
	@WebMethod(exclude=true)
	public String test(){
		return "test";
	}
	
	public static void main(String[] args){
	    //发布webservice的方法,提供服务的地址和端口、提供服务的类实例
	    Endpoint.publish("http://127.0.0.1:11234/helloWord", new HelloWorld());
	}
}

启动运行该类main方法,进行webservice的发布。

启动后在浏览器中输入刚才发布的地址: http://127.0.0.1:11234/helloWord,如果出现以下内容表示发布成功。

在jdk的bin目录下有个 wsimport.exe 的运行命令,它可以解析webservice服务的描述文件(见浏览器内容),并自动生成响应的java代码,因为wsdl描述文档是标准的,即使是非java语言发布的webservice服务,这里也可以解析并生成java代码。具体命令不做解释。

生成之后的结构:

其中 HelloWorldService 是调用的客户端入口,该类包含了注解 @WebServiceClient(name = "HelloWorldService") ,

package com.think.wade.client;

import java.util.List;

public class Client {
	public static void main(String[] args){
		//实例化
		HelloWorldService hws = new HelloWorldService();
		
		HelloWorld hw = hws.getHelloWorldPort();
		
		List<String> list = hw.refreshAccountInfo();
		
		System.out.println(list);
	}
}

运行结果:

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 8
码字总数 2205
作品 0
浦东
私信 提问
WebService学习总结(三)--使用JDK开发WebService

一、WebService的开发手段   使用Java开发WebService时可以使用以下两种开发手段     1、 使用JDK开发(1.6及以上版本)     2、使用CXF框架开发(工作中) 二、使用JDK开发WebServic...

JAVA_NINA
2016/05/02
135
1
webservice之通过wsdl文件生成客户端

通过前面我们了解的内容,我们来简单的编写一个webservice的实例 环境:eclipse+jdk1.6 那么,我们如何用java发布一个webservice服务呢? 1)用jdk1.6以后的版本发布; (2)与Web服务相关的类,...

monster_nian
2016/01/14
2.4K
0
Java WebService接口生成和调用 图文详解

webservice简介: Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所...

Dylan1009
2018/06/19
0
0
WebService教程详解(一)

Web Services 可以将应用程序转换为网络应用程序。 通过使用 Web Services,您的应用程序可以向全世界发布信息,或提供某项功能。 Web Services 可以被其他应用程序使用。 通过 Web Services...

snowing1990
2016/06/29
13
0
webservice超简单教程

webservice目的: 程序A调用程序B中的方法C... 首先申明:本次需要采用的JDK版本为jdk1.6+ 1,建立一个项目名为Trans,web项目,普通java项目都可以!这里我们就以简单的java应用程序来作为示范吧!...

好名字都被猪用了
2015/09/09
102
1

没有更多内容

加载失败,请刷新页面

加载更多

在 Ubuntu 上为 CentOS 编译 Rust 程序

现在 CentOS 8 还没出来,最新的是 CentOS 7.6,上面搭载的 glibc 版本是 2.17,都已经是 2012 年那时候的版本了。 现在开发者比较常用的桌面 Linux 系统,比如 Ubuntu / Debian / Mint / A...

helloclia
36分钟前
8
0
Android Multimedia框架总结(一)MediaPlayer介绍之状态图及生命周期

前言:从本篇开始,将进入Multimedia框架,包含MediaPlayer, Camera, Surface, MediaRecord, 接下来几篇都是MediaPlayer相关。同样看下Agenda如下: MediaPlayer的状态图 Idle 状态 End 状态...

天王盖地虎626
今天
2
0
IntelliJ IDEA创建第一个Spring boot项目

下载maven:http://maven.apache.org/download.cgi 开发工具:IntelliJ IDEA JDK: Java JDK1.8 ## 1.为了第一个项目初始化速度加快,我们先来配置maven: 添加配置: 选择Build,Execution,Dep...

凌宇之蓝
今天
3
0
Coding and Paper Letter(四十五)

资源整理。 1 Coding: 1.Python库gempy,一种基于Python的开源三维结构地质建模软件,它允许从界面和方向数据隐式(即自动)创建复杂的地质模型。 它还支持随机建模以解决参数和模型的不确定...

胖胖雕
今天
7
0
golang 声明一个指定长度的数组,用于后续添加

很多时候我们需要声明一个指定长度的数组,用于后续添加.在使用go的时候要注意,下面的第一个例子会有报错 "non-constant array bound",应该使用第二个例子. Length 是动态的值 有报错的例子 ...

漫步海边小路
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部