近期做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
分享到:
相关推荐
jdk6下开发webservice示例,JDK1.6 自带webservice构建,jdk6原生态webservice
标题 "jdk6 jboss5 webservice bug" 暗示了这是一个关于Java开发环境中,具体是JDK 6和JBoss Application Server 5版本中Web服务(Webservice)出现的问题。这个问题可能是由于某些兼容性、配置错误或者已知的bug...
【标题】"JDK6开发WebService及用户认证" 在Java世界中,开发Web服务(WebService)是一种常见的数据交换方式,特别是在分布式系统和跨平台通信中。JDK6提供了对WebService的支持,使得开发者能够轻松地创建、发布...
"JDK 6.0 自带 Webservice 实现实例" JDK 6.0 自带 Webservice 实现实例是使用 JDK 自带的功能来实现 Webservice 的一个示例。这个示例展示了如何使用 JDK 6.0 中自带的轻量级 Webservice 服务器来发布一个简单的 ...
本项目展示了如何利用纯Java JDK6实现一个基本的Web服务,无需额外依赖如Apache CXF或Axis等专门的Web服务框架。下面将详细介绍这个过程中的关键知识点。 1. **JAX-WS (Java API for XML Web Services)**: JDK6开始...
JDK 6引入了JAX-WS(Java API for XML Web Services),它是一个标准的、基于注解的框架,简化了Web Service的开发流程。以下是对标题和描述中涉及的知识点的详细说明: 1. **JAX-WS**: JAX-WS是Java平台的一个核心...
JDK1.7版本使用 webService 需要添加两个额外 jar 包,否则会报错,需要将这两个 jar 包放到 jre/ext 目录下,同时配置jre/lib 下得 java.security 文件
**使用JDK开发WebService** 在Java开发领域,WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的通信协议,它允许不同系统之间进行数据交换,跨越各种平台和编程语言。本教程将深入讲解如何使用JDK(Java ...
【WebService一——使用JDK开发WebService】 WebService是一种基于XML(Extensible Markup Language)的网络服务标准,它允许不同系统间的应用程序进行交互,不受操作系统、编程语言的限制。本篇文章将探讨如何使用...
【标题】"JDK5 WebService Demo"是一个基于Java开发的Web服务示例项目,它展示了在JDK 5.0版本中如何实现和使用Web服务。Web服务是一种通过网络进行通信的应用程序接口(API),它允许不同系统之间的数据交换。JDK 5...
Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一套开发和运行Java应用程序所需的工具和库。在Java中实现Web服务,JDK提供了一种便捷的方式,即使用JAX-WS(Java API for XML Web Services)来创建...
在这个"JDK+CXF实现webservice简单案例"中,我们将探讨如何利用Java JDK和Apache CXF框架来创建和消费Web服务。 首先,JDK是Java Development Kit的缩写,它是开发和运行Java应用程序的基础。在这里,JDK提供了基础...
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(Java Development Kit)来构建Webservice服务。我们将探讨以下几个关键知识点: 1. **SOAP与WSDL**:Web Service是通过SOAP(Simple Object Access Protocol...
【标题】"JDK生成Web服务工程(源码)"涉及的是使用Java开发Web服务的基本技术,特别是通过Java API for XML Web Services (JAX-WS)来创建和消费Web服务的过程。JAX-WS是Java平台上用于构建SOAP Web服务的标准API,...
Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同的系统之间进行数据交换。在本场景中,我们关注的是使用Java Development Kit(JDK)来发布Web服务。JDK提供了内置的支持,通过使用Java API...
本文将详细介绍使用JDK和CXF两种方式来开发WebService服务端。 一、JDK原生实现WebService(JAX-WS) 1. **JAX-WS概述**:Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。它...
标题 "JDK Webservice" 指的是使用Java Development Kit (JDK) 来开发Web服务。Web服务是一种通过互联网交换结构化信息的方式,它允许不同的应用程序之间进行通信。在Java中,JDK提供了标准的API,如Java API for ...
JDK6,也称为JDK 1.6,是Oracle公司发布的一个重要版本,它在2006年推出,提供了许多新特性并改进了旧的功能。在本文中,我们将深入探讨JDK6的主要特点和包含的文件内容。 首先,JDK6引入了许多关键的新特性,以...