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相关推荐

  1. Eclipse(Windows)下第一个动态Java Web项目(Tomcat部署)

    请先配置好Tomcat环境,参考我的博客 Windows1903安装Tomcat9.0(解决乱码问题) 一.创建第一个Dynamic Java Web项目 1.Eclipse下新建Dynamic Ja ...

  2. CORBA 简单了解和JAVA与C++互操以及C++调用Java web service

    CORBA了解 CORBA(Common Object Request Broker Architecture, 公共对象请求代理体系结构)是由OMG(对象管理组织,Object Management ...

  3. Java在eclipse下开发的常用快捷键集锦

    2019独角兽企业重金招聘Python工程师标准>>> Java在eclipse下开发的常用快捷键集锦 ctrl+shift+o 说明:删除无用的代码引用 使用场景:当前文件中的引用 ...

  4. WebService 理论详解、JWS(Java Web Service) 快速入门

    目录 WebService (web服务)概述 WebService 平台技术 WebService 工作原理 WebService 开发流程 常见 Web Service 框架 JWS(Java W ...

  5. .Net/C# 与 J2EE/Java Web Service 互操作完整实例

    http://www.cnblogs.com/Microshaoft/archive/2005/08/18/217213.html .Net 与 J2EE/Java Web Service 互操作完整 ...

  6. 一个简单的Java web服务器实现

    前言 一个简单的Java web服务器实现,比较简单,基于java.net.Socket和java.net.ServerSocket实现: 程序执行步骤 创建一个ServerSocket对象: 调用S ...

  7. java应用开发_开发简单的Java应用

    第一章 开发简单的Java应用 1.Java语言的技术分类 (1)JavaSE:标准版,开发桌面应用 (2)JavaEE:企业版,Web应用 (3)JavaME:小型版,嵌入式 2.如何开发和运行Ja ...

  8. Java中的变量分类_开发简单的Java应用

    第一章 开发简单的Java应用 1.Java语言的技术分类 (1)JavaSE:标准版,开发桌面应用 (2)JavaEE:企业版,Web应用 (3)JavaME:小型版,嵌入式 2.如何开发和运行Ja ...

  9. linux下tomcat部署java web项目_在linux下用tomcat部署java web项目的过程与注意事项

    在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...

最新文章

  1. php在dw中设置按钮圆角,Dreamweaver怎么用CSS制作圆角按钮?
  2. Spark编程基础(Python版)
  3. 它有什么本事,能成为Apache基金会项目?阿里移动前端开源框架Weex揭秘 移动开发...
  4. java生成pdf_Java实现PDF文件生成并且打印pdf文件 demo
  5. 红帽 jboss_红帽正式宣布发布JBoss BPM Suite 6和JBoss BRMS 6
  6. 记一次打包的诡异现象
  7. A + B Problem II
  8. 虚拟化技术(1)——介绍
  9. Ado.net的连接池
  10. SAP数据接口技术类型
  11. iTop-4412精英版的u-boot-2017.11移植教程(二)
  12. 常用计算机 启动bios,电脑进入BIOS的方法集合
  13. 还记得maven使用之令人头疼的.lastUpdated文件吗?
  14. 聊一次跳槽被怼的经历
  15. 计算机网络-常用英文简写与名词解释
  16. 老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩、击穿、穿透
  17. 联发科6758_联发科p70相当于骁龙什么处理器型号 对比骁龙675哪个好
  18. XShell免费版的安装配置教程以及使用教程—解决“WARNINGThe remote SSH server rejected X11 forwarding request.“警告
  19. h61支持服务器内存吗,h61支持什么内存条
  20. javascript DOM小结

热门文章

  1. 电影里看到程序员一台电脑装2个显示屏,这样有什么优点?
  2. 视频剪辑用i7,8600还是r5,3600好些?
  3. Qt4_实现Edit菜单
  4. 死锁的处理策略——检测和解除
  5. Linux服务器安装JavaWeb环境(三) RocketMQ,Nacos
  6. jmeter.bat双击闪退问题
  7. [leetcode] Max Points on a Line 判断最多有多少个点在同一条直线上
  8. 什么是SQL Server故障转移群集
  9. aws rds监控慢sql_AWS RDS SQL Server中的本机差异备份概述
  10. ssas表格模型 权限控制_如何在SQL Server 2016中自动执行SSAS表格模型处理