axis1由wsdl生成客户端和服务端1

来源:互联网 发布:sony smartband 知乎 编辑:程序博客网 时间:2024/06/01 09:47

       axis1 与axis2差异很大,axis2比axis1要简单, 但在实际开发中使用axis1情况比较多。

       下载 axis1.4包 , 将jar包和web.xml添加项目中

1.由wsdl文件生成服务端文件和deploy.wsdd文件(将wsdl和生成deploy.wsdd文件放到WEB-INF中, 新建bat文件也放到这里执行): 

注意:bat文件中   ::  表示注释代码 ,     pause>nul   表示 点击确定退出cmd窗口

set AXIS_HOME=E:\axis-1.4-src\webapps\axis\WEB-INFset CLASSPATH=,;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar;%AXIS_HOME%\lib\mail.jar;set Java_Cmd=java -Djava.ext.dirs=%AXIS_HOME% org.apache.axis.wsdl.WSDL2Java  set Output_Path=E:\axis-1.4-src\webapps\axis\WEB-INF\out %Java_Cmd% -o%Output_Path% --server-side Vaaa.wsdl  pause>nul

2.由wsdl文件生成客户端:

set AXIS_HOME=E:\axis-1.4-src\webapps\axis\WEB-INFset CLASSPATH=,;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar;%AXIS_HOME%\lib\mail.jar;::java org.apache.axis.wsdl.WSDL2Java -p com.bj.cilent bj.wsdl     -o Client -d Session -S truejava org.apache.axis.wsdl.WSDL2Java   -p com.bj.cilent  http://192.168.252.1:9001/WWS/services/BJ_Service?wsdl    


3.运行weblogic  由deploy.wsdd生成 server-config.wsdd 发布文件

set AXIS_HOME=E:\axis-1.4-src\webapps\axis\WEB-INFset CLASSPATH=,;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar;%AXIS_HOME%\lib\mail.jar;set Java_Cmd=java -Djava.ext.dirs=%AXIS_HOME% org.apache.axis.client.AdminClient %Java_Cmd% -lhttp://192.168.252.1:9001/bjca/services/AxisServlet deploy.wsdd pause>nul


wsdl也就是双方约定webservice描述文件, 下面是由第一步生成的文件。

<deployment    xmlns="http://xml.apache.org/axis/wsdd/"    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">  <service name="SyncSP" provider="java:RPC" style="rpc" use="encoded">      <parameter name="wsdlTargetNamespace" value="http://soap.bossagent.vac.icom.com"/>      <parameter name="wsdlServiceElement" value="SyncSPServiceService"/>      <parameter name="schemaUnqualified" value="http://rsp.sync.soap.bossagent.vac.icom.com,http://req.sync.soap.bossagent.ac.icom.com"/>      <parameter name="wsdlServicePort" value="SyncSP"/      <parameter name="className" value="com.icom.ac.bossagent.soap.SyncSPSoapBindingImpl"/>      <parameter name="wsdlPortType" value="SyncSPService"/>      <parameter name="typeMappingVersion" value="1.2"/>      <operation name="orderRelationUpdateNotify" qname="operNS:orderRelationUpdateNotify" xmlns:operNS="http://soap.bossagent.ac.icom.com" returnQName="orderRelationUpdateNotifyReturn" returnType="rtns:OrderRelationUpdateNotifyResponse" xmlns:rtns="http://rsp.sync.soap.bossagent.ac.icom.com" >        <parameter qname="orderRelationUpdateNotifyRequest" type="tns:OrderRelationUpdateNotifyRequest" xmlns:tns="http://req.sync.soap.bossagent.ac.icom.com"/>      </operation>      <parameter name="allowedMethods" value="orderRelationUpdateNotify"/>      <typeMapping        xmlns:ns="http://rsp.sync.soap.bossagent.ac.icom.com"        qname="ns:OrderRelationUpdateNotifyResponse"        type="java:com.icom.ac.bossagent.soap.sync.rsp.OrderRelationUpdateNotifyResponse"        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"      />      <typeMapping        xmlns:ns="http://req.sync.soap.bossagent.ac.icom.com"        qname="ns:OrderRelationUpdateNotifyRequest"        type="java:com.icom.ac.bossagent.soap.sync.req.OrderRelationUpdateNotifyRequest"        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"      />  </service></deployment>


   4.新建服务类, 和deploy.wsdd 文件 ,然后生成 server-config.wsdd文件,deploy.wsdd 文件,不用像上面生成那样复杂。

文件deploy.wsdd <deployment xmlns="http://xml.apache.org/axis/wsdd/"xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"><service name="Capacity" provider="java:RPC"><parameter name="className" value="samples.capacity.Capacity"/><parameter name="allowedMethods" value="*"/></service></deployment>







1 0
原创粉丝点击