先看看下面的wsdl片段:
<complexType name="OrderRelationUpdateNotifyRequest">
<sequence>
<element name="recordSequenceId" nillable="true" type="soapenc:string"/>
<element name="userIdType" nillable="true" type="soapenc:int"/>
<element name="userId" nillable="true" type="soapenc:string"/>
<element name="serviceType" nillable="true" type="soapenc:string"/>
<element name="spId" nillable="true" type="soapenc:string"/>
<element name="productId" nillable="true" type="soapenc:string"/>
<element name="updateType" nillable="true" type="soapenc:int"/>
<element name="updateTime" nillable="true" type="soapenc:string"/>
<element name="updateDesc" nillable="true" type="soapenc:string"/>
<element name="linkId" nillable="true" type="soapenc:string"/>
<element name="content" nillable="true" type="soapenc:string"/>
<element name="effectiveDate" nillable="true" type="soapenc:string"/>
<element name="expireDate" nillable="true" type="soapenc:string"/>
<element name="time_stamp" nillable="true" type="soapenc:string"/>
<element name="encodeStr" nillable="true" type="soapenc:string"/>
</sequence>
</complexType>
看到没,里面有很多soapenc:string和soapenc:int类型的元素,开始没太注意。后来发现用wsdl2java生成的代码,都不是java.lang.String类型或int类型的。axis2对其加了一层壳。
比如上面的userId元素,如何在服务端获取呢?
org.apache.axis2.databinding.types.soapencoding.String UserId0 = req.getUserId();
String UserId = UserId0 != null ? UserId0.getString() : null;
log.debug("handle UserId=" + UserId);
又比如上面的updateType元素,在服务端这样获取:
org.apache.axis2.databinding.types.soapencoding._int UpdateType0 = req.getUpdateType();
Integer UpdateType = UpdateType0 != null ? UpdateType0.get_int() : null;
log.debug("handle UpdateType=" + UpdateType);
像这样的类型,在设置的时候也需要手动加壳,举两个例子:
static org.apache.axis2.databinding.types.soapencoding.String toSoapString(String str) {
org.apache.axis2.databinding.types.soapencoding.String enc = new org.apache.axis2.databinding.types.soapencoding.String();
enc.setString(str);
return enc;
}
static org.apache.axis2.databinding.types.soapencoding._int toSoapInt(int val) {
org.apache.axis2.databinding.types.soapencoding._int enc = new org.apache.axis2.databinding.types.soapencoding._int();
enc.set_int(val);
return enc;
}
使用起来是这样的:
rsp.setUserId(toSoapString("1234"));
rsp.setUpdateType(toSoapInt(1234));
分享到:
相关推荐
做WebService开发时必须了解的文件,文档详细讲解了WSDL的构成以及各部分的作用和配置方法。初学者值得一看,大牛的随身资料……
赠送jar包:wsdl4j-1.6.3.jar; 赠送原API文档:wsdl4j-1.6.3-javadoc.jar; 赠送源代码:wsdl4j-1.6.3-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
WSDL文件出错???????
wsdl2java源码gradle-wsdl2java Gradle 插件采用 WSDL 文档并生成完全注释的 Java 代码,从中实现服务 ##用法 将以下内容添加到您的构建文件以设置应从何处下载插件: buildscript { repositories { mavenLocal() ...
PHP WSDL创建器支持的... WSDL Creator 2 PHP 7.1,PHP 7.2,PHP 7.3 WSDL Creator 3 PHP 7.3,PHP 7.4类注释@网络服务参数: name ( string "WebServiceAnnotations" )默认:服务名称targetNamespace ( string ...
抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包到当前使用的java.exe 命令的lib目录下的ext...
简单WSDL实例简单WSDL实例简单WSDL实例简单WSDL实例
对wsdl的格式进行分析,主要讲解soap服务中rpc和doucumnet的不同之处。
一:WSDL定义 二:WSDL的基本结构--概述 三:WSDL的基本结构--详述
利用wsdl.exe生成webservice代理类: 根据提供的wsdl生成webservice代理类 1、开始->程序->Visual Studio 2005 命令提示 2、输入如下红色标记部分 D:\Program Files\Microsoft Visual Studio 8\VC>wsdl /...
wsdl2html 将WSDL转换为所有人都可读的html文档。 例子: ... 怎么跑 作为本地webapp运行(在docker内部) 将复制到本地磁盘 运行 docker-compose up ...注意:最低jdk(而不仅仅是jre)版本...在您的应用程序中运行 <de
wsdl2java源码sbt-cxf-wsdl2java 一个 sbt 插件,用于使用 cxf 从 WSDL 生成 java 工件 要求 快速开始 将插件添加到project/plugins.sbt : resolvers + = " Sonatype Repository " at " ...sbt-cxf-wsdl2java ...
axis2根据wsdl生成java客户端代码 D:\Software\axis2-1.6.2\bin>wsdl2java.bat -uri http://10.33.30.216:9099/facs/services/ResourceSynchroWebService?wsdl -o E:\wsdloutput -p com.util wsdl2java.bat -uri ...
com.springsource.javax.wsdl-1.6.1.jar
wsdl2java gradle插件 用于在wsdl中生成Java的Gradle插件,在后台使用cxf,并使用与来自apache-cxf的maven wsdl-2-java插件相同的选项。 可从Bintray下载插件二进制文件: ://bintray....
wsdl2java源码原作者注 该插件不再由其创建者维护。 这个存储库只是一个分支,将被动维护以跟上我依赖它的项目。 wsdl2java gradle 插件 // TODO 采用自述文件 用于从 wsdl 生成 java 的 Gradle 插件,在引擎盖下...
wsdl2phpgenerator 简单的WSDL到PHP类转换器。 提取WSDL文件并输出可供使用的类文件。 使用。 公告:我们正在寻求添加一个或两个具有提交访问权限的共同维护者,以帮助推进该项目,审查请求请求并响应问题。 如果...
特征: 提供一个指向 WSDL 文档或 File 对象的路径,并返回一个带有类型名称和 Avro Schema对象的Map 。 将 XML 原语转换为 Avro 原语通过跟踪基类型并将基类型的字段与继承类型的字段组合来处理继承(Avro 不支持...
wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子wsdl例子
WSDL TSClient 示例如何生成和使用: 从WSDL文件生成带有打字稿定义的。 该库正在使用生成打字稿代码和以供运行时使用。 受Java 和启发。 注意:将添加到您的npm运行时依赖项( npm i soap )安装npm i wsdl-...