- 浏览: 1193103 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (883)
- Spring (101)
- Swing (1)
- Mysql (21)
- Js (59)
- Jsp (2)
- Hibernate (19)
- Myeclipse (5)
- SqlServer 2000 (2)
- poi (15)
- Java (70)
- SSH (12)
- Html (47)
- Fusion Charts (1)
- C\C++ (2)
- 汇编 (36)
- Jquery (37)
- Struts2 (6)
- Ubuntu (16)
- powerDesinger (4)
- Jboss (3)
- JAX-RS (13)
- JAXB (5)
- JAX-WS (11)
- JMS (4)
- WebSocket (8)
- PHP (16)
- Flash (1)
- maven (3)
- Oracle (8)
- HttpClient (6)
- sqlserver (19)
- svn (5)
- Tomcat (3)
- Jdbc (3)
- EsayUi (11)
- 微信公众平台 (19)
- IIS (2)
- Freemarker (11)
- Comet (1)
- Spring MVC (85)
- JBoss Seam (3)
- 二维码 (9)
- Spring Security (4)
- Ehcache (3)
- Apache Shiro (7)
- jackson (16)
- JPA (8)
- jcaptcha (2)
- RSA (2)
- Ajax (6)
- 跟我学Shiro (0)
- Spring4 (19)
- 跟我学spring3 (0)
- css (32)
- excel (4)
- Filter (3)
- 微信公众帐号开发教程 (0)
- Android (6)
- log4j (6)
- 淘宝接口 (17)
- 支付集成 (3)
- 单点登录 (3)
- Html5 (27)
- 移动平台前端 (3)
- Linux (44)
- FusionCharts (27)
- Json Jackson Xml (5)
- 方培工作室-微信开发 (0)
- Apache与Tomcat与IIS整合 (10)
- Nginx (17)
- webService (2)
- apache (4)
- lucene (3)
- lodop (2)
- Shiro (3)
- zTree (2)
- ireport (12)
- Servlet3.0 (5)
- 前端美工 (19)
- AngularJS (1)
- C#开发微信门户及应用 (0)
- Shell (3)
- bat脚本 (16)
- Bootstrap (26)
- Less (10)
- photoshop (6)
- Redis (6)
- Mongodb (10)
- MyBatis (3)
- 数据结构 (0)
- 读写分离-主从复制 (0)
- JFinal (0)
- 百度地图api (3)
- hadoop-hbase-hive-spark (3)
- WebStorm (2)
- Quartz (5)
- ios (0)
- Mina (8)
- Android Studio (4)
- Ratchet教程 (0)
- 移动端重构系列 (1)
- cubic-bezier贝塞尔曲线CSS3动画工具 (1)
- nginx+tomcat+memcached集群 (0)
- 集群 (0)
- ZooKeeper (3)
- Dubbo (0)
- vpn (0)
- kafka (0)
- JVM垃圾回收机制 (0)
- 微信小程序 (0)
- Lua (0)
- Hystrix (0)
- Vue.js (0)
- mycat (0)
- Openresty (0)
- springBoot (0)
- 新分类 (0)
- guava (0)
- 大数据 (0)
- Sentinel (0)
最新评论
-
JackMacing:
中文怎么解决?
SpringMVC与iReport(JasperReports) 5.6整合开发实例 -
18335864773:
用pageoffice把.可以实现在线的文档操作.直接转pdf ...
转:使用jasperreport动态生成pdf,excel,html -
linhao0907:
推荐一款轻量开源的支付宝组件:https://github.c ...
关于Alipay支付宝接口(Java版) -
songronghu:
太好了,非常有用,谢谢分享~
Java ConcurrentModificationException 异常分析与解决方案 -
wzwahl36:
http://www.atool.org/json2javab ...
Java下利用Jackson进行JSON解析和序列化
Java1.6中自带了JAX-WS API,使得我们可以很方便、简单的开发一个基于Java的WebService应用。下面看一个JAX-WS中的HelloWord应用。
一、创建WebService Endpoint接口
首先我们来定义Server端的WebService服务接口,如下:
- package test;
- import javax.jws.WebService;
- @WebService
- public interface Calculator {
- public int add(int a, int b);
- public int multi(int a, int b);
- }
这里看到在类定义上,加了一个“@WebService”的annotation,这是定义JAX-WS定义WebService的关键,这个annotation用来告诉java解析器你希望把这个接口中的方法发布成一些WebService的服务。
有了接口定义,下面给出一个实现:
- package test;
- import javax.jws.WebService;
- @WebService(endpointInterface = "test.Calculator")
- public class CalculatorImpl implements Calculator {
- public int add(int a, int b) {
- return a + b;
- }
- public int multi(int a, int b) {
- return a * b;
- }
- public int minus(int a, int b) {
- return a - b;
- }
- }
这里WebService annotation里加了一个参数"endpointInterface",这个参数用来指定这个WebService的抽象服务接口,例如此处如果不用"endpointInterface"指定接口,那么生成的WebService服务有三个操作"add","multi"和"minus",也就是定义在当前类中的方法集;如果指定了endpointInterface,则只有"add","multi",即定义在Calculator中的方法集。
二、发布服务
上面就已经定义好了服务接口和服务实现类,然后就可以发布了。发布也是相当的简单,只需要一条语句:
- package test;
- import javax.xml.ws.Endpoint;
- public class Server {
- public static void main(String[] args) {
- Endpoint.publish("http://localhost:8088/calculator",
- new CalculatorImpl());
- }
- }
这里publish方法需要两个参数:
- address:服务对外暴露的用于调用服务的地址
- implementor:服务的实现对象
启动这个Server类,就可以访问服务了。要测试服务有没有启动,可以输入ttp://localhost:8088/calculator?wsdl,如果一切正常,就可以看到一个wsdl定义内容,表示服务已经成功启动。
三、annotations
使用jax-ws时,有两个重要的annotation:
- @WebService
此注示用来标明此java类为某个WebService的实现类或者标明此java接口定义了某个WebService的接口。@WebService有六个参数可以用来配置这个WebService的定义:
-
-
endpointInterface:上面已经介绍了,指向一个定义此WebService抽象定义接口的完整类路径
-
name:WebService名;默认的port名为"实现类名+Port",binding名为"实现类名+PortBinding",通过指定name的值来替换 实现类名。
-
portName:指定port名,可以完成替换默认port名,或由上面的"name"指定的port名。
-
targetNamespace:指定targetNamespace值,默认的值为 "http://包名/",可以通过此变量指定一个自定义的targetNamespace值。(注:如果分别定义和接口和实现,则他们有各自的targetNamespace)
- serviceName:指定service名
- wsdlLocation:指向一个预定义的wsdl的文件,替代自动生成的wsdl文件。
-
- @WebMethod
- action:指定此方法对应的action
- exclude:true --表示此方法包含在web服务中;false表示排除此方法
- operationName:指定方法对应的operation的名字。
发表评论
-
Spring 3, Spring Web Services 2 & LDAP Security
2014-09-12 09:09 1593This year started on a good n ... -
Chapter 7. Securing your Web services with Spring-WS
2014-09-12 09:09 1839Chapter 7. Secur ... -
Spring的WebServiceTemplate访问WebService的方法及其本质原理
2014-09-02 11:12 893WebService客户端调用的本质就是将SAOP格式的XM ... -
WebService服务端开发
2014-09-02 11:05 1418概述 BDF中WebService模 ... -
JAX-WS开发webservice示例详解
2014-09-02 10:44 1748目录: 概述 实验环境 服务端的实现 客户端 ... -
Spring Webservice实现过程
2013-12-02 11:31 10511、创建service接口 package com. ... -
JAX-WS 学习四:部署到Web容器里
2012-09-13 18:34 1020在之前的介绍里,web service的发布都是通过调用: ... -
JAX-WS 学习三:进阶二(binding style和wsgen)
2012-09-13 18:36 621一、指定使用的Style和Use Wsdl中soa ... -
JAX-WS 学习三:进阶一(wsimport和TCP/IP monitor)
2012-09-12 22:37 745前两节中简单的介绍了一下基本的JAX-WS API的使用, ... -
JAX-WS 学习二:创建客户端
2012-09-12 22:37 629上一节中介绍了怎么基于JAX-WS的API创建服务端,这一节介 ...
相关推荐
一个关于CXF实现jax-ws规范的webservice #CXF框架 Apache CXF=Celtix+Xfire.是一个开源的一个webservice,可以与spring无缝集成。支持soap1.1、1.2、RESTtful或者CORBA。 ##使用CXF实现jax-ws规范的webservice ...
基于接口创建类。 例如,给定以下 JAX-RS 定义 package serverPackage ; import javax.ws.rs.GET ; import javax.ws.rs.Path ; import javax.ws.rs.PathParam ; @Path ( " /helloworld " ) public interface ...
JAVA EE 和 JAX-WS 将是一个不错的选择,但我决定坚持使用 Spring WS 和 Spring Boot 作为超级胶水。 作业涵盖了以下主题: 创建两个端点,根据简单过滤返回查询结果列表 使用 WS-Security 进行基本身份验证 按照...
Lucene索引ÔËĐĐťˇžłŁş jdk-1.7 tomcat-7.0.47 ˇĂÎĘľŘÖˇŁş myeclipse 网络服务: 创建一个“网络服务项目” 创建一个类并添加一个将成为服务接口的方法创建“Web 服务” 3.1 选择“JAX-WS”和...
创建一个maven项目(war) 编写实体类,Service 导入applicationContext.xml 配置cxf的发布 客户端测试代码 WebService-RS RS-独立发布 编写服务接口 打上@path配置路径 @get等请求方式 @...
JavaTM 2 Platform Standard Edition 6 API 规范 本文档是 Java 2 Platform Standard Edition ...javax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算...
2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到...
2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到...
javax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发...
javax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发...
javax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发...
javax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发...
javax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发...
javax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发...
javax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发...
第二部分详细讲解了jsf ri、jta、jndi、rmi、jms、javamail、ejb 3的session bean、message driven bean、jpa、jax-ws 2、jaas等java ee知识,这部分知识以jsf+ejb 3+jpa整合开发为重点,通过使用netbeans ide工具...
它们的新的项目分别是ApacheCXF和Axis2.Java语言也制定关于REST网络服务规范:JAX-RS:JavaAPIforRESTfulWebServices(JSR311)。相信还会出现更多与REST相关的激动人心的信息。 REST与AJAX技术 尽管AJAX技术的...