摘要:
关于这个问题网上有很多解决方法,关键是AxisServlet在getSoapAction这个方法有点问题。解决方法就是集成这个AxisServlet然后重写getSoapAction方法。代码片段:[代码] 然后在web.xml中配置你继承的AxisServlet,就不再是原来的AxisServlet了。 阅读全文
摘要:
至此,axis的WebService的技术指南,基本就这么多内容。由于时间的仓促和个人的原因等诸多方面的因素,难免使得这篇文档存在些错误。但这篇文档上的代码都是经过运行测试通过的。要感谢广大IT朋友的无私奉献,使得这篇文档的出现。本人在学习axis的时候参阅了大量来自互联网的技术文章,以及官方的文档。参考文档:http://ws.apache.org/axis/java/user-guide.html如果你发现这篇文档有什么问题,或是对这篇文档有更好的内容补充你可以发邮件到我的邮箱或是用QQ取得联系,也欢迎去我的博客留言,也欢迎大家一起交流探讨。Email:hoojo_@126.comBlog 阅读全文
摘要:
Axis中操作Header的信息是通过Handler来完成的,在读取Header的信息的时候,可以完成Header的操作的Handler有JWSHandler、SOAPMonitorHandler、JAXRPCHandler。JWSHandler是完成jws发布模式的WebService的Header的读取操作,SOAPMonitorHandler是完成SOAPMonitor模式的,JAXRPCHandler是java rpc模式的。下面将会用JAXRPCHandler读取客户端的Header信息,然后用BasicHandler将客户端请求的Header写入客户端的响应的Header中。1、 阅读全文
摘要:
1、 用Axis提供的WSDL2java工具类生成代码,命令如下:C:\SoftWare\tomcat-5.0.28\tomcat-5.0.28\webapps\AxisWebService\WEB-INFjava -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java -s http://localhost:8080/AxisWebService/services/HelloWorldWSDD?wsdl –o c:\-s 是设置wsdl的路径url和是当前物理硬盘上的wsdl文件(可以将页面上的wsdl的xml文件另存为一份试试,也是可以的)- 阅读全文
摘要:
上面我们在发布wsdd服务的时候都会在dos窗口写上一段命令,下面还介绍下其他的几个命令:A、 AdminClient命令java org.apache.axis.client.AdminClient c:/deploy.wsdd这样就可以用AdminClient发布一个WebService了,如果你对AdminClient的参数信息不是很了解输入:java org.apache.axis.client.AdminClient就可以查看帮助了。Usage: AdminClient [Options] [list | deployment-descriptor-files]Processes 阅读全文
摘要:
在数据传递和远程调用过程中,有时候调用者传递错误的数据和是调用的方法错误。那我们怎样处理这个错误?方法有很多,这里介绍下用异常处理远程调用的错误方法。1、编写服务器端的异常类,在远处调用中(WebService)异常类继承RemoteException,记得要序列化下,代码如下:代码2、编写客户端的异常信息类,和前面远程传递对象一样。因为我们并不知道服务器端的异常信息类代码,但是通过wsdl的xml文件的描述我们可以知道远程异常类的基本信息:方法、方法参数、返回值等信息,下面是客户端的异常信息类代码:代码内容几乎一样,就是类名称不同。3、编写触发异常的WebService服务器端代码代码4、定 阅读全文
摘要:
和先前写的web service几乎一样,不同的是这里写的WebService要实现接口,而我们实现的接口要继承rmi的Remote接口才行。1、RMI接口,很简单的2个方法,继承Remote接口代码2、实现上面的接口代码3、定制wsdd发布服务代码4、命令行发布服务java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/AxisWebService/services/AdminService deployRMI.wsdd在浏览器中输入:http://localhost:8080/A 阅读全文
摘要:
Chain是一个链,是Handler的链。也就是说一次请求可能要执行多个Handler。1、下面我们就编写一个Handler,让它用chain的方法执行。代码上面的HandlerChain继承了SimpleChain,在构造器中创建了RequestHandler、ResponseHandler,然后用addHandler添加到chain的handler中。特别说明下,这里的chain其实也是一个handler,为什么这样说?我们继承的SimpleChain就继承了BsaicHandler这个抽象类,所以chain也是一个handler。有人想既然是handler那它的配置也应该和handler 阅读全文
摘要:
Axis中有一个basicHandler的抽象类,这个类可以供我们继承。可以完成很多复杂的功能,如:统计当前服务被调用的次数、验证服务调用信息等待1、下面我们继承这个类,完成统计服务调用次数的功能;RequestHandler代码如下:代码BasicHandler是一个抽象类,继承这个类需要实现invoke签名方法,上面的代码很简单,就是一个累加统计,MessageContext是当前WebService的一个上下文,可以得到当前服务的公共信息和请求信息。这里的this.getOption("state");是和wsdd中的parameter对应的。2、编写wsdd文件,加入RequestHa 阅读全文
摘要:
首先,取消发布也需要定制wsdd文件,undeploy.wsdd具体格式如下:[代码]同样,像上面发布WebService一样,用命令完成。命令如下:java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/AxisWebService/services/AdminService undeploy.wsdd键入命令后,回车看到:Processing file undeploy.wsddAdminDone processing/Admin就代表你取消服务成功了,那样别人就不能访问 阅读全文
摘要:
wsdd方法比jws方法要稍微复杂些,但一定程度上比jws发布的方法要灵活。1、首先在AxisWebService工程创建一个java类,里面写简单的2个方法getName、getAge,代码如下:代码2、如果用wsdd方法首先需要定制我们的wsdd xml文件,这里命名为deploy.wsdd,创建在当前web工程的WEB-INF目录下,代码如下:代码service标签代表一个WebService服务,HelloWorldWSDD就是当前WebService的名称;provider是java的WebService类型,分别有: RPC、Document、Wrapped、Message、EJB 阅读全文
摘要:
1、在官方网站下载axis的工程(这个等下就有用的)和源码、jar包等,下载地址是:http://labs.renren.com/apache-mirror//ws/axis/1_4/2、解压下载的工程或源码(两个中任意一个都可以),解压axis-bin-1.4可以看到大致目录是这样的:docs是文档、lib是jar包、sample是示例、xmls是当前工程所需的xml、webapps是当前工程的webroot目录;我们打开webapps目录就可以看到一个axis的文件夹,这个文件夹里面有WEB-INF文件夹和一些页面,将axis复制到你的tomcat的webapps目录下。然后启动tomca 阅读全文
摘要:
Axis1.x WebService开发指南
Axis的简单入门实例
Axis的jws发布WebService
Axis的wsdd模式发布WebService
Axis中传递复杂对象和内部类
Axis中的handler、chain的特性
Axis中处理异常信息
Axis中传递文件信息
Axis常用命令介绍
Axis 提供的工具和调试
Axis 的wsdl生成代码
Axis的Header信息操作
.Net调用Axis出现的问题 阅读全文
摘要:
Axis1.x WebService开发指南—目录索引 阅读全文