`
AngelAndAngel
  • 浏览: 234737 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jdk6原生态webservice

阅读更多
  近期做cas 单点登录的时候由于要同步用户信息,所以准备在里面加个webservice,开放端口给子系统,于是想用jdk6自带的webservice,使用注解。
  开发过程如下:
  1,保证使用的是jdk6。
  2,编写开放出来的接口并实现,如下
 
   public interface UserService {

	public String saveUser(String username,String password);
	
}

  

  
    import javax.jws.WebService;
    import javax.jws.soap.SOAPBinding;
    import javax.sql.DataSource;

import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;

@WebService(name = "UserService", serviceName = "UserService", targetNamespace = "http://cas.webservice.user/client")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class UserServiceImpl implements UserService {

	private DataSource dataSource;

	private SimpleJdbcTemplate jdbcTemplate;

	private UserServiceImpl() {

	}

	private UserServiceImpl(DataSource dataSource) {
		this.dataSource = dataSource;
		this.jdbcTemplate = new SimpleJdbcTemplate(dataSource);
	}

	public String saveUser(String username, String password) {
		int count = jdbcTemplate.update(
				"insert  userinfo(userName,password) values(?,?)", username,
				password);

		return username + " : " + password;
	}

}
   
   

3,发布webservice。如下
 
   Endpoint.publish("http://127.0.0.1:9527/UserService",
    				ctx.getBean("wsUserService"));
   //注:这里假如不用spring的话 直接new UserServiceImpl()。
  

4,在你的客户端位置键入命令:
 
wsimport -keep http://127.0.0.1:9527/UserService?wsdl
  
   
  此时会在此目录生成cas/webservice/user/client/此文件夹,里面生成了你需要的客户端调用类UserService,UserService_Service。
5,调用方式如下:
 
      UserService_Service userService=new UserService_Service();
      UserService user=userService.getUserServicePort();
      System.out.println(user.saveUser("afei2","yes ido"));
  



  注意的地方:  
    一是在发布的类(userServiceImpl)中假如带有接口属性,并且有其getter/setter,那么发布会失败。
    二是发布的ip假如是127.0.0.1的话localhost是不能访问的,是多少就是多少,不过实际项目也不会这样的。
    三是有的客户端调用的时候也会报错,比如Provider com.sun.xml.ws.spi.ProviderImpl not found这个异常,我跟踪代码进去,发觉报错的那个jdk版本的Provider和我成功的jdk版本是不一样的,在网上搜无答案,直说缺包,我感觉是个小bug。其他的没什么问题。
    四是因为这里没用任何webservice框架,没有把它嵌入tomcat(假如你需要在tomcat环境中),所以端口另开,不能是8080。
   
   权当记录用
  

  
By 阿飞哥 转载请说明
腾讯微博:http://t.qq.com/duyunfeiRoom
新浪微博:http://weibo.com/u/1766094735   
   
分享到:
评论
2 楼 AngelAndAngel 2011-06-30  
ptma 写道
建议你将发布的 IP 设成 0.0.0.0 试试

会怎样?
1 楼 ptma 2011-06-30  
建议你将发布的 IP 设成 0.0.0.0 试试

相关推荐

    jdk开发webservice

    jdk6下开发webservice示例,JDK1.6 自带webservice构建,jdk6原生态webservice

    jdk6 jboss5 webservice bug

    标题 "jdk6 jboss5 webservice bug" 暗示了这是一个关于Java开发环境中,具体是JDK 6和JBoss Application Server 5版本中Web服务(Webservice)出现的问题。这个问题可能是由于某些兼容性、配置错误或者已知的bug...

    JDK6开发WebService及用户认证

    【标题】"JDK6开发WebService及用户认证" 在Java世界中,开发Web服务(WebService)是一种常见的数据交换方式,特别是在分布式系统和跨平台通信中。JDK6提供了对WebService的支持,使得开发者能够轻松地创建、发布...

    jdk 6.0 自带webservice实现 实例

    "JDK 6.0 自带 Webservice 实现实例" JDK 6.0 自带 Webservice 实现实例是使用 JDK 自带的功能来实现 Webservice 的一个示例。这个示例展示了如何使用 JDK 6.0 中自带的轻量级 Webservice 服务器来发布一个简单的 ...

    一个用纯jdk6实现的webservice

    本项目展示了如何利用纯Java JDK6实现一个基本的Web服务,无需额外依赖如Apache CXF或Axis等专门的Web服务框架。下面将详细介绍这个过程中的关键知识点。 1. **JAX-WS (Java API for XML Web Services)**: JDK6开始...

    jdk6 开发webservice

    JDK 6引入了JAX-WS(Java API for XML Web Services),它是一个标准的、基于注解的框架,简化了Web Service的开发流程。以下是对标题和描述中涉及的知识点的详细说明: 1. **JAX-WS**: JAX-WS是Java平台的一个核心...

    1.7版本JDK使用webService报表报送所需jdk jar包.zip

    JDK1.7版本使用 webService 需要添加两个额外 jar 包,否则会报错,需要将这两个 jar 包放到 jre/ext 目录下,同时配置jre/lib 下得 java.security 文件

    使用JDK开发WebService

    **使用JDK开发WebService** 在Java开发领域,WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的通信协议,它允许不同系统之间进行数据交换,跨越各种平台和编程语言。本教程将深入讲解如何使用JDK(Java ...

    WebService一——使用JDK开发WebService

    【WebService一——使用JDK开发WebService】 WebService是一种基于XML(Extensible Markup Language)的网络服务标准,它允许不同系统间的应用程序进行交互,不受操作系统、编程语言的限制。本篇文章将探讨如何使用...

    jdk5 webservice demo

    【标题】"JDK5 WebService Demo"是一个基于Java开发的Web服务示例项目,它展示了在JDK 5.0版本中如何实现和使用Web服务。Web服务是一种通过网络进行通信的应用程序接口(API),它允许不同系统之间的数据交换。JDK 5...

    jdk自动生成webservice

    Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一套开发和运行Java应用程序所需的工具和库。在Java中实现Web服务,JDK提供了一种便捷的方式,即使用JAX-WS(Java API for XML Web Services)来创建...

    JDK+CXF实现webservice简单案例

    在这个"JDK+CXF实现webservice简单案例"中,我们将探讨如何利用Java JDK和Apache CXF框架来创建和消费Web服务。 首先,JDK是Java Development Kit的缩写,它是开发和运行Java应用程序的基础。在这里,JDK提供了基础...

    JDK1.6支持WebService

    6. **JAX-RPC(Java API for XML-Based RPC)向JAX-WS的过渡**:在JDK 1.6之前,JAX-RPC被广泛用于构建Web服务,但在JDK 1.6中,JAX-WS逐渐取代了JAX-RPC,成为推荐的Web服务编程模型,因为它更符合WS-*标准,并且...

    Webservice入门教程_用JDK开发Webservice示例代码

    本教程将带你入门Webservice的开发,特别聚焦于使用JDK(Java Development Kit)来构建Webservice服务。我们将探讨以下几个关键知识点: 1. **SOAP与WSDL**:Web Service是通过SOAP(Simple Object Access Protocol...

    jdk 生成webservice工程(源码 )

    【标题】"JDK生成Web服务工程(源码)"涉及的是使用Java开发Web服务的基本技术,特别是通过Java API for XML Web Services (JAX-WS)来创建和消费Web服务的过程。JAX-WS是Java平台上用于构建SOAP Web服务的标准API,...

    WebService使用JDK发布

    Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同的系统之间进行数据交换。在本场景中,我们关注的是使用Java Development Kit(JDK)来发布Web服务。JDK提供了内置的支持,通过使用Java API...

    WebService开发服务端的两种方式:jdk、cxf

    本文将详细介绍使用JDK和CXF两种方式来开发WebService服务端。 一、JDK原生实现WebService(JAX-WS) 1. **JAX-WS概述**:Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。它...

    jdk webservice

    标题 "JDK Webservice" 指的是使用Java Development Kit (JDK) 来开发Web服务。Web服务是一种通过互联网交换结构化信息的方式,它允许不同的应用程序之间进行通信。在Java中,JDK提供了标准的API,如Java API for ...

    jdk6免安装下载 免费下载

    JDK6,也称为JDK 1.6,是Oracle公司发布的一个重要版本,它在2006年推出,提供了许多新特性并改进了旧的功能。在本文中,我们将深入探讨JDK6的主要特点和包含的文件内容。 首先,JDK6引入了许多关键的新特性,以...

Global site tag (gtag.js) - Google Analytics