java 新建 api 案列_Java利用webservice创建接口案例源码
环境要求:
JDK1.7,并配置Java的环境变量
BaseDao 接口:
/**
* 要使得成为一个可供访问的接口,必须添加:@WebService
* */
@WebService
public interface BaseDao {
//添加一个加法的接口
@WebResult(name="addddddre")
public int add(@WebParam(name="add01")int a,@WebParam(name="add02")int b);
public String t(String a,String b);
public User login(String usename,String password);
}
BaseDaoImpl:
/**
* endpointInterface 是接入点的配置(提供给访问者,访问哪里)
* */
@WebService(endpointInterface="com.sram.dao.BaseDao")
public class BaseDaoImpl implements BaseDao{
@Override
public int add(int a, int b) {
// TODO Auto-generated method stub
System.out.println("a+b的和为"+(a+b));
return a+b;
}
@Override
public String t(String a, String b) {
// TODO Auto-generated method stub
return a+b;
}
@Override
public User login(String username, String password) {
// TODO Auto-generated method stub
System.out.println("username"+username+","+"password"+password);
return new User(username,password);
}
}
添加接口服务:
MyServer.java
public class MyServer {
public static void main(String[] args) {
//添加服务,确定在网上发布的地址
String url="http://localhost:8888/sram";
//发布接口
Endpoint.publish(url, new BaseDaoImpl());
}
}
MyClient:客户端访问接口:
/**
* 定义访问的客户端:
* */
public class MyClient {
public static void main(String[] args) {
URL url;
try {
url = new URL("http://localhost:8888/sram?wsdl");
QName qname = new QName("http://impl.dao.sram.com/","BaseDaoImplService");
//根据服务的名称创建service
Service service = Service.create(url,qname);
//获取接口
BaseDao dao = service.getPort(BaseDao.class);
//通过wsdl转换成Java对象。没有依赖Java程序,但依赖Java接口。
System.out.println(dao.add(3, 5));
/**
* 成功调用服务端的接口,实现功能,但是有问题。
*
* 1,服务商不可能把接口名提供给你。
*
* 2,如果服务器系统使用.NET开发没有接口。所以,咱们写的
* 客户端不应该依赖服务器平台。
* */
System.out.println(dao.t("test1", "test2"));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
注意:第一种访问依赖接口BaseDao,不推荐:
方式2:
利用wsimport生成不依赖平台的客户端访问类。
具体办法:打开控制台,在控制台端生成访问文件(前提:需要配置Java的环境变量)
-d 指明生成的目录
-keep 保留Java代码
-verboss 输出生成详细信息
d:/test 为生成代码的地址
生成客户端访问服务器接口的代码:
wsimport -d d:/test -keep -verbose http://localhost:8888/sram?wsdl
生成之后,将其拷贝到访问项目中,再次利用MyClient类,将BaseDao导入地址改为生成文件中的接口的地址。
再次访问,OK!
java 新建 api 案列_Java利用webservice创建接口案例源码相关推荐
- java struct 简单案列_spring与struts简单整合案例
Spring,负责对象对象创建 Struts, 用Action处理请求 Spring与Struts框架整合, 关键点:让struts框架action对象的创建,交给spring完成! 步骤: 1)引入 ...
- java图书馆借还书系统_java图书馆借阅归还管理系统OA源码下载
java图书馆借阅归还管理系统OA源码下载 JAVA+MYSQL 系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理.图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借 ...
- java 传送解析8583报文_java发送ISO8583报文接口案例
[实例简介] java发送ISO8583报文实现平安银行支付接口 [实例截图] [核心代码] pingAnBank └── pingAnBank ├── build.xml ├── client │ ...
- Java Web应用案列:蒙西购物1
Java Web应用案列:蒙西购物 功能需求 1.只有注册用户成功登录之后才可查看商品类别,查看商品,选购商品,生成订单.查看订单. 2.只有管理员才有权限进行购物网后台管理(用户管理+类别管理+商品 ...
- java类似金山打字的键盘模拟_java实现 swing模仿金山打字 案例源码
java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网.http://java.662p.com 代码: import Java.awt.Color; import jav ...
- 基于Java开发一套完整的区块链系统(附源码)
来源:https://blog.csdn.net/victory_long 前言 近几年区块链概念越来越火,特别是区块链技术被纳入国家基础设施建设名单后,各大企业也开始招兵买马,对区块链技术进行研究, ...
- java毕业设计——基于java+Socket+sqlserver的网络通信系统设计与实现(毕业论文+程序源码)——网络通信系统
基于java+Socket+sqlserver的网络通信系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+sqlserver的网络通信系统设计与实现,文章末尾附有 ...
- java毕业设计——基于java+Socket+sqlserver的办公自动化系统设计与实现(毕业论文+程序源码)——办公自动化系统
基于java+Socket+sqlserver的办公自动化系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+sqlserver的办公自动化系统设计与实现,文章末尾 ...
- java毕业设计——基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码)——即时通讯工具
基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+SOCKET的即时通讯工具设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...
最新文章
- CDH5离线安装手册
- js 中的 number 为何很怪异
- 未来十年,中间商不会死,但是经销商可能会无店可供!
- Linux/CentOS7给一个网卡设定多个IP地址, Linux网卡配置虚拟IP
- 《自己动手做交互系统》——第2章 音乐蛋糕盘
- [论文阅读][Point-Plane ICP]Object Modeling by Registration of Multiple Range Images
- 看到这一切,我忍俊不禁
- metasploit-***测试工具
- 设计模式的七大设计原则:其一:单一职责原则
- php为什么要有非静态方法,php中非静态方法的静态调用【解释】
- Xamarin.Form 超链接 用手势实现
- 为什么有一些PDF转换成Word后是乱码?
- 利用matlab导入或读取数据至Excel(COM方法和xlswrite,xlsread方法)
- ceph osd学习小结
- java 判断正态分布_如何判断一个样本是否来自正态分布的总体?
- 基于Android的医院预下单叫号排队系统
- 在开发版上用C语言写实心圆,MFC利用CPen与CBrush绘制实心圆
- 运维审计系统是堡垒机么?跟堡垒机有啥区别?
- 数字图像处理 笔记--2
- Geant4安装步骤(最新的10.4版本)
热门文章
- 错误:使用printf()打印Hello world时未声明'Hello'/ Text
- java range类_Java即时类| range()方法与示例
- 工作总结:日志打印的15个建议
- 磊哥最近面试了好多人,聊聊我的感受!(附面试知识点)
- 最详细的 IDEA调试教程
- C语言结构体的应用——万年历
- 网络切片技术缺点_一文读懂网络切片 - 技术综合版块 - 通信人家园 - Powered by C114...
- sdk开发包如何使用_SDK如何使能行业?华为昇腾要用软件充分释放硬件性能
- 服务器通过响应头向浏览器设置cookie,http响应包括设置cookie jession id,但随后发送请求,请求标头中没有cookie信息...
- jq在html中添加dom元素,使用jQuery添加DOM元素的最佳方法