WSDL2Java操作攻略[转]ITeye - 威尼斯人

WSDL2Java操作攻略[转]ITeye

2019年02月23日08时26分35秒 | 作者: 昊硕 | 标签: 装备,数组,类型 | 浏览: 2893

1. 装置JDK1.5, 装备体系环境变量:
   下载装置JDK后, 设置环境变量:
   JAVA_HOME=C:\Program Files\Java\jdk1.5.0_02
   Path=%Path%;%JAVA_HOME%\bin(这儿的%Path%指你体系现已有的一系列装备)
   CLASSPATH=%JAVA_HOME%\lib 2. 下载axis, 装备体系环境变量:
   下载axis后,装备如下:
   AXIS_LIB=F:\Java\axis\axis-1_4\lib
   然后在CLASSPATH里增加axis的8个jar:
   CLASSPATH=%JAVA_HOME%\lib;
 %AXIS_LIB%\axis.jar;
 %AXIS_LIB%\axis-ant.jar;
 %AXIS_LIB%\commons-discovery-0.2.jar;
 %AXIS_LIB%\commons-logging-1.0.4.jar;
 %AXIS_LIB%\jaxrpc.jar;
 %AXIS_LIB%\log4j-1.2.8.jar;
 %AXIS_LIB%\saaj.jar;
 %AXIS_LIB%\wsdl4j-1.5.1.jar;
   
3. 增加附加的3个jar:
   自己去获取activation.jar, mail.jar, xerces.jar, 放到AXIS_LIB所指的目录下,
然后在CLASSPATH里增加:
   CLASSPATH=%JAVA_HOME%\lib;
 %AXIS_LIB%\axis.jar;
 %AXIS_LIB%\axis-ant.jar;
 %AXIS_LIB%\commons-discovery-0.2.jar;
 %AXIS_LIB%\commons-logging-1.0.4.jar;
 %AXIS_LIB%\jaxrpc.jar;
 %AXIS_LIB%\log4j-1.2.8.jar;
 %AXIS_LIB%\saaj.jar;
 %AXIS_LIB%\wsdl4j-1.5.1.jar;
 %AXIS_LIB%\activation.jar;
 %AXIS_LIB%\mail.jar;
 %AXIS_LIB%\xerces.jar 4. 获取或许自己编写wsdl文件 5. 生成webservice服务器端的代码:
   5.1 先看指令的协助, 在cmd.exe的提示符履行:java org.apache.axis.wsdl.WSDL2Java -h
       我能够看到许多选项,其间就有-s和-S
   5.2 履行WSDL2Java, 生成skeleton类:
       java org.apache.axis.wsdl.WSDL2Java -s -S true BluePower.wsdl
       将生成:  A skeleton class
                  An implementation template class
                  One deploy.wsdd file
                  One undeploy.wsdd file
   5.3 履行WSDL2Java, 不生成skeleton类:
       java org.apache.axis.wsdl.WSDL2Java -s BluePower.wsdl
       将生成:  
                  An implementation template class
                  One deploy.wsdd file
                  One undeploy.wsdd file
       (咱们发现少了一个A skeleton class)
   5.4 姓名解说:
   Skeleton class: 
      它是Axis engine 和 the actual service implementation 类之间的一个署理类。
       The skeleton contains an implementation of the AddressBook service. 
       This implementation is either passed into the skeleton on construction, 
       or an instance of the generated implementation is created.
       When the Axis engine calls the skeletons addEntry method, 
       it simply delegates the invocation to the real implementations addEntry method.
   Implementation Template class:
       它就是咱们的实践服务器端的完成代码,咱们要在不同的办法里写详细的完成处理。
       
6. 依据deploy.wsdd生成server-config.wsdd:
  这儿比较含糊,我暂时的办法是:
  先布置一个web服务器,如用resin,然后把第5步生成的类文件放到classes下(eclipse能够指定编译途径),
  把deploy.wsdd放到classes上一目录,也就是WEB-INF下,运转指令:
  java -cp %AXIS_CLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/test/services/MyServer deploy.wsdd
  若呈现: Admin Done processing /Admin 则成功,若呈现失利,则详细情况详细分析。
  成功后,当时目录就会生成server-config.wsdd文件。
  留意:为什么这儿用%AXIS_CLASSPATH%, 由于直接把这些jar装备在CLASSPATH里,调用log4j时有抵触。最好不要放到CLASSPATH
  
7. server-config.wsdd文件里的未处理的数组类型问题:
  若接口参数或回来值有数组,则会生成ArrayMapping的装备,而在resin下装备axis的servlet去装载,就是不可。
  暂时的处理办法是,把这些数组类型就声明为一般类型,就能装载了;客户端用数组类型拜访,服务器也能正常
  解析出来,回来给客户端的数组类型,客户端也能正常解析。
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表威尼斯人立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章