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

WebService的helloworld,服务器端与客户端的Demo

今天突然兴起,想学学webService,然后就找找资料,做了个简单的DEMO。先记录下来,以便日后使用。 首先,先说点理论上的东西。 WebService又是一种高级应用,与之前学习的S...
  • angus_17
  • angus_17
  • 2012年09月29日 16:54
  • 26712

Jaxws学习笔记(一)入门程序之服务接口发布

远程技术是一门很重要的技术,对于远程技术,我们要做到能够掌握
  • blueboz
  • blueboz
  • 2016年04月21日 14:10
  • 2206

一个服务接口的多个实现的选择

OSGI中使用接口来定义服务,所以每个服务理论上都是可以有多个不同的实现。在这种情况下,如果不做任何指定,Felix框架在通过ServiceReference获取服务对象时,会返回其中一个服务实现。具...
  • Rosen_Luo
  • Rosen_Luo
  • 2015年08月10日 14:55
  • 1046

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

1、写一个需要发布的接口 package com.hb; import javax.jws.WebParam; import javax.jws.WebService; @WebSer...
  • hbiao68
  • hbiao68
  • 2013年12月04日 10:28
  • 914

VS2013创建、发布一个webservice

第一句话——微软很坑爹。 1.创建一个空的asp.net empty web application 2.在项目处右键 add -> New Item,在出现的页面中选择 web servic...
  • xingfu0539
  • xingfu0539
  • 2015年06月03日 18:33
  • 2030

Web Service 接口

1.    Web Service 接口 1.1 接口方式说明和优点 在笔者的开发生涯中,当作为接口提供商给第三方提供接口时,以及作为客户端去调用第三方提供的接口时,大部分时候都是使用 W...
  • Fupengyao
  • Fupengyao
  • 2016年05月31日 16:36
  • 3180

WebService体系之——HelloWorld搭建

摘要:此笔记是使用CXF实现的一个HelloWorld程序的搭建、包括在同一项目中通过模拟客户端访问发布的webservice和不同项目对webservice的服务的访问。使用的CXF是apache-...
  • chenghuaying
  • chenghuaying
  • 2014年03月03日 14:14
  • 2236

webservice hello world

Web service是一个平台独立的跨语言、跨平台,低耦合的,自包含的、基于SOAP(simple object access protocal)协议的可编程的web的应用程序,可远程接口访问。可使...
  • u012410733
  • u012410733
  • 2017年03月04日 12:04
  • 258

在纯WEB项目中发布一个WebService

1,使用ant clean命令可以撤销ant做过的一切事情。 比如我们可以通过这种方式撤销通过ant解析的build.xml文件。进入到指定目录执行即可。   2,通过ant生成web工程 在...
  • xzm_rainbow
  • xzm_rainbow
  • 2013年11月07日 23:39
  • 2215

第一个web项目hello world的实现

点击Next出现配置Tomcat7的界面,Name不用管,第二个地方填写Tomcat的路径,本文一开始就截图了我的Tomcat解压路径,第三个地方选择JRE版本,我...
  • ainiwuhuishunv
  • ainiwuhuishunv
  • 2016年10月06日 20:20
  • 362
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:web service 对外发布一个hello world接口(入门)
举报原因:
原因补充:

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