分享
 
 
 

AXIS实现web服务配置部署step by step

王朝java/jsp·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

AXIS实现web服务配置部署简要流程1:编写服务器端接口,并在<webapp>/WEB-INF/classes下编译。

javac –d . *.java

2:在%APP_HOME%/webapp/WEB-INF目录下创建server-config.wsdd(AXIS配置文件,所有web服务都要在该文件中注册)文件。形如:

<?xml version="1.0" encoding="UTF-8"?>

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

<globalConfiguration>

<parameter name="adminPassword" value="admin"/>

<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>

<parameter name="sendXsiTypes" value="true"/>

<parameter name="sendMultiRefs" value="true"/>

<parameter name="sendXMLDeclaration" value="true"/>

<parameter name="axis.sendMinimizedElements" value="true"/>

<requestFlow>

<handler type="java:org.apache.axis.handlers.JWSHandler">

<parameter name="scope" value="session"/>

</handler>

<handler type="java:org.apache.axis.handlers.JWSHandler">

<parameter name="scope" value="request"/>

<parameter name="extension" value=".jwr"/>

</handler>

</requestFlow>

</globalConfiguration>

<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>

<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>

<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>

<service name="login" provider="java:RPC">

<!-- 服务类名 -->

<parameter name="className" value="com.test.service.loginService"/>

<!-- 允许访问所有方法 -->

<parameter name="allowedMethods" value="*"/>

</service>

<transport name="http">

<requestFlow>

<handler type="URLMapper"/>

<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>

</requestFlow>

</transport>

<transport name="local">

<responseFlow>

<handler type="LocalResponder"/>

</responseFlow>

</transport>

</deployment>

注:server-config.wsdd文件也可以通过编写deploy.wsdd文件生成,具体方法为,在%APP_HOME%/webapp/WEB-INF目录下创建deploy.wsdd文件(SOAP发布描述文件),形如:

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

<service name="login" provider="java:RPC">

<parameter name="className" value="LoginService"/>

<parameter name="allowedMethods" value="*"/>

</service>

</deployment>

然后将相应服务器端class编译后在命令行输入:

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd

将在当前目录下生成server-config.wsdd文件。

完成以上操作后,可在浏览器中通过http://localhost:8080/axis/services/login?wsdl 访问该服务。

3:JAVA客户端实现:

可以通过AXIS中的org.apache.axis.wsdl.WSDL2Java类将已发布的web服务进行客户端实例化,具体命令为:在%APP_HOME%/webapp/WEB-INF目录下命令行输入:

Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java url[YiWang1]

命令执行后会在本地当前目录下生成以url为模版的package目录层次结构(如:local.axis.service.*),该目录中针对每个服务器端接口会自动生成4个本地类。

其中:

inferface LoginService在客户端本地定义服务器接口的映射。

interface LoginServiceService定义了用于获得web服务的getter方法。

class LoginServiceServiceLocator具体实现LoginServiceService接口,保存了服务器的url等相关信息。

class LoginSoapBindingStub 具体实现LoginService,负责服务器交互。

(部署了web服务之后,如果接口不变而url发生改变,可以直接在客户端更新LoginServiceServiceLocator中有关服务器地址的相关信息,或者用配置文件的形式修改)

编译以上几个类时需要axis.jar,jaxrpc.jar两个包,命令为:

javac -classpath lib\axis.jar;lib\jaxrpc.jar –d . *.java

编译成class后可以通过jar命令打包作为接口部署在客户端。

客户端测试例程:

如果通过java应用程序形式进行测试,命令为:

java -Djava.ext.dirs=lib -cp . package.class

[YiWang1]服务器通过Wsdl形式发布的web服务的完整url地址。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有