您的位置:首页 > 编程语言 > Java开发

wsdl生成java命令

2011-10-22 14:06 288 查看
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 J***A_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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: