环境要求:

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创建接口案例源码相关推荐

  1. java struct 简单案列_spring与struts简单整合案例

    Spring,负责对象对象创建 Struts, 用Action处理请求 Spring与Struts框架整合, 关键点:让struts框架action对象的创建,交给spring完成! 步骤: 1)引入 ...

  2. java图书馆借还书系统_java图书馆借阅归还管理系统OA源码下载

    java图书馆借阅归还管理系统OA源码下载 JAVA+MYSQL 系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理.图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借 ...

  3. java 传送解析8583报文_java发送ISO8583报文接口案例

    [实例简介] java发送ISO8583报文实现平安银行支付接口 [实例截图] [核心代码] pingAnBank └── pingAnBank ├── build.xml ├── client │  ...

  4. Java Web应用案列:蒙西购物1

    Java Web应用案列:蒙西购物 功能需求 1.只有注册用户成功登录之后才可查看商品类别,查看商品,选购商品,生成订单.查看订单. 2.只有管理员才有权限进行购物网后台管理(用户管理+类别管理+商品 ...

  5. java类似金山打字的键盘模拟_java实现 swing模仿金山打字 案例源码

    java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网.http://java.662p.com 代码: import Java.awt.Color; import jav ...

  6. 基于Java开发一套完整的区块链系统(附源码)

    来源:https://blog.csdn.net/victory_long 前言 近几年区块链概念越来越火,特别是区块链技术被纳入国家基础设施建设名单后,各大企业也开始招兵买马,对区块链技术进行研究, ...

  7. java毕业设计——基于java+Socket+sqlserver的网络通信系统设计与实现(毕业论文+程序源码)——网络通信系统

    基于java+Socket+sqlserver的网络通信系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+sqlserver的网络通信系统设计与实现,文章末尾附有 ...

  8. java毕业设计——基于java+Socket+sqlserver的办公自动化系统设计与实现(毕业论文+程序源码)——办公自动化系统

    基于java+Socket+sqlserver的办公自动化系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+sqlserver的办公自动化系统设计与实现,文章末尾 ...

  9. java毕业设计——基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码)——即时通讯工具

    基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+SOCKET的即时通讯工具设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...

最新文章

  1. CDH5离线安装手册
  2. js 中的 number 为何很怪异
  3. 未来十年,中间商不会死,但是经销商可能会无店可供!
  4. Linux/CentOS7给一个网卡设定多个IP地址, Linux网卡配置虚拟IP
  5. 《自己动手做交互系统》——第2章 音乐蛋糕盘
  6. [论文阅读][Point-Plane ICP]Object Modeling by Registration of Multiple Range Images
  7. 看到这一切,我忍俊不禁
  8. metasploit-***测试工具
  9. 设计模式的七大设计原则:其一:单一职责原则
  10. php为什么要有非静态方法,php中非静态方法的静态调用【解释】
  11. Xamarin.Form 超链接 用手势实现
  12. 为什么有一些PDF转换成Word后是乱码?
  13. 利用matlab导入或读取数据至Excel(COM方法和xlswrite,xlsread方法)
  14. ceph osd学习小结
  15. java 判断正态分布_如何判断一个样本是否来自正态分布的总体?
  16. 基于Android的医院预下单叫号排队系统
  17. 在开发版上用C语言写实心圆,MFC利用CPen与CBrush绘制实心圆
  18. 运维审计系统是堡垒机么?跟堡垒机有啥区别?
  19. 数字图像处理 笔记--2
  20. Geant4安装步骤(最新的10.4版本)

热门文章

  1. 错误:使用printf()打印Hello world时未声明'Hello'/ Text
  2. java range类_Java即时类| range()方法与示例
  3. 工作总结:日志打印的15个建议
  4. 磊哥最近面试了好多人,聊聊我的感受!(附面试知识点)
  5. 最详细的 IDEA调试教程
  6. C语言结构体的应用——万年历
  7. 网络切片技术缺点_一文读懂网络切片 - 技术综合版块 - 通信人家园 - Powered by C114...
  8. sdk开发包如何使用_SDK如何使能行业?华为昇腾要用软件充分释放硬件性能
  9. 服务器通过响应头向浏览器设置cookie,http响应包括设置cookie jession id,但随后发送请求,请求标头中没有cookie信息...
  10. jq在html中添加dom元素,使用jQuery添加DOM元素的最佳方法