
WEB后台@JAX-WS
文章平均质量分 53
schy_hqh
这个作者很懒,什么都没留下…
展开
-
JAX-WS(一)初步
[align=center][b]JAX-WS[/b][/align][b][i]基于java本身对webservice的支持进行webservice的开发[/i][/b][b]1.创建接口SEI(Service Endpoint Interface)[/b][code="java"]package com.hqh.service;import javax.jws.We...原创 2013-07-14 19:39:11 · 98 阅读 · 0 评论 -
基于契约优先来编写webservice
[b]开发流程:1.先写schema或者wsdl文件2.根据这个文件生成客户端代码3.编写实现类(在实现类上指定wsdlLocation)4.发布服务[/b][size=medium]src下创建META-INF目录,再该目录下创建wsdl文件夹,使用向导创建一个wsdl文件一、编写type二、编写Message三、编写portType四、编写b...原创 2013-08-03 18:40:26 · 133 阅读 · 0 评论 -
基于契约优先的隐式头信息处理
[code="java"] ...原创 2013-08-03 20:05:34 · 144 阅读 · 0 评论 -
发布webservice到tomcat
目标:基于契约优先的webservice功能开发 服务端一、编写xsd和wsdl文件(validate必须要通过,注意命名空间要一致),放到WEB-INF/wsdl目录下二、项目中引入jaxws-ri的相关jar包;WEB-INF下增加sun-jaxws.xml(配置服务的实现类);在web.xml中配置jaxws-ri提供的监听器WSServletContextListe...原创 2013-08-07 09:39:17 · 849 阅读 · 0 评论 -
webservice传递二进制数据(文件)
将二进制数据放到Attachment中进行传递,而不是放到SOAPBODY进行传递 xsd文件中定义二进制数据类型<xsd:element type="tns:upload" name="upload"/> <xsd:element type="tns:uploadResponse" name="uploadResponse"/> <原创 2013-08-08 16:14:06 · 2220 阅读 · 0 评论 -
通过HEADER传递信息-做权限控制
通过HEADER而不是BODY传递“LICENSE” 客户端往HEADER中加入信息;服务端从HEADER中取出信息; 首先编写xsd和wsdl user.xsd中代码片段<xsd:element name="licenseInfo" type="tns:licenseInfo"></xsd:element><xsd:comple...原创 2013-08-08 18:11:25 · 756 阅读 · 0 评论 -
使用契约优先---重要注意事项
使用契约优先编写schema和wsdl文件时,一般都是在wsdl中通过include或者import导入xsd文件的但是,客户端调用服务端的服务时,会发生数据传输异常:客户端请求参数传递正确,服务端打断点也有数据,客户端就是接受不到数据,获取到的返回值总是NULL 原因:客户端与服务端的SOAP协议中MESSAGE消息定义不一致造成!由于服务端的xsd中有这样一个属性elemen...原创 2013-08-11 22:23:00 · 221 阅读 · 0 评论 -
JAX与spring的无缝集成(一)
JAX-WS与spring集成有几种方式:第一种:通过jaxws-rt来实现对webservice的启动。确定:需要额外编写一个配置文件sun-jaxws.xml,而且无法使用spring的自动注入功能,只能收到从BeanFactory中获取bean!依赖<!-- 通过servlet集成jax --><dependency> <grou...原创 2013-08-13 13:45:58 · 362 阅读 · 0 评论 -
Exception处理:服务端返回对象与客户端类型不一致XXX cannot be cast to XXX
描述: 服务端向客户端返回数据时,发生类型转换异常! 服务端定义的model:Student与wsdl中定义的Student类型不一致。 服务端通过本地编写好的wsdl文件(契约优先),使用jaxws-maven-plugin在compile阶段自动将wsdl文件转换为java文件。其存放到了/target/jaxws/wsimport/java...原创 2013-08-15 13:52:06 · 924 阅读 · 0 评论 -
JAX与spring的无缝集成---增加Handler和Exception(二)
客户端也使用spring集成JAX-WS。但是有一个问题需要处理!想在SOAP消息中加入HEADER该怎样加入呢,使用Handler!之前使用handler都是通过在实现类上使用注解@HandlerChain(file="handler-chain.xml")进行标注引入的//声明handler的位置@HandlerChain(file="handler-chain.xml")...原创 2013-08-15 16:00:05 · 173 阅读 · 0 评论 -
Webservice中获取Servlet的相关对象
第一种方式:通过注入WebServiceContext ,获取request、session等 @Resource private WebServiceContext webServiceContext; public String getLoginUser() { HttpServletRequest request = (HttpServ...原创 2013-08-15 17:44:16 · 267 阅读 · 0 评论 -
XJC 将schema转换为java类
使用xjc(xml java change)将schema转换为java文件根据schema中定义好的数据结构转换为对应的java类、直接通过cmd命令行进行转换:xjc -d[目标文件夹] xxx.xsd将src目录下的classroom.xsd转为java放入xjc_01目录中 C:\Users\lenovo>xjc -d E:\technology-hqh\proj...原创 2013-08-28 09:55:31 · 379 阅读 · 0 评论 -
通过Handler添加HEADER
[b]LogicHandler 只能获取SOAPBody的信息SOAPHandler 可以获取SOAPMessage的信息可以使用多个Handler,但是最终执行顺序:客户端:LogicHandler ---> SOAPHandler 服务端:SOAPHandler ---> LogicHandler [/b][b]Handle...原创 2013-08-03 14:05:07 · 569 阅读 · 0 评论 -
SOAP异常处理
[b]接口[/b][code="java"]package com.hqh.soap;import java.util.List;import javax.jws.WebParam;import javax.jws.WebResult;import javax.jws.WebService;//如果要指定命名空间,那么接口与实现类要显示定义相同的targetNa...原创 2013-08-03 14:00:07 · 755 阅读 · 0 评论 -
深入SOAP发送消息的过程(SAAJ)
[b]SOAP结构体SOAPMessage SOAPPart SOAPEnvelope SOAPHeader(optional) SOAPBody(XML Content or SOAPFault) AttachmentPart MIME Headers Conte...原创 2013-07-28 18:54:24 · 295 阅读 · 0 评论 -
JAX-WS(三)wsdl详解
[url]http://localhost:8888/numberService?wsdl[/url][code="xml"] ...原创 2013-07-15 21:37:21 · 620 阅读 · 0 评论 -
JAX-WS(二)通过wsimport解析wsdl
[b]1.使用wsimport命令将wsdl转换为本地的java接口[/b][b]wsimport 是java提供的命令,专门用来对wsdl文件进行解析,并转换为本地的java文件[/b]命令:wsimport -d E:\technology-hqh\proj\webservice\JAX-WS\wsimport_01 -keep http://localhost:8888/numb...原创 2013-07-15 21:37:31 · 576 阅读 · 0 评论 -
JAX-WS(四)webservice传递对象
[b]使用webservice传递对象[/b][b]接口[/b][code="java"]package com.hqh.service;import javax.jws.WebParam;import javax.jws.WebResult;import javax.jws.WebService;@WebServicepublic interfac...原创 2013-07-15 22:58:57 · 449 阅读 · 0 评论 -
JAX-WS SOA杂谈
[b][size=medium]代码优先[/size] [color=blue]先编写类,通过注解定义wsdl的各项属性,基于类来生成wsdl文件[/color][size=medium]契约优先[/size] [color=blue] 先制定标准,与其它系统一起定义一个统一的标准,实现系统之间数据传输的规范性,即先有wsdl再有类[/color][size=me...原创 2013-07-20 21:25:38 · 160 阅读 · 0 评论 -
XML_DTD
[b]DTD,约束xml中元素出现的特性:是否必须,出现次数,书写顺序等[/b][b]DTD的缺点[/b][color=blue]不同元素下不能出现同样的节点名称;能够提供的数据类型比较少,比如枚举类型(男,女,未知)不支持;定制不灵活;等等[/color]编写一个person的dtd: persons作为根,persons下能够存在多个personpers...原创 2013-07-22 14:43:23 · 91 阅读 · 0 评论 -
XML_Schema
[b]Schema的好处[/b]schema出现的目的:通过一个更加合理的方式来编写xml的限制文件,而且是基于xml语法的方法使用Schema来规范限制xml的编写schema通过命名空间来支持多个名称相同的元素 命名空间:避免元素间的冲突,比如同名元素(类似于java中package的作用)schema可以很好的完成对java或者所有对象的修饰,并且提供了大量...原创 2013-07-22 16:27:29 · 106 阅读 · 0 评论 -
使用JAXB完成XML与java对象的转换
[b]SAX 处理超大xml时使用 dom4j 通过xpath来解析非常方便,适合处理较小的xmlXstream--->Stax 基于流的方式处理 Xstream,Jackson 可以将json与java进行转换JAXB java表中API,专门负责java与xml的互转java--->xml:marshallerxml---...原创 2013-07-27 10:05:44 · 144 阅读 · 0 评论 -
使用Stax处理XML
[b][color=blue]java提供的XML处理[/color]Stax处理XML:不会把XML一次性读入基于光标的查找(使用reader一个一个读)基于迭代模型的查找过滤器的使用XPATH的使用使用XMLStreamWriter创建xml使用Transformer更新节点信息[/b][code="xml"] Every...原创 2013-07-27 10:57:32 · 236 阅读 · 0 评论 -
使用java提供的XPATH处理xml
[b]books.xml[/b][code="xml"] Everyday Italian Giada De Laurentiis 2005 30.00 Harry Potter J K. Rowling 2005 29.99 XQuery Kick Start James McGovern...原创 2013-07-27 13:10:18 · 137 阅读 · 0 评论 -
使用XMLStreamWriter写XML
[code="java"]package com.hqh.stax;import javax.xml.stream.FactoryConfigurationError;import javax.xml.stream.XMLOutputFactory;import javax.xml.stream.XMLStreamException;import javax.xml.s...原创 2013-07-27 14:10:06 · 2275 阅读 · 1 评论 -
使用Transformer更新XML
[code="java"]package com.hqh.stax;import java.io.InputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.OutputKey...原创 2013-07-27 14:46:32 · 814 阅读 · 0 评论 -
实际应用-使用xsd定义Model对象
使用schema定义Model好处:对象关联关系非常清晰 student.xsd <?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/test" xm...原创 2014-02-27 02:24:47 · 349 阅读 · 0 评论