首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型为int或空的WSDL不能由wsdl2java生成的存根读取。

类型为int或空的WSDL不能由wsdl2java生成的存根读取。
EN

Stack Overflow用户
提问于 2010-07-13 21:35:30
回答 2查看 1.2K关注 0票数 0

我创建了一个简单的类型

<xsd:simpleType name="IntOrBlank"> <xsd:union memberTypes="xsd:int"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value=""/> </xsd:restriction> </xsd:simpleType> </xsd:union> </xsd:simpleType>

然后,我使用wsdl2java从axis2创建存根,发送工作和接收似乎都正常工作,直到我尝试从这种类型获得整数值。我的代码是这样的:

IntOrBlank get_part_custom_field7 = each_record.get_part_custom_field7();Object对象= get_part_custom_field7.getObject();

对象现在为空。即使SOAP消息作为

<bm:\_part\_custom\_field7>9</bm:\_part\_custom\_field7>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-22 02:17:37

我对代码进行跟踪,发现wsdl2java生成的存根不正确。创建的对象是java.math.BigInteger,而存根做了检查以确保对象是Integer的实例,因此该对象为null,而不引发任何异常。我把类型改为

解决了这个问题

票数 0
EN

Stack Overflow用户

发布于 2010-07-22 02:26:05

我建议你停止以这种方式使用union,也许根本不使用。

你刚刚找到了一个不按你喜欢的方式处理它的工具--还有很多其他的工具。在这种情况下,union并没有多大意义。在这种情况下应该使用什么Java类型?Object

在这种情况下:

代码语言:javascript
复制
  <xs:simpleType name="SillyUnion">
    <xs:union memberTypes="xs:int xs:string"/>
  </xs:simpleType>

您希望wsdl2java用于此的数据类型是什么?Object?使用这些数据的程序员将如何确定是否包含了整数或字符串数据?你的意思是每个使用这些数据的人都应该先检查一下吗?

联姻是当时听起来是个好主意的事情之一,但事实证明,它并没有以前想象的那么有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3241736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档