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

系统 1595 0

 

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格式的文档,这个就表示发布的成功。

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

 

客户端

 

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

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论