web service 对外发布一个hello world接口(入门)

原创 2013年12月04日 10:28:25

 

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包。

  • 大小: 6.4 KB

相关文章推荐

Java创建与发布WebService

Tomcat发布Web Service

webservice调用和发布

1. 认识webservice WebService定义: 顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用。 Webservice理解:我们...
  • xnf1991
  • xnf1991
  • 2016年08月20日 17:34
  • 4152

WebService 写对外接口

如果涉及到要提供多个 webservice 接口给外面的人调用,则可以使用提供一个接口出去,然后参数里面以XML的形式构造出来,报文里面写明是该调用哪个方法,这样的话,对于接口调用方就不用记那么多借口...

Spring系列之与Struts的集成

【回顾】     在之前Spring事务处理中,我们学习了如何将Spring与Hibernate集成,实现事务处理。本篇博客,将介绍Spring与Struts的集成。 【集成示意图】     如...

想到达明天,现在就要启程

没想到,当我打开电脑,准备写完我在第二家公司的工作总结时,我已经离开了帝都,飞到了另一座城市——广州。 太匆忙了,从公司离职,还没来得及好好休息,就接到了第三家公司的安排,身体即使再疲惫,也需要再...

jsdk1.5 + tomcat + eclipse java ee+ axis2 创建web Service 版 Hello world

首先需要下载相应的安装包。 jsdk1.5 :自己网上搜搜有的是。 tomcat:http://tomcat.apache.org/download-60.cgi 下载tomcat 6.0 zip...

Apache CXF实战之一 Hello World Web Service

本文链接:http://blog.csdn.net/kongxx/article/details/7525476Apache的CXF现在几乎成了Java领域构建Web Service的首选类库,并且它...
  • kongxx
  • kongxx
  • 2012年05月01日 11:31
  • 27018

CXF Web Service的Hello World之一 搭建环境

本文介绍如何配置 Eclipse + Java EE + Apache CXF + Tomcat + JDK 的开发环境,用于开发CXF Web Service。...

利用web.py写的一个Hello World的demo

  • 2017年01月18日 09:55
  • 97KB
  • 下载

Web Service 一些对外公开的网络服务接口

Web Service 一些对外公开的网络服务接口 2011-10-29 14:12 商业和贸易: 1、股票行情数据 WEB 服务(支持香港、深圳、上海基金、债券和股票;...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:web service 对外发布一个hello world接口(入门)
举报原因:
原因补充:

(最多只允许输入30个字)