文档章节

利用JDK快速发布一个webservice

 剧终人散
发布于 2015/12/24 10:13
字数 443
阅读 20
收藏 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教程详解(一)

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

snowing1990
2016/06/29
13
0

没有更多内容

加载失败,请刷新页面

加载更多

当程序员有了中年危机 你会发现你就是个屁

前言 程序员是一个怎样的存在?引用一句鸡汤的名言来说:你以为你用双手改变了世界,实际上是苍老了自己。为什么我今天会抛出这个话题,其实我也是一个懵懂的少年,我也曾经为了成为一名程序...

架构师springboot
8分钟前
0
0
大型网站B2C商城项目实战+MongoDB+Redis+zookeeper+MySQL

本文列出了当今计算机软件开发和应用领域最关键部分,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。...

java知识分子
9分钟前
1
0
大型企业网络系统集成方案如何设计?

网络系统集成是企业实现无纸化办公和即时通讯办公的基础建设,在以生产效率为核心竞争力的市场中,企业想要快速获取信息并有效提高企业工作效率及业务能力,企业网络系统集成是必不可少的,由...

Java干货分享
10分钟前
0
0
Spring应用学习——IOC

1. Spring简介 1. Spring的出现是为了取代EJB(Enterprise JavaBean)的臃肿、低效、脱离现实的缺点。Spring致力于J2EE应用的各层(表现层、业务层、持久层)的解决方案,Spring是企业应用开...

江左煤郎
11分钟前
0
0
用Redis轻松实现秒杀系统

导论 曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。 秒杀系统的架构设计 秒杀系统,是典型...

James-
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部