1、写一个需要发布的接口

 package com.hb;

 import javax.jws.WebParam;
import javax.jws.WebService; @WebService
public interface IService { public void hello(@WebParam(name="username") String username);
}

备注: 一定要在接口名称上面用 @WebService 注解标示,参数@WebParam(name="username")只是说明在wsdl中指明参数的名字是username

2、对定义接口的实现

 package com.hb;

 import java.util.Date;
import javax.jws.WebParam;
import javax.jws.WebService; @WebService(endpointInterface="com.hb.IService")
public class ServiceImp implements IService{ @Override
public void hello(@WebParam(name = "username") String username) {
System.out.println("hello " + username + " now is " + new Date());
} }

备注: 一定要在接口名称上面用 @WebService 注解标示 ,里面一定要标注它对外的接口,在后面的客户端调用会体现出来。

3、发布对外提供的接口

 package com.hb;

 import javax.xml.ws.Endpoint;

 public class ServiceMain {

     public static void main(String[] args) {
String address = "http://172.16.32.72:7777/hb";
Endpoint.publish(address, new ServiceImp());
System.out.println("发布消息成功");
} }

在地址栏中输入  http://172.16.29.89:7777/hb?wsdl,就会出现一系列xml格式的文档,这个就表示发布的成功。

客户端

 package com.hb;

 import java.net.MalformedURLException;
import java.net.URL; import javax.xml.namespace.QName;
import javax.xml.ws.Service; public class Client { /**
* @param args
* @throws MalformedURLException
*/
public static void main(String[] args) throws MalformedURLException {
// TODO Auto-generated method stub
//创建访问wsdl服务地址的url
URL url = new URL("http://172.16.32.72:7777/hb?wsdl");
//通过Qname指明服务的具体信息
/*
* 第一个参数:接口的包名称,反序
* 第二个参数:实现类名+Service
* */
QName qname = new QName("http://hb.com/","ServiceImpService");
//创建服务
Service service = Service.create(url, qname);
//实现接口
IService iservice = service.getPort(IService.class);
//以上服务有问题,依然依赖于IMyServie接口
iservice.hello("huangbiao"); } }

备注:QName qname = new QName("http://hb.com/","ServiceImpService");两个参数分别对应上图中的targetNamespace 和 name。

如果在实现对外提供的接口类中没有@WebService(endpointInterface="com.hb.IService"),则会提示不认识这个接口。

上面全部操作不需要引入任何外部jar包。

最新文章

  1. Redis集群~StackExchange.redis连接Twemproxy代理服务器
  2. PHP的一些开源项目网站
  3. Eclipse中支持js提示
  4. AndroidStudio2.0开发环境搭建
  5. C#中的多线程 - 同步基础
  6. LeetCode Sort Colors (技巧)
  7. DbContextConfiguration 属性
  8. hdu 1270 小希的数表
  9. location查询字符串解析
  10. Zend Studio配合Xdebug调试
  11. SpringIOC和AOP简单概述
  12. ABP大型项目实战(2) - 调试与排错 - 日志 - 查看审计日志
  13. Python母版使用
  14. hive中控制文件生产个数
  15. sed 替换多个空格为一个
  16. Ansible 小手册系列 十四(条件判断和循环)
  17. DataTable 指定位置添加列
  18. MenOS
  19. StackPanel
  20. 判断某个ImageView的背景图是否是已知的背景图相等

热门文章

  1. Apache 在 htaccess 禁止访问 和 conf 中的 禁止访问 区别
  2. Liunx php函数 smtp 发送邮件
  3. [USACO19FEB]Moorio Kart(DP)
  4. asp.net搭建项目架构
  5. python解决excel工作薄合并处理(openpyxl处理excel2010以上版本)
  6. Netcore中实现字段和属性注入
  7. python数据库的增删改查
  8. my.ZC
  9. Unity3d 破解
  10. Django-2 路由层