axis2学习笔计


Axis2: wsdl2java 参数注解

wsdl2java 用于根据WSDL生成相应的服务端和客户端代码的生成工具。

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

例:%AXIS2_HOME%binWSDL2Java –uri http://localhost:9090/ccc/NewWSDLFile.wsdl -p -s -o c:

(可以用myEclipce手动生成,这里不做多介绍)

其中常用的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类  

//生成war文件
jar cvf testWar.war *.jsp WEB-INF/ 

//生成aar文件    .表示本目录
jar cvf ws.aar .

//根据wsdl生成java文件
wsdl2java -uri http://localhost:8080/axis2/services/SerarchServices?wsdl -p client.crossDomain -s -o stub

wsdl2java -uri http://localhost:8080/axis2/services/loginServices2?wsdl -p client.crossDomain -s -o stub 

wsdl2java -uri  OtherService.wsdl -p client.crossDomain -s -o stubs 

//根据java生成wsdl文件(有点问题)
java2wsdl -cp . -cn com.Other -of OtherService.wsdl  

java2wsdl  -o . -of TestService.wsdl -sn TestService -cp . -cn com.Other 

Exception occurred while trying to invoke service method loginServices
服务器代码有问题,可以是某个实例化不正确,

axis2跨服务作用域的值
1.服务的scope必须是application
2.里面必须是ServiceGroupContext sgc=mc.getServiceGroupContext();



jar cvf logging.mar module
jar cvf service.arr .

axis直接在pojo发布webservice的问题
1.不能重载
2.不能有包名(就是写客户端调用服务端代码也调用不到方法重载)
3.描述不能出现中文(文件改utf-8格式)

 

 

cxf下这样,有些命令跟axis2下的不一样

wsdl2java -p cn.webservice -client http://localhost:8085/jbs/services/Voyage?wsdl

 

 

你可能感兴趣的:(axis2)