WebService
fengyungl
不断努力 追求 做更好的自己
展开
-
如何使用xFire开发webService返回复杂对象List
<br />调用 Web Services 时,经常需要返回集合( collection )作为结果,或者接受 collection 型的参数。 SOAP 本身就支持这一点。<br />但是这一机制的问题在于, java 语言的 collections 是无类型的( untyped ) . 因此,如果要在 Java 1.4 当中支持 collections , 就需要做一些额外的工作。<br />Java 5 & 范型( Generics )<br />首先而且是推荐的做法是在 JDK5 当中使用范转载 2010-07-19 13:55:00 · 1275 阅读 · 0 评论 -
MyEclipse下XFire开发Webservice实例
<br />最近在研究JAVA开发Webservice,发现网络上比较流行的几种选择AXIS、XFire、CFX(XFire的下一代),前几天转了几篇关于这三种选择的比较的文章,对它们已经有了些概念。决定自己实践一个例子<br /> 在开始前,先介绍一些概念:<br /><br /> XFire Java SOAP框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml )<br /> MyEcl转载 2010-08-19 17:08:00 · 1272 阅读 · 0 评论 -
xfire 由wsdl自动生成客户端代码验证出错( src-resolve.4.2 Error resolving component )
<br />src-resolve.4.2 Error resolving component<br />利用myEclipse和Xfire开发web service时,对myEclipse根据wsdl文件自动生成客户端代码,<br />验证时错误为:src-resolve.4.2 Error resolving component 'xxx:xxx'. It was detected that 'xxx:xxx' is in namespace 'http://xxxx', but compo原创 2010-08-24 15:10:00 · 5838 阅读 · 2 评论 -
java.net.SocketException: Broken pipe异常
<br />好好的socket通讯程序, 从window 移入 linux 操作系统中,仅仅和服务器交换几条简单的数据后,报 java.net.SocketException Broken pipe 异常,甚是奇怪 ,在网上找到了很多 同类的问题包括答案,似乎没有一个能解决问题的。 <br /><br />我排出一些可能的情况, <br />1、连接从来没有断开; <br />2、交易数据量少,不存在超时问题,而且是长连接; <br />3、在输入,输出流中进行了同步。 <br原创 2010-09-21 15:57:00 · 61438 阅读 · 1 评论 -
webservice接口访问频率的控制问题
<br />请教webservice高手们一个问题:<br /> 能不能控制调用webservice接口的频率?<br /> 如何实现?(可以axis2或xfire框架为例说明)<br /> 谢谢!<br />原创 2010-10-14 16:55:00 · 5827 阅读 · 0 评论 -
XMLGregorianCalendar与Date的类型相互转换
<br />/**<br /> * XMLGregorianCalendar 转换为Date类型<br /> */<br /> public static void getServerTime() {<br /> GetServerTimeServiceClient gclient = new GetServerTimeServiceClient();<br /> GetServerTimeServicePortType service原创 2010-10-15 16:21:00 · 7217 阅读 · 3 评论 -
xfire框架优劣讨论(欢迎加盟)
<br />1)可以传递list等复杂数据类型;<br />2)支持方法重载;<br />3)可以传递Date数据类型,但XMLGregorianCalendar 与Date类型转换比较麻烦;<br />4)身份验证实现简单;<br /><br />原创 2010-10-15 17:31:00 · 1287 阅读 · 0 评论 -
使用soapmonitor模块监视soap请求与响应消息
<br />在Axis2中提供了一个Axis2模块(soapmonitor),该模块实现了与《WebService大讲堂之Axis2(9):编写Axis2模块(Module)》中实现的logging模块相同的功能,所不同的是,logging模块直接将SOAP请求与响应消息输出到Tomcat控制台中,而soapmonitor模块利用applet直接在页面中输出SOAP请求和响应消息。<br /> 下面是配置和使用soapmonitor模块的步骤: <br转载 2010-12-08 09:31:00 · 839 阅读 · 0 评论 -
org.apache.axis2.AxisFault: The ServiceClass object does not implement the required method in the following form: OMElement get
<br />调用webservice报错:<br /><br />org.apache.axis2.AxisFault: The ServiceClass object does not implement the required method in the following form: OMElement getDocSummary(OMElement e)<br /><br /><br />是因为没有在services.xml中对该方法配置:<br /><messageReceivers><br原创 2010-12-06 13:02:00 · 8300 阅读 · 8 评论 -
由SOAP消息看Web Service FrameWork的细节差异
<br />早先的一些blog文章已经说了很多关于Web Service客户端在同一种语言实现或者不同语言实现中由于细节实现不同导致兼容性的问题。昨天解决的问题在一个边界问题上又一次说明了这种异构环境的互通标准在不同的实现当中,由于细节理解不同会造成一些兼容性问题。 问题: 当接口返回类型为一个对象,同时这个对象中有一个属性是数组类型,那么这个数组类型的对象在返回的SOAP消息中就无法正确解析。如下定义了一个对象:publicclass DemoStruct implements转载 2010-10-28 16:16:00 · 673 阅读 · 0 评论 -
java.lang.NoSuchMethodError: org.apache.axis2.description.PolicyInclude.getEffectivePolicy()Lorg/apac he/ws/policy/Policy;
<br />部署axis2的rampart模块时报错:<br />java.lang.NoSuchMethodError:<br />org.apache.axis2.description.PolicyInclude.getEffectivePolicy()Lorg/apac<br />he/ws/policy/Policy;<br /><br /><br />解决方法:<br />将rampart的相关jar包拷贝到axis2的lib下,<br />rampart-1.5、rahas-1.5原创 2010-10-28 13:36:00 · 2487 阅读 · 0 评论 -
UsernameToken
<br />使用用户名和密码来验证用户的身份是最普通也最常见的方法,虽然在安全性方面也比较弱,由于其运用的广泛性还是成为了WS-Security目前所 支持的Security Token之一。其原理非常简单,用户在发送请求的时候,在Soap head中加入自己的用户名以及密码,接受请求的Service通过之前与Client建立的共享密码来验证密码的合法性从而实现鉴别用户的功能。<br /><br />不过实际运用起来就不能考虑的那么简单了,该方法主要存在两个问题:<br />1. 在SOAP转载 2010-10-28 16:01:00 · 659 阅读 · 0 评论 -
数字证书格式转换
摘要<br /> 公钥加密技术12号标准(Public Key Cryptography Standards #12,PKCS#12)为存储和传输用户或服务器私钥、公钥和证书指定了一个可移植的格式。它是一种二进制格式,这些文件也称为PFX文件。开发人员通 常需要将PFX文件转换为某些不同的格式,如PEM或JKS,以便可以为使用SSL通信的独立Java客户端或WebLogic Server使用。本文描述如何从PFX文件导出私钥、公钥和证书并用它们创建JKS或PEM文件。简介<br /> 创建的转载 2010-10-28 16:23:00 · 3247 阅读 · 0 评论 -
wss4j和axis2实现WS-Security
<br />一、wss4j简介<br />Wss4j是apache开发的,标准实现WS-Security(WebService安全)的开源项目,它提供了用户名令牌环验证(UsernameToken)和传递消息时保证信息的完整性和真实性等一些WebService安全保障。二、环境准备<br />2.1开发环境准备<br />在正式开始前还要去下载一个rampart-1.1.mar,下载地址http://apache.hoxt.com/ws/rampart/1_1/。把这个东东放到WEB-INF/modules转载 2010-10-28 16:03:00 · 947 阅读 · 0 评论 -
利用WSE 加密SOAP报文增加WEB SERVICE 的安全性
<br />摘要:<br />如何使用支持WS安全规范的WSE(Microsoft Web Services Enhancements)使加密SOAP能够跨越标准HTTP呢?讲述了SOAP报文加密是如何进行,在WS安全和XML加密规范中又是如何定义的。<br />目录:<br />? 介绍WSE<br />? WSE的安全特性<br />? 加密SOAP报文<br />? WSE对加密的支持<br />? 配置WSE<br />? SOAP报文的对称加密算法<br />转载 2010-10-28 16:18:00 · 1690 阅读 · 0 评论 -
返回值是数组类型或返回的封装类中属性类型是数组类型的注意事项
<br />使用axis2开发webservice,如果返回值类型是数组类型或者返回的封装类中的属性有数组类型,<br />在返回值为空的时候要注意:<br />1、返回值类型是数组类型<br /> 需要返回return new array[0]; 这样在客户端接收到的返回值才是null。<br /> 如果return null; 在客户端接收到的将是一个包含有null元素的长度为1的数组。<br />2、返回的封装类中的属性是数组类型<br /> 如果该属性为空,需要setName原创 2010-12-22 13:30:00 · 1603 阅读 · 0 评论 -
Axis2开发异步web服务
<br />引言<br />最初在将 Web 服务实现作为一种应用程序开发方法引入时,它仅支持使用同步调用来进行请求-响应交互(本文中的同步是指在同一个执行线程中处理请求和响应)。但是随着越来越多的应用程序采用 Web 服务来公开功能,并且将客户端应用程序设计为与 Web服务交互,纯粹的同步调用已被视为瓶颈。这是因为,由于服务实现中的各种原因,有些 Web 服务实现要花相当长的时间才能响应请求。例如,如果某个Web 服务在某个时点需要人工介入或批处理,该 Web 服务可能要花数天时间才能获得结果转载 2011-01-06 09:09:00 · 1271 阅读 · 0 评论 -
异步非阻塞模式调用接口(axis2)
<br /><br />接口服务定时循环查询,直至查询到结果文章数据才返回,客户端采用异步非阻塞的方式调用接口代码如下:<br />PushServiceCallbackHandlermyCallback = new PushServiceCallbackHandler() {<br /> @Override<br /> publicvoid receiveResultgetAllPushedDocList(<br />GetAllPushedDocListResponse re原创 2011-01-18 13:30:00 · 1658 阅读 · 0 评论 -
XFire开发webservice服务和客户端全攻略
<br />XFire 是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。<br />相 对于Axis来说,目前XFire相对受欢迎,加上其提供了和Spring集成的支持,在目前的Web Service开源社区拥有众多的追随者。并且因为XFire为Spring提供的支持,使得我们可以很容易在Spring中使用XFire构建Web Service应用。<br />XFire 与Axis2相转载 2010-08-19 13:30:00 · 1214 阅读 · 0 评论 -
Axis2 错误:An error occurred while completing process -java.lang.reflect.InvocationTargetException
<br />在使用codegen插件来从WSDL文件生成代码时,到了最后一步出现"An error occurred while completing process -java.lang.reflect.InvocationTargetException"<br />错误,重试N次,结果依然,<br /><br />从AXIS2的LIB库中复制"geronimo-stax-api_1.0_spec-1.0.1.jar"和"backport-util-concurrent-3.1.jar"文原创 2010-08-19 10:42:00 · 604 阅读 · 0 评论 -
简单介绍webservice和soap小原理
<br />从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。也就是说,可以利用编程的方法通过Web来调用这个应用程序。对Web service 更精确的解释: Web services是建立可互操作的分布式应用程序的新平台。Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。转载 2010-08-19 13:33:00 · 3156 阅读 · 1 评论 -
axis2+spring+hibernate(webservice工程)
<br />使用axis2+spring+hibernate三大框架整合构建webservice工程,一遍遍的修改配置文件,一遍遍的调试,费了好一番功夫终于成功了,可以实现对数据库的操作了,任务还要求使用事务,添加上事务:<br />@Transactional <br />public class UserService {<br /> private UserDAO userDAO;<br /> <br /> public void setUserDAO(UserDAO原创 2010-07-21 18:11:00 · 5171 阅读 · 1 评论 -
MyEclipse下Axis2插件的下载和安装
1. 下载Myeclipse Axis2插件http://archive.apache.org/dist/ws/axis2/tools/1_4_1/下载axis2-eclipse-codegen-wizard.zip和axis2-eclipse-service-archiver-wizard.ziphttp://labs.xiaonei.com/apache-mirror/ws/axis2/1_5/axis2-1.5-war.zip下载axis2-1.5-war.zip2.解压插件($EC转载 2010-05-31 13:16:00 · 3354 阅读 · 3 评论 -
myeclipse+axis2
一、环境准备1.1软件下载准备Tomcat 5.5下载地址:http://tomcat.apache.org/download-55.cgi#5.5.20Axis War包:http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.warAxis Eclipse plug-in(代码生成工具和打包工具):http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.ziph转载 2010-05-31 16:22:00 · 1900 阅读 · 0 评论 -
webservice的方法重载问题
<br />webservice不支持方法重载,项目要求是支持方法重载,到网上查找解决方法:<br />@WebService<br />public interface HelloWorld {<br /><br />@WebMethod(operationName="sayHello1")<br />public String sayHello(String name);<br /><br />@WebMethod(operationName="sayHello2")<br />pu原创 2010-07-26 13:31:00 · 1661 阅读 · 1 评论 -
webservice的方法重载问题
webservice不支持方法重载,项目要求是支持方法重载,到网上查找解决方法:@WebServicepublic interface HelloWorld {@WebMethod(operationName="sayHello1")public String sayHello(String name);@WebMethod(operationName="sayHello2")public String sayHello(String name1,String name2);}是采用原创 2010-07-26 13:33:00 · 1090 阅读 · 0 评论 -
axis2优劣探讨(欢迎加盟)
<br />现在用axis2开发一个webservice工程,虽说是webservice的一个新框架,但我并没有发现他有多么的好用,反而遇到了很多麻烦的问题:<br />1、axis2不支持事务。<br /> 对数据库增删改查一般都需要事务处理的,但是在对外发布的接口中是不能配置事务的。<br /> 解决方法:或者写一个代理类或者直接在dao中进行事务管理。<br />2、axis2不支持方法重载。<br /> 在对外发布的接口中不能使用方法重载,<br /> [WARN]原创 2010-07-27 18:31:00 · 2988 阅读 · 2 评论 -
myeclipse8.5安装axis2插件
<br />myeclipse8.5的安装目录中的dropin文件夹是专门用来存放插件的。<br />将Axis2_Codegen_Wizard_1.3.0和Axis2_Service_Archiver_1.3.0直接放在该目录下,<br />然后删除configuration文件夹下的org.eclipse.update文件夹,<br />重启MyEclipse即可看到Axis2 Wizards!原创 2010-06-04 14:17:00 · 3691 阅读 · 16 评论 -
使用Axis2的底层API开发Web Service
本文是在理解官方指南的基础上,用实例实现Axis2提供的4种调用机制,并给出测试结果。1.使用Axis2的底层API开发Web Service Server端1.1创建一个WebService(取名为MyService) 在MyService中有两个operations,如下所示。public void ping(OMElement element){}//IN-ONLY模式。仅仅接收OMElement,并对其处理。public OMElement echo(OMElement转载 2010-06-07 10:26:00 · 1037 阅读 · 0 评论 -
基于Tomcat5.0和Axis2开发Web Service应用实例
本文将介绍如何使用Tomcat5.0和Apache Axis2开发、部署及测试一个简单的Web Service应用。1.工作环境Eclipse 3.1.2+Lomboz+jdk1.5+ apache-tomcat-5.0.18+AXIS2:1.0(war版本和bin版本)在[url]http://ws.apache.org/axis2/download/1_0/download.cgi[/url]页面下,下载AXIS2的Binary Distribution url: [url]http转载 2010-06-07 10:36:00 · 587 阅读 · 0 评论 -
基于Tomcat5.0和Axis2开发Web Service代码详解
1.HelloWorld做了些什么?HelloWorld功能非常简单,在客户端输入你的姓名,本例中为ZJ。参数传递到服务器端后,经过处理将返回name+"HelloWorld!",本例中为ZJ HelloWorld! 2.服务器端文件HelloWorld.javaHelloWorld.javapackage sample; import org.apache.axiom.om.OMAbstractFactory;import org.apache.axiom.om.OMElement;import or原创 2010-06-07 11:39:00 · 567 阅读 · 0 评论 -
An access occurred that is not valid(Axis2)
<br />[ERROR] An access occurred that is not valid.<br />java.lang.UnsupportedOperationException: An access occurred that is not valid.<br />这是因为调用的webservice方法没有返回值(void),<br />虽然无返回值的方法可以在services.xml文件中配置<br /><messageReceiver mep="http://www.w3.org/2原创 2010-08-11 11:40:00 · 1584 阅读 · 0 评论 -
org.apache.axis2.AxisFault: For input string:(Axis2)
<br />org.apache.axis2.AxisFault: For input string: "28808E.28808E"<br /><br /><br />org.apache.axis2.AxisFault: For input string: "28808E.28808E2"<br /> at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.j原创 2010-08-11 14:52:00 · 3567 阅读 · 0 评论 -
Illegal processing instruction target ("xml"); xml (case insensitive) is reserved by the specs.
<br />org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxParsingException: Illegal processing <br /><br />instruction target ("xml"); xml (case insensitive) is reserved by the specs.<br /> at [row,col {unknown-source}]: [1,150411]<br /> at org.a原创 2010-08-13 11:10:00 · 16751 阅读 · 7 评论 -
Axis2 错误:An error occurred while completing process -java.lang.reflect.InvocationTargetException
<br />在使用codegen插件来从WSDL文件生成代码时,到了最后一步出现"An error occurred while completing process -java.lang.reflect.InvocationTargetException"<br />错误,重试N次,结果依然,<br /><br />从AXIS2的LIB库中复制"geronimo-stax-api_1.0_spec-1.0.1.jar"和"backport-util-concurrent-3.1.jar"文原创 2010-08-19 10:43:00 · 2043 阅读 · 0 评论 -
如何使用xFire开发webService返回复杂对象List
<br />XFire开发时,在返回数据类型时遇到了一些麻烦,查到这样一篇文单,非常不错,故收藏之。<br />翻译: zilong3927 原文地址: http://docs.codehaus.org/display/XFIRE/Mapping+collections<br />调用 Web Services 时,经常需要返回集合( collection )作为结果,或者接受 collection 型的参数。 SOAP 本身就支持这一点。<br />但是这一机制的问题在于, java 语言的 colle转载 2010-08-19 13:27:00 · 4825 阅读 · 1 评论 -
webservice-XFire开发一个简单的web服务
<br />在这一节,你将了解到如何将一个普通的 java 文件转换为一个 web 服务, services.xml 文件是如何定义的,如何发布这个 web 服务、如何获得这个服务的 WSDL 、如何创建 Client 代码、如何测试这个 web 服务。<br />首先打开 Eclipse ,创建一个普通的 java 工程,将 xfire 所需的 jar 和 xfire 的 jar 加入到工程所需的类库引用中。创建一个简单的 java 文件,这个 java 文件简单到只提供一个 add 方法。<br /转载 2010-08-19 13:29:00 · 1308 阅读 · 0 评论 -
Axis2 错误:An error occurred while completing process -java.lang.reflect.InvocationTargetException
<br />在使用codegen插件来从WSDL文件生成代码时,到了最后一步出现"An error occurred while completing process -java.lang.reflect.InvocationTargetException"<br />错误,重试N次,结果依然,<br /><br />从AXIS2的LIB库中复制"geronimo-stax-api_1.0_spec-1.0.1.jar"和"backport-util-concurrent-3.1.jar"文原创 2010-08-19 11:31:00 · 1047 阅读 · 0 评论 -
web service获取客户端ip
/** * 获取客户端IP地址,如调用方的IP,以便检查权限。 * 适用于axis发布的webservice * @return */ public String getClientIpAxis() {转载 2011-09-26 09:56:54 · 144 阅读 · 0 评论