1 服务端的发布

第一步: 创建一个 Java 项目
第二步: 创建一个类, 加入 Webservice 注解
第三步: 提供一个方法 sayHello
第四步: 在 main 方法中调用 jdk 提供的发布服务的方法

第五步:访问服务的 wsdl文档(服务的发布地址+?wsdl)http://192.168.31.247:8888/hello?wsdl

package com.test.webservice;

import javax.jws.WebService;
import javax.xml.ws.Endpoint; //1、给类添加注解
@WebService
public class HelloService { //2、声明实例方法
public String sayHello(String name,int age){
System.out.println("服务端的 sayHello 方法被调用了。 。 。 。 ");
return "hello:"+name+"---age:"+age;
} public static void main(String[] args) {
String address = "http://192.168.31.247:8888/hello";
Object implementor = new HelloService();
//3 使用端点服务,将对象绑定到一个地址和端口。同时必须要在端口后面给服务取一个名称
//第一个参数称为Binding即绑定地址,
//第二个参数是实现者,即谁提供服务
Endpoint.publish(address, implementor);
}
}

运行上面的程序,可以看到程序一直处于运行状态,这和以前我们运行main程序一闪而过是不一样的。

我们可以在浏览器中访问wsdl文档:查看的效果如下

2 客户端调用

1 jdk 中 wsimport 命令使用

作用: 解析 wsdl 文件, 生成客户端本地代码

针对上面的第一个服务我们执行命令:wsimport -s . http://192.168.31.247:8888/hello?wsdl

得到的代码如下:

2 客户端调用

1、 使用wsimport命令解析wsdl文件生成本地代码
2、 通过本地代码创建一个代理对象
3、 通过代理对象实现远程调用

复制生成的所有的.java文件到项目中

创建类调用服务

package com.test.webservice;

/**
* 1、 使用 wsimport 命令解析 wsdl 文件生成本地代码
* 2、 通过本地代码创建一个代理对象
* 3、 通过代理对象实现远程调用
* @author jepson
*
*/
public class App {
public static void main(String[] args) {
HelloServiceService ss = new HelloServiceService(); HelloService proxy = ss.getHelloServicePort(); String s= proxy.sayHello("tom", 25); System.out.println(s);
}
}

运行上面的代码结果为:

服务程序运行结果为:

看懂使用说明书WSDL

基于 jdk1.7 发布一个 WebService 服务的更多相关文章

  1. 自定义及发布一个webservice服务

    自定义及发布一个webservice服务    - 声明 某个业务服务为webservice服务       通过@webservice 注解来声明    - 发布webservice服务       ...

  2. WebService-01-使用jdk发布第一个WebService服务并调用

    Webservice是SOAP+XML,SOAP是基于Http的,Http底层是Socket,先回顾一下Socket: Server: public class Server { public sta ...

  3. (二)发布第一个WebService服务与DSWL文档解析

    1. 编写接口 package service; import javax.jws.WebService; /** * 第一个webservice服务, * @WebService注解表示这是一个we ...

  4. java程序调用xfire发布的webService服务(二)

    在上一篇的调用xfire发布的webService服务中,我只是从服务端返回了一个字符串给客户端,却没有测试从客户端传递数据给服务端.而实际应用中一般是不太可能只出现这样的应用场景的,因此我便更进一步 ...

  5. (一)CXF之发布第一个WebService服务

    一.CXF入门 1.1 前提 Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS .这些 ...

  6. 在IIS上发布一个WebService,再发布一个网站调用这个WebService(实例)

    首先描述一下先决条件:IIS可用,VS2005可用. 好,现在开始: 首先写一个WebService并把它发布到IIS上: 在IIS上的默认网站下新建一个“虚拟目录”,取名为“webservice1” ...

  7. 【Web学习日记】——在IIS上发布一个WebService

    没有开发过程,只是发布过程 一.前提 开发使用的是VS2013 从来没有做过Web的发布,在网上找例子,看到的总是与自己的情况不相符,而且也有人提出了VS2013发布网站的问题,但解决方案却很少,好不 ...

  8. java程序调用xfire发布的webService服务

    昨天用xfire搭好了一个简单的webService的服务,可以在浏览器访问,今天便想要尝试以下如何调用这个服务及相关的方法.在网上查找了一些资料后,实现过程如下. 1.创建一个maven web项目 ...

  9. soamanager发布的Webservice服务,调用时出现http500报错

    最近再给薪酬那边发布ws服务时出现了报错,调用方反馈了errorCode:BEA-380002.在使用XMLspy工具去调用这个WSDL时候,则反馈http500的错误消息.如下图: 遇到这种问题我通 ...

随机推荐

  1. 学习使用MS SQL Server游标(CURSOR)

    说实的,使用MS SQL Server这样久,游标一直没有使用过.以前实现相似的功能,都是使用WHILE循环加临时表来实现.刚才有参考网上示例练习写了一下.了解到游标概念与语法. 下面代码示例中,先是 ...

  2. linux下利用httpd搭建tomcat集群,实现负载均衡

    公司使用运营管理平台是单点tomcat,使用量大,或者导出较大的运营数据时,会造成平台不可用,现在需要搭建tomcat集群,调研后,决定使用apache的httpd来搭建tomcat集群.以下是搭建步 ...

  3. IDEA下载与安装

    IntelliJ IDEA号称当前Java开发效率最高的IDE工具. IntelliJ IDEA有两个版本:社区版(Community)和旗舰版(Ultimate). 社区版 是免费的.开源的,但功能 ...

  4. 20165219 《Java程序设计》实验三(敏捷开发与XP实践)实验报告

    20165219 <Java程序设计>实验三(敏捷开发与XP实践)实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:王彦博 学号:20165219 成绩: 指导教 ...

  5. JSP页面导出PDF格式文件

    JSP页面导出PDF格式文件基本在前端页面可以全部完成 <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/ ...

  6. hosts是什么意思?Hosts文件有什么作用和功能?

    hosts是什么意思?Hosts文件有什么作用和功能? 熟悉网络的朋友们都会用到hosts文件,针对还不清楚hosts是什么意思以及hosts文件有什么功能和作用?针对此问题,本文就为大家进行解答   ...

  7. 洛谷P2764 最小路径覆盖问题(最大流)

    传送门 先说做法:把原图拆成一个二分图,每一个点被拆成$A_i,B_i$,若原图中存在边$(u,v)$,则连边$(A_u,B_v)$,然后$S$对所有$A$连边,所有$B$对$T$连边,然后跑一个最大 ...

  8. MongoDB集群配置笔记

    firewall-cmd --query-port=27017/tcp yum install system-config-firewall-tui firewall-cmd --zone=publi ...

  9. [SCOI2007]最大土地面积(旋转卡壳)

    首先,最大四边形的四个点一定在凸包上 所以先求凸包 有个结论,若是随机数据,凸包包括的点大约是\(\log_2n\)个 然鹅,此题绝对不会这么轻松,若\(O(n^4)\)枚举,只有50分 所以还是要想 ...

  10. SQL函数:返回传入的字符中的数字或者字符

    /******返回传入的字符串的所有字符 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER function [dbo].[F_Get ...