一、webService概念简单介绍:

简单来说,webservice就是远程调用技术,也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

二、实例代码(本实例中不需要导任何jar包,jdk自带包)

新建个java项目(创建java项目可参考:创建一个简单的java项目 )

  

  创建一个接口WebService,一个实现WebServiceImpl,一个主程序WebServicePublish,

package service;

import javax.jws.WebMethod;

public interface WebService {

    @WebMethod
public String sayHello(String name);
}
package service;

@javax.jws.WebService
public class WebServiceImpl implements WebService { @Override
public String sayHello(String name) {
String returnStr = name + ",你好";
return returnStr;
} }
package service;

import javax.xml.ws.Endpoint;

public class WebServicePublish {

    public static void main(String[] args) {
String address="http://localhost:8989/WS_Server/WebService";
Endpoint.publish(address,new WebServiceImpl());
System.out.println("发布成功....");
}
}

  注意:一定要注意接口和实现的注解!!!

创建完成后,我们启动主程序,在控制台可以看到 发布成功

然后我们在浏览器访问我们定义的address,记得末尾要加?wsdl

 

这时候说明服务端服务已经发布成功了,接下来我们创建客户端调用接口

同样,新建一个java项目

接下来这块要注意了,我们打开dos窗口,也就是win+r , 执行cmd

在dos窗口中输入wsimport -s 我们这个项目的src路径 -keep 我们发布的webservice地址

回车后,我们刷新下项目,会发现项目中多了很多自动生成的代码

这时候,我们就可以创建客户端主程序,来调用服务端服务了

package service;

public class WSClient {
public static void main(String[] args) {
WebServiceImplService factory=new WebServiceImplService();
WebServiceImpl wsImpl = factory.getWebServiceImplPort();
String sayHello = wsImpl.sayHello("张三");
System.out.println("调用webservice服务的结果是:"+sayHello);
}
}

运行主程序后,我们可以在控制台可以看到,

说明我们本次webservice服务发布调用成功

webservice学习随笔(一):简单的webservice实例的更多相关文章

  1. WebService学习--(三)使用JDK开发WebService

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

  2. [置顶] WebService学习总结(1)——WebService相关概念

    一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分.但是不得不承认的是W ...

  3. WebService学习总结(6)——WebService常用接口

    商业和贸易:1.股票行情数据 WEB 服务(支持香港.深圳.上海基金.债券和股票:支持多股票同时查询) Endpoint: http://webservice.webxml.com.cn/WebSer ...

  4. Axis2 webservice入门--写个简单的webservice

    上一篇介绍了webservice开发前的准备.下面开始写webservice.如果不了解axis2请看上一篇,如果是新手:建议一边看一边写代码,自己动手完成这个过程. 一.新建一个web项目 二.新建 ...

  5. WebService学习总结(5)——WebService常见开发框架比较

    在SOA领域,我们认为Web Service是SOA体系的构建单元(building block).对于服务开发人员来说,AXIS和CXF一定都不会陌生.这两个产品都是Apache孵化器下面的Web ...

  6. WebService学习总结(2)——WebService是什么?

    一.WebService是什么? 1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 2. 一个跨语言.跨平台的规范(抽象) 3. 多个跨平台.跨语言的应用间通信整合的方案(实际 ...

  7. webservice学习总结(一)-- WebService相关概念介绍

    一.WebService是什么? 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 一个跨语言.跨平台的规范(抽象) 多个跨平台.跨语言的应用间通信整合的方案(实际) 二.为什么要用 ...

  8. JMS学习二(简单的ActiveMQ实例)

    下载安装ActiveMQ服务,下载地址当然可以去官网下载 http://activemq.apache.org/download-archives.html ActiveMQ安装很简单,下载解压后到b ...

  9. linux 学习随笔-shell简单编写

    脚本最好都放在/usr/local/sbin中 脚本的执行 sh -x 脚本.sh -x可以查看执行过程 1在脚本中使用变量 使用变量的时候,需要使用$符号:  #!/bin/bash  ##把命令赋 ...

  10. 利用Java编写简单的WebService实例-转载

    使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService.下面是一个从编写测试例子到 ...

随机推荐

  1. 函数调用_通过apply和call方法调用

    不同类型函数调用之间的主要区别在于:最终作为函数上下文(可以通过this参数隐式引用到)传递给执行函数对象不同.对于方法而言,即为所在的对象:对于函数而言是window或是undefined(取决于是 ...

  2. 理解函数调用_使用arguments参数对所有函数参数执行操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Linux如何设置用户登录超时(/etc/profile)

    1. 针对所有用户 # vi /etc/profile ... export TMOUT=900 # 设置闲置时间为15分钟,单位为秒;如果没有此行则直接添加进去 ... vi /etc/profil ...

  4. css3字体颜色渐变

    效果图: 代码: <span class="titleName">这是个测试字体</span> .titleName { background: linea ...

  5. pytorch中 model.cuda的作用

    在pytorch中,即使是有GPU的机器,它也不会自动使用GPU,而是需要在程序中显示指定.调用model.cuda(),可以将模型加载到GPU上去.这种方法不被提倡,而建议使用model.to(de ...

  6. WDA学习(18):UI Element:TabStrip使用

    1.11 UI Element:Tabstrip使用 本实例显示UI Element:Tabstrip的使用. 1.创建Component; 2.选择Layout页签,设置页面: 创建UI Eleme ...

  7. jQuery 获取鼠标点击的元素ID

    $(function(){ $(document).click(function(e) { // 在页面任意位置点击而触发此事件 var v_id = $(e.target).attr('id'); ...

  8. sed编辑器

    sed sed是一个非交互式的流文本编辑器,可实现增删改查,广泛适用于shell脚本中 工作原理 sed每次只从文本或标准输入中读取一行数据,将其拷贝到一个编辑缓冲区,然后对其如同命令一般处理,并显示 ...

  9. XSStrike-20220320

    Usage: xsstrike.py [-h] [-u TARGET] [--data PARAMDATA] [-e ENCODE] [--fuzzer] [--update] [--timeout ...

  10. continue的使用

    continue是终止本次循环,进行下一个循环如果要跳到最开始的循环abc : for(){ for(){ for(){ continue abc; } }}