Java6上开发WebService

Java6上开发WebService
2010-01-23 16:19:00
标签:Java6 WebService 休闲 职场
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
近日朋友问起Java开发WebService的问题,于是为其写了一份简单说明,贴于博客,与各位朋友分享。
一、       开发环境
Java6开始,JDK中已经支持用Java开发WebService应用了,不必选用第三方包。因此建议授课软件环境如下:
软件及其版本
必需
安装顺序
JDK1.6u18
必需
1
Eclipse3.5 JavaEE
必需
2
 
如果软件下载和安装有问题,可另行沟通。
二、       样例说明
下面是一个Java6开发Web Service的入门例子,项目结构如下:
完整例子共分为三部分
服务器端在包jerry.ws中(手工编写)
客户端在包jerry.wsclient中(自动生成)
启动客户端入口在jerry.RunDemo类中(手工编写)。
 
一、       样例使用步骤
 
1.    新建Java项目
2.    将服务器端代码加入到项目中
Java6WS代码如下:
 
package jerry.ws;

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

@WebService
public class Java6WS {
  public String doSomething() {
    return "这是基于Java6的WebService";
  }
  public static void main(String[] args) {
    String url="http://localhost:8080/AxisWS/jerry.ws.Java6WS";
    Endpoint.publish(url,new Java6WS());
  }
}
3.    运行服务
1)     启动jerry.ws.Java6WS
启动后控制台信息如下:
注意:维持现状,不要关闭运行。
2)     查看WSDL
该步骤是向学生解释WSDLXML信息。
打开浏览器,在地址栏里输入
http://localhost:8080/AxisWS/jerry.ws.Java6WS?wsdl
运行结果如下:
 
4.    调用服务
Java6提供生成WebService客户端代码工具。
注意,在生成前需要先启动服务端。如果已经在启动,就不需要重新启动。
1)     进入src目录
这里的src是指你当前项目的src目录。
2)     运行生成客户端命令wsimport
wsimport –p jerrry.wsclient –keep http://localhost:8080/AxisWS/jerry.ws.Java6WS?wsdl
 
3)     刷新Eclipse项目
为了将生成的代码引入项目,需要刷新一下项目。
      客户端代码生成后一般不宜自行改动。一般做法是,如果服务发生了变化,可以用此方法重新生成一下。
4)     调用客户端
客户端实际上可以看做是WebService的代理类。所以使用WebService,从代码上就是使用客户端代理类。
jerry.RunDemo类代码如下:
package jerry;

import jerry.wsclient.Java6WS;
import jerry.wsclient.Java6WSService;

public class RunDemo {

  /**
    * @param args
    */

  public static void main(String[] args) {
                Java6WS java6WS = new Java6WSService().getJava6WSPort();    
                String returnContent = java6WS.doSomething();    
                System.out.println(returnContent);
  }

}
5)     启动测试
启动jerry.RunDemo类,注意,仍然要保持服务是启动状态。
6)     OK,大功告成。

本文出自 “王杰瑞的技术博客” 博客,转载请与作者联系!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在spring中该如何使用DTO,以及DTO和Entity的关系

1. DTO是用于将后台的数据结构(javaBean)转换为对用户友好的表现方式的数据结构,同时也能防止后台数据直接传送到前台而存在的潜在危险。 2. 可以时候要哪个springbot框架提供的转换器接口: org.springframework.core.convert.con…

带有Kafka和ZeroMQ的分布式类星体演员

因此,您已经有了使用actor的精美设计,选择了JVM和Quasar在该主题上的强大而忠实的观点。 所有明智的决定,但是在集群上进行分配时您有什么选择呢? 星系 Galaxy是一个非常酷的选择:快速的内存中数据网格,针…

JAVA中断线程的方法

JAVA中断线程的方法 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经被废弃,使用它们是极端不安全的! 现在,如果你要安全有效地终止一个线程,应该采用以下这些方法&a…

最常见的Java异常及其对Java开发人员的评价

我知道我说在完成视频之前我不会张贴帖子,但这一直困扰着我。 至于视频的更新,我有些懒散,有些忙碌,但是我已经准备好记录第一集,这是我第一次有机会,而且我不需要太多的编辑。 无论如何,还是今…

日志系统设计

日志系统设计 2009-12-11 00:46:58| 分类: 技术 | 标签: |字号大中小 订阅 一、重要性日志系统在整个系统架构中的重要性可以称得上基础的基础,但是这一点,都容易被大多数人所忽视。因为日志在很多人看来只是printf。在系…

bzoj 1124 [POI2008]枪战Maf 贪心

[POI2008]枪战Maf Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 741 Solved: 295[Submit][Status][Discuss]Description 有n个人,每个人手里有一把手枪。一开始所有人都选定一个人瞄准(有可能瞄准自己)。然后他们按某个顺序开枪&#x…

核心API最佳实践——JDK日志分级

核心API最佳实践——JDK日志分级 时间:2005-10-29 08:00 来源:网管之家bitsCN.com 字体:[大 中 小]日志(Log)是什么?字典对其的解释是"对某种机器工作情况或某项任务进展情况的记载"。对于应用系统来说,日志就应该记录应…

20165234 《Java程序设计》第五周学习总结

第五周学习总结 教材学习内容总结 第七章 内部类与异常类 内部类内部类:在一个类中定义另一个类。 外嵌类:包含内部类的类,称为内部类的外嵌类。 内部类的类体中不能声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为…

Java日志操作总结

Java日志操作总结 (2008-04-21 17:39:06)标签: 杂谈 . 使用Jakarta Commons Logging(JCL) 1.1. 概述 Apache的开源日志组件Jakarta CommonsLogging(JCL)提供的是一个日志(Log)接口(Interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中…

4-2日装饰器,带参数的装饰器

1,函数的有用信息 from functools import wraps#引用模块 def wrapper(f): # f func1wraps(f)def inner(*args,**kwargs): #聚合#args (1,2,3)执行函数之前的相关操作ret f(*args,**kwargs) # 打散 1,2,3执行函数之后的相关操作return re…

Apache Storm:如何使用Flux配置KafkaBolt

微型框架中的助焊剂可以帮助我们定义和部署Storm拓扑。 Flux有各种包装器,可帮助您定义所需的流并初始化Bolts和Spouts(使用带有或不带有参数的构造函数,并通过反射自动调用自定义配置方法)。 您只需要使用Flux就是将其作为依赖…

java 获取当前函数名

import java.text.SimpleDateFormat; import java.util.Date; /** * Java实现类似C/C中的__FILE__、__FUNC__、__LINE__等,主要用于日志等功能中。 * * version 1.0 2011-07-13 * */ public abstract class CommonFunction { /** * 打印日志时获取当前的程序文件名、行号、方法…

美国华尔街拥抱区块链是最大的威胁

Overstock的首席执行官帕特里克伯恩宣布证券交易委员会已批准其计划在区块链上发行股票,该区块链是推动比特币数字货币的巨大在线分类账。 这是一个重要的时刻。至少在理论上,区块链可以更有效,准确和公开地跟踪股票,债券和其他金…

java枚举和枚举类_Java枚举:您拥有优雅,优雅和力量,这就是我所爱!

java枚举和枚举类当Java 8即将面世时,您确定您对Java 5中引入的枚举很熟悉吗? Java枚举仍然被低估了,很可惜,因为它们比您想象的要有用,它们不仅仅用于通常的枚举常量! Java枚举是多态的 Java枚举是可以包…

Java关键字final、static使用总结

Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承…

【SpringCloud】第五篇: 路由网关(zuul)

前言: 必需学会SpringBoot基础知识 简介: spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。 工具:…

ubuntu shell简介

ubuntu shell简介 (2012-03-13 19:48:09) 标签: 杂谈 分类: 虚拟机下的ubuntu8.04 1.什么是shell? shell是接受用户或应用层的命令,并将这些命令解释给底层的系统内核层,由这些内核完成相应的工作,并将结果…

如何更新Jenkins作业发布config.xml

最近,我想更新Cloudbees中的一些作业(未使用DSL定义),为每个作业添加一些属性。 好吧,我在使其工作时遇到了一些麻烦,这是我的注意事项(我使用的是Jenkins 1.651.2.1,但有可能它应与…

月下“毛景树”

Description 毛毛虫经过及时的变形,最终逃过的一劫,离开了菜妈的菜园。 毛毛虫经过千山万水,历尽千辛万苦,最后来到了小小的绍兴一中的校园里。爬啊爬~爬啊爬~~毛毛虫爬到了一颗小小的“毛景树”下面,发现树上长着他最…

自由口通信模式下计算机读写PLC存储区的程序

自由口通信模式下计算机读写PLC存储区的程序 2008-8-20 8:51:00 来源:摘 要:本文介绍了在自由口通信模式下,用计算机读写S7-200 PLC存储区内相邻的多个字节数据的通信程序设计方法,程序设计中采用了多种可靠性措施。 关键词&…