eclipse下开发简单的Java Web Service
service部分
在eclipse下新建一个动态web项目
在项目中新建一个service类
编写SayHello类的代码
package org.sunny.service;//包不要引用错了 import javax.jws.WebService; import javax.xml.ws.Endpoint;//注解@WebService不能少 @WebService public class SayHello {//该方法为客户端调用的方法,方法名任意public String say(String name){return "Hello " + name + " , this is SayHelloService !" ;}public static void main(String[] args) {//第一个参数是访问时的url,9091是任意一个不占用的端口Endpoint.publish("http://localhost:9091/Service/SayHello", new SayHello());System.out.println("service success !");} }
进行测试:对任意空白处右键
或者
运行后将会调用类中的main方法
运行结果出现如下配置则表示发布成功
访问网页:http://localhost:9091/Service/SayHello?wsdl
注意:‘?wsdl’是必须要添加的。
出现如下页面表示发布成功
client部分
新建客户端类
当然,你也可以新建一个web项目来编写客户端代码,本次client可service放在同一个项目下
打开命令行:win+R打开运行,输入cmd
输入以下命令
wsimport -s E:\SunnyWen\Data\Java_web\WebServiceDemo\src -p org.sunny.client.config -keep http://localhost:9091/Service/SayHello?wsdl
-s 后面的是你项目src所在的路径
-p 后面的是你通过该命令生成的类所在的包
-keep 表示导出webservice的class文件时是否也导出源代码java文件.
-verbose表示详细信息。
-d 表示输出的目录,目录必须事先存在,否则导出失败。
在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,用这些类文件,就可以像调用本地的类一样调用WebService提供的方法。该工具可以用于非Java的服务器,如:用C#编写的WebService,通过wsimport则生成Java的客户端实现。
其他命令参数请参照:http://download-llnw.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html
对client类进行代码编写
package org.sunny.client;import java.net.URL;import javax.xml.namespace.QName; import javax.xml.ws.Service; //包别导错了 import javax.xml.ws.WebServiceClient;//导入两个命令生成的类 import org.sunny.client.config.SayHello; import org.sunny.client.config.SayHelloService;//注解@WebServiceClient需要加入 @WebServiceClient public class ClientToSay {public static void main(String[] args) {// 方法一/*try {// 服务WSDL Document的地址URL url = new URL("http://localhost:9091/Service/SayHello?wsdl");// 1.Qnameqname是qualified name 的简写// 2.构成:由名字空间(namespace)前缀(prefix)以及冒号(:),还有一个元素名称构成// 由package-info.java文件可知namespace为http://service.sunny.org/,QName qname = new QName("http://service.sunny.org/", "SayHelloService");Service service = Service.create(url, qname);SayHello sayHello = service.getPort(SayHello.class);String result = sayHello.say("Sunny01");System.out.println(result);} catch (Exception e) {e.printStackTrace();}*/// 方法二//通过SayHelloService的getSayHelloPort()方法的奥SayHello接口SayHello sayHello = new SayHelloService().getSayHelloPort();//调用SayHello接口的say方法String result = sayHello.say("Sunny02");//输出返回内容System.out.println(result);}}
运行为java application程序,输出结果
eclipse下开发简单的Java Web Service相关推荐
- Eclipse(Windows)下第一个动态Java Web项目(Tomcat部署)
请先配置好Tomcat环境,参考我的博客 Windows1903安装Tomcat9.0(解决乱码问题) 一.创建第一个Dynamic Java Web项目 1.Eclipse下新建Dynamic Ja ...
- CORBA 简单了解和JAVA与C++互操以及C++调用Java web service
CORBA了解 CORBA(Common Object Request Broker Architecture, 公共对象请求代理体系结构)是由OMG(对象管理组织,Object Management ...
- Java在eclipse下开发的常用快捷键集锦
2019独角兽企业重金招聘Python工程师标准>>> Java在eclipse下开发的常用快捷键集锦 ctrl+shift+o 说明:删除无用的代码引用 使用场景:当前文件中的引用 ...
- WebService 理论详解、JWS(Java Web Service) 快速入门
目录 WebService (web服务)概述 WebService 平台技术 WebService 工作原理 WebService 开发流程 常见 Web Service 框架 JWS(Java W ...
- .Net/C# 与 J2EE/Java Web Service 互操作完整实例
http://www.cnblogs.com/Microshaoft/archive/2005/08/18/217213.html .Net 与 J2EE/Java Web Service 互操作完整 ...
- 一个简单的Java web服务器实现
前言 一个简单的Java web服务器实现,比较简单,基于java.net.Socket和java.net.ServerSocket实现: 程序执行步骤 创建一个ServerSocket对象: 调用S ...
- java应用开发_开发简单的Java应用
第一章 开发简单的Java应用 1.Java语言的技术分类 (1)JavaSE:标准版,开发桌面应用 (2)JavaEE:企业版,Web应用 (3)JavaME:小型版,嵌入式 2.如何开发和运行Ja ...
- Java中的变量分类_开发简单的Java应用
第一章 开发简单的Java应用 1.Java语言的技术分类 (1)JavaSE:标准版,开发桌面应用 (2)JavaEE:企业版,Web应用 (3)JavaME:小型版,嵌入式 2.如何开发和运行Ja ...
- linux下tomcat部署java web项目_在linux下用tomcat部署java web项目的过程与注意事项
在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...
最新文章
- php在dw中设置按钮圆角,Dreamweaver怎么用CSS制作圆角按钮?
- Spark编程基础(Python版)
- 它有什么本事,能成为Apache基金会项目?阿里移动前端开源框架Weex揭秘 移动开发...
- java生成pdf_Java实现PDF文件生成并且打印pdf文件 demo
- 红帽 jboss_红帽正式宣布发布JBoss BPM Suite 6和JBoss BRMS 6
- 记一次打包的诡异现象
- A + B Problem II
- 虚拟化技术(1)——介绍
- Ado.net的连接池
- SAP数据接口技术类型
- iTop-4412精英版的u-boot-2017.11移植教程(二)
- 常用计算机 启动bios,电脑进入BIOS的方法集合
- 还记得maven使用之令人头疼的.lastUpdated文件吗?
- 聊一次跳槽被怼的经历
- 计算机网络-常用英文简写与名词解释
- 老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩、击穿、穿透
- 联发科6758_联发科p70相当于骁龙什么处理器型号 对比骁龙675哪个好
- XShell免费版的安装配置教程以及使用教程—解决“WARNINGThe remote SSH server rejected X11 forwarding request.“警告
- h61支持服务器内存吗,h61支持什么内存条
- javascript DOM小结
热门文章
- 电影里看到程序员一台电脑装2个显示屏,这样有什么优点?
- 视频剪辑用i7,8600还是r5,3600好些?
- Qt4_实现Edit菜单
- 死锁的处理策略——检测和解除
- Linux服务器安装JavaWeb环境(三) RocketMQ,Nacos
- jmeter.bat双击闪退问题
- [leetcode] Max Points on a Line 判断最多有多少个点在同一条直线上
- 什么是SQL Server故障转移群集
- aws rds监控慢sql_AWS RDS SQL Server中的本机差异备份概述
- ssas表格模型 权限控制_如何在SQL Server 2016中自动执行SSAS表格模型处理