下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Axis开发WebService应用小结1. 开发环境准备使用软件版本:,Weblogic8.1,axis1.4,Eclipse3.2。JDK、Weblogic、Eclipse3.2准备过程略。下载axis1.4bin.zip,解压后将lib文件夹中的jar包拷贝至/web-inf/lib目录中,还需要包括activation.jar和mail.jar,分别下载和,axis需要用到这2个jar中的类。如图:2. Axis配置新建Web Project,在web.xml文件中添加如下配置加入axis:<!- 添加Axis1.4Servlet -><servlet> <
2、;servlet-name>AxisServlet</servlet-name> <servlet-class></servlet-class> <load-on-startup>2</load-on-startup> </servlet><!- Axis1.4的发布路径 -><servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-
3、pattern></servlet-mapping> 在/web-inf/目录下添加webServices.xml(可以指定其他目录,该文件为Axis与Spring集成所需要的文件,为spring的bean配置文件),在web.xml文件中加入以下配置将该文件加入到工程中去:<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/webServices.xml</param-value></contex
4、t-param>以上两个配置可以在已经存在的web project中添加,加入以上配置后就可以使用Axis开发WebServices程序了。3. Axis服务端开发为WebServices服务编写接口类及其实现类,样例接口类如下:public interface ISayHello public String sayHello(String name);public class SayHelloWebService implements ISayHello public String sayHello(String name)String rs = " Hello my fri
5、end "+name+" ! " System.out.println();return rs;在/web-inf/目录下新建server-config.wsdd文件部署WebServices服务:<deployment xmlns="/axis/wsdd/" xmlns:java="/axis/wsdd/providers/java"><handler name="LocalResponder" type=
6、"java:org.apache.axis.transport.local.LocalResponder"/><handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/><service name="SayHello" provider="java:RPC"><parameter name="wsdlTargetNamespace" value
7、="urn:soap.axisspring"/><parameter name="className" value="com.tfhz.szds.webservice.test.SayHelloWebService" /><parameter name="allowedMethods" value="*" /></service><transport name="http"> <requestFlow> <
8、;handler type="URLMapper"/> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> </requestFlow><parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/> <parameter name="qs:wsdl" value=&q
9、uot;org.apache.axis.transport.http.QSWSDLHandler"/> <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/></transport> <transport name="local"> <responseFlow> <handler type="LocalResponder"/>
10、</responseFlow> </transport></deployment>其中红字的部分是WebServices服务的配置部分,该文档解释如下:a. deployment为文档根节点,必须包括该节点,其中后面的属性不能更改。b. 配置handler节点,使用handler可以实现类似filter的功能,此处用到URLMapper和LocalResponder两个handlerc. 每个WebServices服务都需要配置一个Service节点,name属性配置服务名称,provider属性配置服务访问方式,本例中是采用RPC方式;子节点paramet
11、er配置service的参数,参数wsdlTargetNamespace配置名称空间,参数className配置实现服务类,参数allowedMethods表示那些方法是WebServices服务可以调用的方法,“*”表示所有方法,可以配置多个方法,用“,”分隔。Service可以通过增加requestFlow节点引用某个handler,在service执行之前会先执行handler的invoke方法,可以通过handler实现一些数据验证或者访问合法性的校验。d. Transport节点定义了服务端的传输方式,本例中定义了两个transport,http和local。4. Axis客户端开发
12、public class WebServiceClientTest public static void main(String args) try /WebService服务地址String nameSpaceUrl = "18:7001/WebRoot/services/SayHello"/开始创建调用对象Service service = new Service();Call call = null;call = (Call)service.createCall();/* * 开始调用SayHello服务 */WebServicee
13、服务调用地址call.setTargetEndpointAddress(new .URL(nameSpaceUrl);/WebServicee服务调用方法名称call.setOperationName("sayHello");/WebServicee服务调用方法参数call.addParameter("name", XMLType.XSD_STRING, ParameterMode.IN);/WebServicee服务调用方法返回值类型call.setReturnType(XMLType.XSD_STRING);String reString = (St
14、ring)call.invoke(new Object"liwei");System.out.println(" WebService 服务调用成功 result= "+reString); catch (Exception e) e.printStackTrace();构造如上代码,运行main方法console中打印出: WebService 服务调用成功 result= Hello my friend liwei !Here is WebService .注意:根据以上步骤开发webservice,运行客户端时可能会报以下错误:以下是从网上找到的解
15、决办法:How to resolve:WebLogic 8.1WebLogic 8.1 ships with webservices.jar that conflicts with Axis' saaj.jar and prevents Axis 1.2 from working right out of the box. This conflict exists because WebLogic uses an older definition of javax.xml.soap.* package from Java Web Services Developer Pack Vers
16、ion 1.0, whereas Axis uses a newer revision from J2EE 1.4.However, there are two alternative configuration changes that enable Axis based web services to run on Weblogic 8.1.* In a webapp containing Axis, set <prefer-web-inf-classes> element in WEB-INF/weblogic.xml to true. An example of weblo
17、gic.xml is shown below:<weblogic-web-app><container-descriptor><prefer-web-inf-classes>true</prefer-web-inf-classes></container-descriptor></weblogic-web-app>If set to true, the <prefer-web-inf-classes> element will force WebLogic's classloader to load classes located in the WEB-INF directory of a web application in pref
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度绿色交通合伙清算合作协议3篇
- 二零二五年度全款购房合同:房地产项目投资并购及整合协议3篇
- 2025年度农业现代化贷款担保协议3篇
- 2025年度全新官方版二零二五年度离婚协议书与子女监护权协议3篇
- 二零二五年度知识产权侵权律师费协议3篇
- 二零二五年度农村土地占用与农村文化传承合同协议
- 2025年度航空航天公司干股分红与飞行器研发合作协议3篇
- 二零二五年度卫浴安装与智能家居系统集成与优化服务协议3篇
- 二零二五年度太阳能电池板加工服务合同3篇
- 二零二五年度物联网解决方案公司转让合同3篇
- GB/T 44949-2024智能热冲压成形生产线
- 阜阳市重点中学2025届高考数学全真模拟密押卷含解析
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传海报
- 2024-2025学年统编版七年级语文上学期期末真题复习 专题01 古诗文名篇名句默写
- 2024-2030年中国企业大学建设行业转型升级模式及投资规划分析报告
- 医院培训课件:《病历书写基本规范(医疗核心制度)》
- 2024年“中银杯”安徽省职业院校技能大赛(高职组)花艺赛项竞赛规程
- 部队年度安全规划方案
- 2024-2025学年七年级上学期历史观点及论述题总结(统编版)
- 2024年市特殊教育学校工作总结范文(2篇)
- 【MOOC】创新思维与创业实验-东南大学 中国大学慕课MOOC答案
评论
0/150
提交评论