axis-bin-1.4 根据wsdl生成客户端和服务端代码
1.wsdl to java
在Eclipse里面新建一个Java工程,导入axis-bin-1.4/ lib下面的jar包,在Eclipse中展开axis.jar。
找到 org.apache.axis.wsdl WSDL2Java.class 我们可以找里面有个main方法,右击main方法,
Run As--Run Configurations. 双击Java Application ,右击New。由下图我们可以知道
Name : 自己可以取个
Project:工程名
Main class:勾选Include system libraries when searching for a main class. 点击Search, 输入WSDL2Java就可以找到org.apache.axis.wsdl.WSDL2Java.class里面的main方法入口。
点击Run,在控制台输出
The wsdl URI was not specified.
Usage: java org.apache.axis.wsdl.WSDL2Java [options] WSDL-URI
Options:
-h,--help
print this message and exit
-v,--verbose
print informational messages
-n,--noImports
only generate code for the immediate WSDL document
-O,--timeout <argument>
timeout in seconds (default is 45,specify -1 to disable)
-D,--Debug
print debug information
-W,--Nowrapped
turn off support for "wrapped" document/literal
-q,--quiet
do not print any informational or debug messages (except err
ors)
-s,--server-side
emit server-side bindings for web service
-S,--skeletonDeploy <argument>
deploy skeleton (true) or implementation (false) in deploy.w
sdd. Default is false. Assumes --server-side.
-N,--NStoPkg <argument>=<value>
mapping of namespace to package
-f,--fileNStoPkg <argument>
file of NStoPkg mappings (default NStoPkg.properties)
-p,--package <argument>
override all namespace to package mappings,use this package
name instead
-o,--output <argument>
output directory for emitted files
-d,--deployScope <argument>
add scope to deploy.wsdd: "Application","Request","Session
"
-t,--testCase
emit junit testcase class for web service
-a,--all
generate code for all elements,even unreferenced ones
-T,--typeMappingVersion <argument>
indicate 1.1 or 1.2. The default is 1.1 (SOAP 1.1 JAX-RPC c
ompliant. 1.2 indicates SOAP 1.1 encoded.)
-F,--factory <argument>
name of a custom class that implements GeneratorFactory inte
rface (for extending Java generation functions)
-H,--helperGen
emits separate Helper classes for Meta data
-B,--buildFile
emit Ant Buildfile for web service
-U,--user <argument>
username to access the WSDL-URI
-P,--password <argument>
password to access the WSDL-URI
-X,--classpath
additional classpath elements
-i,--nsInclude <argument>
include namespace in generated code
-x,--nsExclude <argument>
exclude namespace from generated code
-c,--implementationClassName <argument>
custom name of web service implementation
-u,--allowInvalidURL
emit file even if WSDL endpoint URL is not a valid URL
-w,--wrapArrays
Prefers building beans to straight arrays for wrapped XML ar
ray types (defaults to off).
Usage: java org.apache.axis.wsdl.WSDL2Java [options] WSDL-URI
Options:
-h,--help
print this message and exit
-v,--verbose
print informational messages
-n,--noImports
only generate code for the immediate WSDL document
-O,--timeout <argument>
timeout in seconds (default is 45,specify -1 to disable)
-D,--Debug
print debug information
-W,--Nowrapped
turn off support for "wrapped" document/literal
-q,--quiet
do not print any informational or debug messages (except err
ors)
-s,--server-side
emit server-side bindings for web service
-S,--skeletonDeploy <argument>
deploy skeleton (true) or implementation (false) in deploy.w
sdd. Default is false. Assumes --server-side.
-N,--NStoPkg <argument>=<value>
mapping of namespace to package
-f,--fileNStoPkg <argument>
file of NStoPkg mappings (default NStoPkg.properties)
-p,--package <argument>
override all namespace to package mappings,use this package
name instead
-o,--output <argument>
output directory for emitted files
-d,--deployScope <argument>
add scope to deploy.wsdd: "Application","Request","Session
"
-t,--testCase
emit junit testcase class for web service
-a,--all
generate code for all elements,even unreferenced ones
-T,--typeMappingVersion <argument>
indicate 1.1 or 1.2. The default is 1.1 (SOAP 1.1 JAX-RPC c
ompliant. 1.2 indicates SOAP 1.1 encoded.)
-F,--factory <argument>
name of a custom class that implements GeneratorFactory inte
rface (for extending Java generation functions)
-H,--helperGen
emits separate Helper classes for Meta data
-B,--buildFile
emit Ant Buildfile for web service
-U,--user <argument>
username to access the WSDL-URI
-P,--password <argument>
password to access the WSDL-URI
-X,--classpath
additional classpath elements
-i,--nsInclude <argument>
include namespace in generated code
-x,--nsExclude <argument>
exclude namespace from generated code
-c,--implementationClassName <argument>
custom name of web service implementation
-u,--allowInvalidURL
emit file even if WSDL endpoint URL is not a valid URL
-w,--wrapArrays
Prefers building beans to straight arrays for wrapped XML ar
ray types (defaults to off).
这些参数介绍因版本不同可能不能。所以我们可以看看。到了这一步就是写参数的问题了
-u 我们wsdl地址,可以是本地的,也可以是网络的
-o 输入路径,如c:/ws/src
-p 报名,如com.ws
如:客户端:-u http:/localhost:8080/RequestNotice.asmx?WSDL -o c:/WS/source
服务端 -u http:/localhost:8080/RequestNotice.asmx?WSDL -s -o c:/WS/source
了解这些参数之后,点击Arguments,在Program arguments里面输入。点击Run. 如下图