文档章节

利用JDK快速发布一个webservice

 剧终人散
发布于 2015/12/24 10:13
字数 443
阅读 16
收藏 0
点赞 0
评论 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
博文 6
码字总数 2205
作品 0
浦东
spring+restful service

Spring整合CXF,发布RSETful 风格WebService 这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的。关于发布CXF WebServer和Spring整合CXF这里就不再多加赘述...

游宵 ⋅ 2014/04/25 ⋅ 0

WebService学习总结(三)--使用JDK开发WebService

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

JAVA_NINA ⋅ 2016/05/02 ⋅ 1

传统webService服务端和客户端开发(第一种方法)

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

chenruibing ⋅ 2015/06/09 ⋅ 0

webservice之通过wsdl文件生成客户端

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

monster_nian ⋅ 2016/01/14 ⋅ 0

webService简单概念

1、webservice 的概念,解决什么问题? webservice 就是一个应用程序,它提供一种通过web 方式访问的api. 解决两个系统或者(应用程序)之间的远程调用..... 调用是跨语言,跨平台... webse...

chenruibing ⋅ 2015/06/09 ⋅ 0

Java WebService接口生成和调用 图文详解

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

Dylan1009 ⋅ 06/19 ⋅ 0

JDK6开发原生webservice

webservice接口开发有用到Axis2、XFire、CXF等框架发布通过获取相关的wsdl文件即可实现远程通讯数据交互。 Axis2配合相关的IDE生成服务并发布到服务器上面相当简单和根据选择其中之一的wsdl引...

stellarzhou ⋅ 2013/06/27 ⋅ 3

WebService教程详解(一)

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

snowing1990 ⋅ 2016/06/29 ⋅ 0

webservice超简单教程

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

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

webservice笔记

概念: 1、WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用. 2、我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我...

包包大人 ⋅ 2014/04/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mavne settings.xml

<?xml version="1.0" encoding="UTF-8"?> <settings> <localRepository>C:/Users/tuozq/.m2/repository</localRepository> <mirrors> <mirror> <id>a......

Jay丶 ⋅ 5分钟前 ⋅ 0

xuchen-mvc相关类

package org.mvc.framework.utils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ContextPathUtil { public static List<String> splitConte......

徐志 ⋅ 19分钟前 ⋅ 0

JVM CMS和G1 有什么区别

1.CMS适用于要求:不能忍受长时间停顿要求快速响应的应用。 2.当新生代占用达到一定比例的时候,开始出发收集。不区分年轻代和年老代空间。它把堆空间划分为多个大小相等的区域。当进行垃圾收...

qimh ⋅ 21分钟前 ⋅ 0

重入(reentrant或re-entrancy)攻击

可重入 若一个程序或子程序可以「在任意时刻被中断然后操作系统调度执行另外一段代码,这段代码又调用了该子程序不会出错」,则称其为可重入(reentrant或re-entrancy)的。 例子如下: funct...

王坤charlie ⋅ 22分钟前 ⋅ 0

HTTP协议(超文本传送协议)详解

引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTT...

一个成都的小点点 ⋅ 23分钟前 ⋅ 0

bootstrap easyui

bootstrap easyui

霜叶情 ⋅ 23分钟前 ⋅ 0

数据结构与算法之双向循环链表实践

一、双向循环链表实践 1.题目1,要求实现用户输入一个数,使得26个字母的排列发生变化 例如用户输入3,输出结果:DEFGHIJKLMNOPQRSTUVWXYZABC 例如用户输入-3,输出结果:XYZABCDEFGHIJKLMN...

aibinxiao ⋅ 26分钟前 ⋅ 0

架构设计之初体验,送给准备进阶架构的朋友(个人总结)

1 基本概念和目的 架构设计的目的是为了解决系统复杂度带来的问题,并不是要面面俱到,不需要每个架构都具备高性能、高可用、高扩展等特点,而是要识别出实际业务实际情况的复杂点,然后有有...

James- ⋅ 27分钟前 ⋅ 0

获取jar中的资源文件途径

如果资源文件处于jar中而非当前项目中,可以通过如下方式加载 String path = Thread.currentThread().getConctextClassLoader().getResource("资源文件路径").getFile();...

最佳的时间就是现在 ⋅ 30分钟前 ⋅ 0

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

阿里云云栖社区 ⋅ 33分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部