文档章节

利用JDK快速发布一个webservice

 剧终人散
发布于 2015/12/24 10:13
字数 443
阅读 16
收藏 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服务端和客户端开发(第一种方法)

服务端:(作为服务端,怎么将自己的应用程序发布成一个webservice,让别人调用) 发布服务: //java jdk 提供一个自带的类可以将java 应用程序发布成webservice /** * 1,提供服务对外的访问地...

chenruibing
2015/06/09
0
0
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
06/19
0
0
webservice超简单教程

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

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

没有更多内容

加载失败,请刷新页面

加载更多

Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
30分钟前
1
0
fullcalendar重新渲染

uiCalendarConfig.calendars.lesson_calendar.fullCalendar('removeEvents');var ym = uiCalendarConfig.calendars.lesson_calendar.fullCalendar('getView').title;$scope.get_lesson(y......

人来疯啊
34分钟前
1
0
多渠道打包总结

https://www.jianshu.com/p/2130db7584c8 https://blog.csdn.net/u011153817/article/details/50772496...

塔塔米
43分钟前
1
0
android -------- Data Binding的使用 ( 六) 自定义属性

今天来说说DataBinding在自定义属性的使用 默认的android命名空间下,我们会发现并不是所有的属性都能直接通过data binding进行设置,比如margin,padding,还有自定义View的各种属性。 默认...

切切歆语
50分钟前
1
0
收邮件 下载附件

uses IdMessage, IdMessageParts, IdAttachment, IdGlobalProtocols, ...;procedure SaveAttachmentsFromFile(FileName: String)var IdMessage: TIdMessage; MsgPart: Ti......

vga
56分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部