首页 > 代码库 > axis2开发webservice总结

axis2开发webservice总结

需求环境:对接方公司提供wsdl文件,我方按照该wsdl文件开发服务端。

  1. 配置axis2开发环境,网上教程很多,不再啰嗦。环境搭好后执行wsdl2java -uri file:///C:/Users/lenovo/Desktop/ws/jc/UtcsService.wsdl -s -ss -ap -sd -ssi -d adb -o build\server1

命令行格式为:wsdl2java [options] -uri <url or path> : A url or path to a WSDL

其中常用的options具体如下:

-o <path> 指定生成代码的输出路径
-a 生成异步模式的代码
-s 生成同步模式的代码
-p <pkg> 指定代码的package名称
-l <languange> 使用的语言(Java/C) 默认是java
-t 为代码生成测试用例
-ss 生成服务端代码默认不生成
-sd 生成服务描述文件 services.xml,仅与-ss一同使用
-d <databinding> 指定databingding,例如,adb,xmlbean,jibx,jaxme and jaxbri
-g 生成服务端和客户端的代码
-pn <port_name> 当WSDL中有多个port时,指定其中一个port
-sn <serv_name> 选择WSDL中的一个service
-u 展开data-binding的类
-r <path> 为代码生成指定一个repository
-ssi 为服务端实现代码生成接口类
-S 为生成的源码指定存储路径
-R 为生成的resources指定存储路径
--noBuildXML 输出中不生成build.xml文件
--noWSDL 在resources目录中不生成WSDL文件
--noMessageReceiver 不生成MessageReceiver类

 

 

 

-o <path> 为生成的代码指定一个保存路径.Specify a directory path for the generated code.
-a 生成异步代码 (默认关闭).Generate async style code only (Default: off)
-s 生成同步代码 (默认关闭). 优先权高于选项 -a. Generate sync style code only (Default: off). Takes precedence over -a.
-p <pkg1> 为生成的代码指定一个包名称.Specify a custom package name for the generated code.
-l <language> 生成的代码的语言类型,目前只支持java和c (默认java) .Valid languages are java and c (Default: java).
-t 为生产的代码产生测试代码.Generate a test case for the generated code.
-ss 生成服务端代码 (i.e. skeletons) (默认关闭.Generate server side code (i.e. skeletons) (Default: off).
-sd 生成服务端descriptor (i.e. services.xml). (默认关闭). 当使用 -ss选项的时候才有效.Generate service descriptor (i.e. services.xml). (Default: off). Valid with -ss.
-d <databinding> 数据绑定模式,可选 adb, xmlbeans, jibx 和 jaxbri (默认adb).Valid databinding(s) are adb, xmlbeans, jibx and jaxbri (Default: adb).
-g 生成所有类,与-ss使用时有效.Generates all the classes. Valid only with -ss.
-pn <port_name> 当wsdl描述中式多个端口时指定一个端口Choose a specific port when there are multiple ports in the wsdl.
-sn <service_name> 当wsdl是多服务的情况下指定一个服务名称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 为wsdl里的每个schema 指定一个namespace,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版本 可选 : 2, 2.0, 1.1 ,WSDL Version. Valid Options : 2, 2.0, 1.1
-S <path> 为生成的源文件指定目录Specify a directory path for generated source
-R <path> 为生成的资源指定目录Specify a directory path for generated resources
-em <file path> 指定外部的映射文件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 生成兼容axis1 的代码Generate Axis 1.x backward 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 <host> Proxy host address if you are behind a firewall
--http-proxy-port <port> Proxy port address if you are behind a firewall
-ep <package-name-list> Exclude packages - these packages are deleted after code generation
-sin <interface-name> Skeleton interface name - used to specify a name for skeleton interface other than the default one
-scn <class-name> Skeleton class name - used to specify a name for skeleton class other than the default one
-EbindingFileName <path> (for jaxbri) - specify the file path for the episode file
-oaa <override-absolute-address> -change the absolute http addresses to local file addresses generated by wsdl2java tool
-ebc <exception-base-class> -generated Exceptions are inherited from this exception rather than the java.lang.Exception class
-uon <use-operation-name> -by default the first letter of the generated method name changeed to lowercase. This option stops that and make it same as operation name

 主要是记录java代码打包发布到tomcat里,利用wsdl2java生成的src文件和resource文件,打包就是将resource文件里的service.xml放进src文件夹下,新建的META-INF文件下,然后将src文件打成jar包或arr包,放进D:\app\apache-tomcat-8.5.3\webapps\axis2\WEB-INF\services文件夹下

技术分享

这个就是打成的jar包

axis2开发webservice总结