wsdl生成java命令

时间:2022-06-28 09:56:21
 

E:\ZL\资料\web service\axis2\axis2-1.1\axis2-1.1\bin

wsdl2java -uri D:\wsdl\Boss4IVRInterfaceService.wsdl -ss -sd -ssi -u -d xmlbeans -g -o D:\wsdl2java-axis2-1.1\

Using AXIS2_HOME:   E:\ZL\资料\web service\axis2\axis2-1.1\axis2-1.1
Using JAVA_HOME:    D:\jdk\jdk15\IBMJDK1.42\

Retrieving schema at './Boss4IVRInterfaceService.xsd', relative to 'file:/D:/wsdl/'.

2011-9-10 8:42:14 org.apache.axis2.xmlbeans.CodeGenerationUtility$Axis2EntityResolver resolveEntity
INFO: Resolving schema with publicId [null] and systemId [./Boss4IVRInterfaceService.xsd]

 

Axis2: wsdl2java 命令参数注解:
参数wsdl2java 用于根据WSDL生成相应的服务端和客户端代码的生成工具。
命令行格式为:WSDL2Java [options] -uri <url or path> : A url or path to a WSDL
  -uri 参数指定了wsdl文件的路径,可以是本地路径,也可以是网络路径> WSDL2Java -uri myService.wsdl
%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/myService?wsdl -p com.yongjie.ws.axis2.client -s -a -o D:\temp\
其中常用的options具体如下:
  -d <databinding>   指定databingding,例如,adb,xmlbean,jibx,jaxme and jaxbri> WSDL2Java -uri myService?wsdl -d xmlbeans
  -u                展开data-binding的类
  -r <path>    为代码生成指定一个repository
  -ssi              为服务端实现代码生成接口类
  -S     为生成的源码指定存储路径
  -R     为生成的resources指定存储路径
  -g      生成服务端和客户端的代码
  -a      生成异步模式的代码
  -s      生成同步模式的代码
  -t      为代码生成测试用例
  -p <pkg>    指定代码的package名称
  -o <path>  指定生成代码的输出路径
  -l  <languange>     使用的语言(Java/C) 默认是java
  -pn <port_name>  当WSDL中有多个port时,指定其中一个port
  -sn <serv_name>  选择WSDL中的一个service
  --noBuildXML   输出中不生成build.xml文件
  --noWSDL        在resources目录中不生成WSDL文件
  --noMessageReceiver  不生成MessageReceiver类  
  -scn     用已有的代码代替skeletons
  -ss       生成服务端代码 默认不生成
  -sd       生成服务端描述文件services.xml,仅与-ss一同使用
  -ns2p 将namespace进行替换,多个中间用逗号隔开
wsdl2java -uri myService?wsdl  -o D:\temp\ -ss -sd -g -p com.yongjie.ws.axis2.client  -ns2p "http://www.xxx.yyy.com/zzz/v1.0"=com.yongjie.ws,"http://www.xxx.yyy.com/ddd/v1.1"=com
 
Axis2 ant wsdl2java Example<build.xml>
<?xml version="1.0" ?>
<project name="antwsdl2java" default="gen" basedir=".">
     <path id="axis2.classpath">
         <fileset dir="%AXIS2_HOME%\lib\">
              <include name="**/*.jar" />
       </fileset>
    </path>
    <target name="gen">
          <taskdef name="axis2-wsdl2java" classname="org.apache.axis2.tool.ant.AntCodegenTask" classpathref="axis2.classpath" />
         <axis2-wsdl2java wsdlfilename="http://localhost:8080/axis2/services/HelloWorldService?wsdl" output="src/services" />
  </target>
 
   <taskdef resource="axis-tasks.properties" classpathref="tools.lib"/>

   <target name="java2wsdl">
        <axis-java2wsdl
            classname="com.newpalm.npscp.webservice.ivr.IBusinessIVR"
            location="${WEB_URL}/services/BusinessIVR"
            namespace="urn:ivr.npscp"
            output="BusinessIVR.wsdl"
            style="RPC">
        </axis-java2wsdl>
    </target>

    <target name="wsdl2java">
        <axis-wsdl2java all="true"
                     url="BusinessIVR.wsdl"
                     deployscope="Request"
                     serverside="true"
                     skeletondeploy="false"
                     testcase="true"
                     noimports="false"
                     typemappingversion="1.2">
            <mapping namespace="urn:ivr.npscp" package="com.newpalm.npscp.webservice.ivr"/>
        </axis-wsdl2java>
    </target>
</project>

 

NAME
       wsdl2java.sh or wsdl2java.bat - Generates java code according to a given WSDL file to handle Web service invocation.
       These scripts can be found under the bin directory of the Axis2 distribution.

SYNOPSIS
       wsdl2java.sh [OPTION]... -uri <Location of WSDL>

DESCRIPTION
       Given a WSDL file, this generates java code to handle Web service invocations.

      -o <path>          Specify a directory path for the generated code.
      -a                       Generate async style code only (Default: off).
      -s                       Generate sync style code only (Default: off). Takes precedence over -a.
      -p <pkg1>          Specify a custom package name for the generated code.
      -l <language>      Valid languages are java and c (Default: java).
      -t                       Generate a test case for the generated code.
      -ss                      Generate server side code (i.e. skeletons) (Default: off).
      -sd                      Generate service descriptor (i.e. services.xml). (Default: off). Valid with -ss.
      -d <databinding>   Valid databinding(s) are adb, xmlbeans, jibx and jaxbri (Default: adb).
      -g                       Generates all the classes. Valid only with -ss.
      -pn <port_name>    Choose a specific port when there are multiple ports in the wsdl.
      -sn <service_name> Choose a specific service when there are multiple services in the wsdl.
      -u                       Unpacks the databinding classes
      -r <path>          Specify a repository against which code is generated.
      -ns2p ns1=pkg1,ns2=pkg2  Specify a custom package name for each namespace specified in the wsdls schema.
      -ssi                     Generate an interface for the service implementation (Default: off).
      -wv <version>      WSDL Version. Valid Options : 2, 2.0, 1.1
      -S                       Specify a directory path for generated source
      -R                       Specify a directory path for generated resources
      -em                      Specify an external mapping file
      -f                       Flattens the generated files
      -uw                      Switch on un-wrapping.
      -xsdconfig <file path>   Use XMLBeans .xsdconfig file. Valid only with -d xmlbeans.
      -ap                      Generate code for all ports
      -or                      Overwrite the existing classes
      -b                       Generate Axis 1.x backword compatible code.
      -sp                      Suppress namespace prefixes (Optimzation that reduces size of soap request/response)
      -E<key> <value>          Extra configuration options specific to certain databindings. Examples:
                               -Ebindingfile <path>                   (for jibx) - specify the file path for the binding file
                               -Etypesystemname <my_type_system_name> (for xmlbeans) - override the randomly generated type system name
                               -Ejavaversion 1.5                      (for xmlbeans) - generates Java 1.5 code (typed lists instead of arrays)
                               -Emp <package name> (for ADB) - extension mapper package name
                               -Eosv (for ADB) - turn off strict validation.
                               -Ewdc (for xmlbeans) - Generate code with a dummy schema. if someone use this option
                                  they have to generate the xmlbeans code seperately with the scomp command comes with the
                                  xmlbeans distribution and replace the Axis2 generated classes with correct classes
      --noBuildXML             Dont generate the build.xml in the output directory
      --noWSDL                 Dont generate WSDLs in the resources directory
      --noMessageReceiver      Dont generate a MessageReceiver in the generated sources
      --http-proxy-host        Proxy host address if you are behind a firewall
      --http-proxy-port        Proxy prot address if you are behind a firewall
      -ep                      Exclude packages - these packages are deleted after codegeneration
   
EXAMPLES
       wsdl2java.sh -uri ../samples/wsdl/Axis2SampleDocLit.wsdl
       wsdl2java.sh -uri ../samples/wsdl/Axis2SampleDocLit.wsdl -ss -sd
       wsdl2java.sh -uri ../samples/wsdl/Axis2SampleDocLit.wsdl -ss -sd -d xmlbeans -o ../samples -p org.apache.axis2.userguide