WebService:JAX-WS实现WebService
WebService和Java核心技术中的RMI一样用于实现异构平台上的应用程序之间数据的交互,唯一不同的是这种技术屏蔽了语言之间的差异,这也是其大行其道的原因。实现WebService的技术多种多样,可以使用JAX-WS、CXF、Axis2或Metro等方式实现WebService,接下来会给大家展示如何使用不同的方式实现WebService,本篇博客为大家演示如何使用JAX-WS实现WebService:
一、创建WebService服务器端:
1、新建一个名为“server”的Java工程;
2、创建IComputeService接口,代码如下:
package com.ghj.service;import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;/*** SEI Service Endpoint Interface 发布的服务接口* * @author GaoHuanjie*/
@WebService
@SOAPBinding(style=SOAPBinding.Style.RPC)
public interface IComputeService {public int add(int a, int b);
}
3、创建IComputeService接口实现类ComputeService,代码如下:
package com.ghj.service.impl;import javax.jws.WebService;import com.ghj.service.IComputeService;/*** SIB Service Implemention Bean * * @author GaoHuanjie*/
//endpointInterface指定接入点接口:接口必须存在
@WebService(endpointInterface="com.ghj.service.IComputeService")
public class ComputeService implements IComputeService{@Overridepublic int add(int a, int b) {System.out.println(a+"+"+b+"="+(a+b));return a+b;}
}
4、创建启动服务器端服务的类StartServer,代码如下:
package com.ghj.server;import javax.xml.ws.Endpoint;import com.ghj.service.impl.ComputeService;/*** 启动服务器端服务* * @author GaoHuanjie*/
public class StartServer {public static void main(String[] args) {String address = "http://localhost:8888/compute";Endpoint.publish(address, new ComputeService());}
}
二、创建WebService客户端:
1、新建一个名为“client”的Java工程;
2、将“server”工程中的IComputeService接口拷贝到“client”工程中;
3、创建调用“server”工程IComputeService接口实现类的代码,代码如下:
package com.ghj.client;import java.net.MalformedURLException;
import java.net.URL;import javax.xml.namespace.QName;
import javax.xml.ws.Service;import com.ghj.service.IComputeService;public class Client {public static void main(String[] args) {try {URL url = new URL("http://localhost:8888/compute?wsdl");//创建访问wsdl服务地址的urlQName sname = new QName("http://impl.service.ghj.com/", "ComputeServiceService");//通过Qname指明服务的具体信息,其参数值与本工程中的1.png图Service service = Service.create(url,sname);//创建服务IComputeService computeService = service.getPort(IComputeService.class);//实现接口System.out.println(computeService.add(12,33));} catch (MalformedURLException e) {e.printStackTrace();}}
}
三、运行WebService:
1、运行“server”工程中的StartServer类;
2、运行“client”工程中的Client类;
【0分下载资源】
WebService:JAX-WS实现WebService相关推荐
- spring和maven_具有Spring和Maven教程的JAX–WS
spring和maven Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: ...
- 带有Spring和Maven教程的JAX–WS
Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: 公开基于Servlet的 ...
- WEBSERVICE之JDK开发webservice
转自:https://www.cnblogs.com/w-essay/p/7357262.html 一.开发工具与环境 1. jdk1.6版本以上(jdk1.6.0_21及以上版本) 2 .eclip ...
- 【webservice】spring整合webservice RS风格
[webservice]spring整合webservice RS风格 UserService package cn.zxl.cxf.service;import java.util.List;imp ...
- Java工作笔记-WebService使用JDK搭建WebService及调用
首先是使用jdk搭建WebService 源码如下: WeatherService.java package webservice;public interface WeatherService {S ...
- Java程序员从笨鸟到菜鸟之(一百零八)一步一步学习webservice(二)webservice基本原理
本来这第二篇打算讲解"开发第一个基于XFire的webservice"的内容来着.但是想想.开发实例只是局限于了会用的层面上.如果想真正的理解webservice还是需要挖掘其原理 ...
- C# 创建、部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互。 概念性的东西就不说太多,下面开始创建一个简单的webservi
C# 创建.部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互. 概念性的东西就不说太多,下面开始创建一个简单的webservice ...
- jax ws ri 生成java类_JAX-WS(一)之使用wsgen从Java创建简单的WebService
概念 JAX-WS2.0的全称Java API for XML-Based Web Service 2.0.JAX-WS2.0是对JAX-RPC1.0规范的扩展,是JAX-RPC1.1的后续版本,JA ...
- java webservice 依赖_java开发webservice的几种方式
webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...
- cmd 调用webservice接口_C++ 调用 Webservice gSoap 方法
大体思路是:使用gsoap生成文件,把生成的相关文件均加载到项目中调用 本文以调用天气的webservice为例子,手把手教你. 步骤一 准备gSOAP工具:将gsoap_2.8.100.zip解压, ...
最新文章
- 数据结构与算法常用名词术语整理
- R语言把dataframe数据转化为tibble格式、查看每个数据列的缺失值个数、使用数据列的均值对数据列的缺失值进行填充
- 用css如何写正方体,css正方体实现--(transform练习)
- 内容社区,为什么有必要做内容标签系统?
- java io操作_Java IO 操作
- 谈谈我的编程之路---WAMP(二)
- 构建LAMP平台及应用系统
- jmeter 循环取值赋值给form_JMeter系列(三)逻辑控制器详解
- 服务器显示数据库,显示数据库服务器上的数据库数据库
- osgb转obj工具_在ArcGIS Pro中OSGB数据转换及发布服务流程
- 自从微信更新后,广东人都玩疯了!以后语音可以识别英语、粤语啦!
- FPGA设计之首——Altera FPGA 选型及官网文档阅读
- APP安全——抓包代理工具的设置
- Reac16+Monaco打造代码编辑器(前端部分)
- 这些安全管理方法,让你不怕勒索者
- MVC、MVCS、MTV、MVP框架模式
- 为什么IOS比安卓流畅
- ELF可执行文件的理解
- moviepy剪切视频spleeter视频降噪-CPUGPU
- 使用设计模式出任CEO迎娶白富美(6)–冬日暖阳,二毛茶一壶