- 浏览: 3431549 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
参考:http://blog.csdn.net/neareast/article/details/7714778
本代码使用Maven来管理依赖
pom.xml
javaBean
接口:首先我们写一个serivce接口,其中包含一个操作sayHi,它的作用是向其提交名字的人问好。
实现类: WebParam注解是必须的,因为java借口编译后的.class文件不保存参数的名字,所以如果没有加注解,参数将被命名为arg0。接口实现部分的示例如下:
@WebService注解让CXF知道我们希望使用哪个接口来创建WSDL,本例中就是iHelloWorld接口。
服务发布类
进入: http://localhost:8080/helloWorld?wsdl
This XML file does not appear to have any style information associated
with it. The document tree is shown below.
本代码使用Maven来管理依赖
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.pandy</groupId> <artifactId>webservice</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>webservice Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <spring.version>3.2.1.RELEASE</spring.version> <tomcat.version>2.1-SNAPSHOT</tomcat.version> <junit.version>3.8.1</junit.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-asm</artifactId> <version>3.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-core</artifactId> <version>2.7.3</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-api</artifactId> <version>2.7.3</version> </dependency> </dependencies> <build> <finalName>webservice</finalName> </build> </project>
javaBean
package com.webservices.bean; public class User { private String name; private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User [userName=" + name + ", email=" + email + "]"; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
接口:首先我们写一个serivce接口,其中包含一个操作sayHi,它的作用是向其提交名字的人问好。
package com.webservices; import javax.jws.WebParam; import javax.jws.WebService; import com.webservices.bean.User; /** * 将要用来发布的接口 * @author pandy * */ @SuppressWarnings("restriction") @WebService public interface iHelloWorld { // 加入WebParam注解,以保证xml文件中参数名字的正确性 String sayHi(@WebParam(name = "text") String text); String sayHiToUser(User user); }
实现类: WebParam注解是必须的,因为java借口编译后的.class文件不保存参数的名字,所以如果没有加注解,参数将被命名为arg0。接口实现部分的示例如下:
package com.webservices.impl; import java.util.LinkedHashMap; import java.util.Map; import javax.jws.WebService; import com.webservices.iHelloWorld; import com.webservices.bean.User; /** * 接口的实现类 * @author pandy * */ @SuppressWarnings({ "restriction" }) @WebService(endpointInterface = "com.webservices.iHelloWorld", serviceName = "HelloWorld") public class HelloWorldImpl implements iHelloWorld { Map<Integer, User> users = new LinkedHashMap<Integer, User>(); @Override public String sayHi(String text) { System.out.println("sayHi called"); return "Hello " + text; } @Override public String sayHiToUser(User user) { System.out.println("sayHiToUser called"); users.put(users.size() + 1, user); return "Hello " + user.getName(); } }
@WebService注解让CXF知道我们希望使用哪个接口来创建WSDL,本例中就是iHelloWorld接口。
服务发布类
import javax.xml.ws.Endpoint; import com.webservices.impl.HelloWorldImpl; /** * 发布程序 * @author pandy * */ @SuppressWarnings("restriction") public class ServiceTest { protected ServiceTest() throws Exception { // START SNIPPET: publish System.out.println("Starting Server"); HelloWorldImpl implementor = new HelloWorldImpl(); String address = "http://localhost:8080/helloWorld"; Endpoint.publish(address, implementor); // END SNIPPET: publish } public static void main(String args[]) throws Exception { new ServiceTest(); System.out.println("Server ready..."); Thread.sleep(5 * 60 * 1000); System.out.println("Server exiting"); System.exit(0); } }
进入: http://localhost:8080/helloWorld?wsdl
This XML file does not appear to have any style information associated
with it. The document tree is shown below.
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01. --> <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01. --> <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://impl.webservices.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://impl.webservices.com/" name="HelloWorld"> <import namespace="http://webservices.com/" location="http://localhost:8080/helloWorld?wsdl=1" /> <binding xmlns:ns1="http://webservices.com/" name="HelloWorldImplPortBinding" type="ns1:iHelloWorld"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> <operation name="sayHi"> <soap:operation soapAction="" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> <operation name="sayHiToUser"> <soap:operation soapAction="" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> </binding> <service name="HelloWorld"> <port name="HelloWorldImplPort" binding="tns:HelloWorldImplPortBinding"> <soap:address location="http://localhost:8080/helloWorld" /> </port> </service> </definitions>
发表评论
-
SpringMVC + RESTful URL
2014-06-13 15:53 1760Spring REST是什么? http://blog.csd ... -
SpringMVC + WebSocket + X
2014-06-12 10:45 4616官方文档:WebSocket Support http://d ... -
Spring CXF实例
2014-05-20 21:28 1261参考:CXF Spring整合 ——又一个helloword! ... -
Supporting Spring-WS and Spring MVC integration in a project
2014-05-19 21:45 1196http://www.java-allandsundry.co ... -
Spring-WS示例
2014-05-18 14:32 2777参考http://blog.csdn.net/thinkgho ... -
使用 Spring 3 来创建 RESTful Web Services
2014-05-18 12:24 1241SpringMVC联手REST实现入门级的CRUD http: ... -
Solrj——Solr超强客户端
2013-06-15 10:54 1588原文 http://ilovejavaforever. ... -
实战CXF调用Webxml天气预报服务
2013-04-08 22:29 2359http://my.oschina.net/bayer/blo ... -
Spring3.2 + cxf1.7.3整合
2013-04-08 14:43 1617参考:http://tsinglongwu.iteye.com ... -
Apache CXF 与 Spring 整合简单例子
2013-04-07 14:29 1227http://chxiaowu.iteye.com/blog/ ... -
CXF入门教程(5) -- webService异步调用模式
2013-04-07 14:28 1825原文参考: http://blog.csdn.net/near ... -
CXF入门教程(4) -- 设置上下文连接属性
2013-04-06 15:21 1577原文参考: http://blog.csd ... -
CXF入门教程(3) -- webService客户端开发步骤详解
2013-04-06 15:18 1690原文参考:http://blog.csdn.net/neare ... -
CXF入门教程(2) -- 第一个客户端
2013-04-06 15:11 1703参考:http://blog.csdn.net/nea ... -
WSDL 详解
2012-09-01 16:40 2294WSDL 详解 http://blog.csdn.ne ... -
super(WSDL_LOCATION, SERVICE, features);异常
2012-08-31 09:33 1833http://ahaoo0712.iteye.com/blog ... -
Service的入门教程
2012-08-30 20:50 1348Web service是什么 http://www ...
相关推荐
【CXF入门 -- 第一个简单webService】 Apache CXF 是一款强大的开源服务框架,它用于构建和开发服务,包括Web服务。本篇文章将带你入门CXF,通过创建一个简单的Web服务来理解其基本概念和工作流程。 1. **CXF简介*...
2. **快速入门**:引导开发者设置开发环境,创建第一个CXF Web服务,展示如何编写服务端和客户端代码。 3. **API参考**:提供CXF的详细API文档,包括类、接口和方法的描述,方便开发者查阅。 4. **示例代码**:...
第一天: 什么是webservice? 从案例(便民查询网站)分析如何实现? 使用socket实现。 使用jaxws开发webservice。 Webservice三要素 Wsdl(webservice使用说明书)重点掌握 Soap(jaxws开发webservice的传输协议...
CXF(CXF: Composite eXtensible Framework)是一个开源的Java框架,它主要用于构建和部署Web服务。作为初学者,了解并掌握CXF Webservice的使用是进入Web服务开发的重要一步。CXF允许开发者使用Java编程语言来实现...
**第一步:导入 CXF 相关包** 首先,你需要从官方下载地址(http://cxf.apache.org/download.html)获取 CXF 的 JAR 包,并将其添加到你的项目类路径中。通常,这可以通过将 JAR 文件放入 `WEB-INF/lib` 目录或在...
视频教程可能包含使用这些工具创建一个简单的WebService示例,包括定义服务接口、实现服务逻辑、发布服务以及编写客户端代码进行调用。 此外,安全性也是WebService开发中不可忽视的一环。因为数据在互联网上传输,...
2. **CXF入门**:学习如何安装和配置CXF环境,创建第一个CXF项目,包括服务端和客户端的搭建。 3. **JAX-WS实战**:通过实际案例,演示如何使用CXF和JAX-WS创建SOAP WebService,包括服务接口定义、服务实现、部署...
本项目以"webservice 第一个小项目"为主题,将带你入门Java实现的WebService技术。 首先,我们需要了解WebService的基本概念。WebService是一种基于开放标准(如XML、SOAP、WSDL和UDDI)的互联网协议,它能够使应用...
1. `helloWs`:这个可能是创建的第一个Web服务示例,"Ws"通常代表Web服务。它可能包含了一个简单的"Hello World"服务,展示了如何在CXF中定义和部署一个服务。 2. `helloWs1`和`helloWs2`:这些可能是对基础...
【标题】"CXF Webservice" 是一个基于Java的开源框架,主要用于构建和部署Web服务。这个项目的主要目标是提供一种简单、高效的方式来创建和消费Web服务,它支持多种Web服务标准,包括SOAP、WSDL、WS-Security等。CXF...
【标题】"第一个Web服务(WebService)例子源码"提供了初学者深入了解和实践WebService开发的绝佳素材。在本文中,我们将深入探讨这个简单的"Hello World"程序如何工作,以及它如何帮助我们理解WebService的核心概念...
### Java6开发WebService入门 #### 一、背景与意义 在早期的Web服务开发中,开发者通常会使用CXF、Axis2、XFire等工具来构建基于Java的应用程序。这些工具之所以被广泛采用,主要是因为它们能够提供广泛的兼容性和...
- 创建Web服务项目:在MyEclipse中新建一个动态Web项目,然后添加Web服务相关的库,如Axis2或CXF。 - 编写服务接口:定义服务的业务逻辑,通常是一个Java接口,包含了各种操作方法。 - 实现服务接口:创建接口的...
6. **测试与调试**:CXF提供了强大的测试工具,如WSDL第一和代码第一的测试支持,以及SOAP消息的跟踪和日志记录,便于开发者进行服务的验证和调试。 7. **插件支持**:CXF与多种构建工具(如Maven和Gradle)集成...
CXF支持SOAP和RESTful两种风格的Web Service,并提供了丰富的功能,包括WSDL第一和代码第一的开发模式、WS-Security安全支持、数据绑定、JAX-RS和JAX-WS标准实现等。 通过CXF,开发者可以方便地将Java类直接映射为...
三、第一个Web Service示例 1. 启动Sun Java System Application Server PE 9,确保服务器运行正常,通过访问`http://localhost:8080`确认。 2. 使用MyEclipse打开Sun SDK中的示例项目`hello-jaxws`,此项目包含了...
#### 一、Java6开发WebService入门概述 在Java6中,开发者可以直接利用内置的支持来创建WebService应用,而无需借助额外的框架如CXF、Axis2或XFire等。这种方式不仅简化了项目的安装和部署流程,还减少了对第三方库...
shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权 传统使用URL拦截的时候,要将所有的URL都配置起来,繁琐、不易维护 而我们的Shiro实现系统的权限管理,有效提高开发效率,从而...