Delphi WSDL导入工具忽略“attributeGroup”引用
我是Web服务的新手,但对Delphi来说并不陌生.
我正在使用“WSDL Importer”向导将WSDL文件导入Delphi 2010. WSDL文件包含一些Delphi完全忽略的“attributeGroup”标签,这可能是一个bug,虽然我还没有在Quality Central上找到关于这个问题的条目,只在here和here这样的论坛中提到过. 我的问题有几个部分: >什么是最好的解决方法? 更新 根据我的经验和这个问题的答案,我决定使用C#控制台应用程序进行包装路由,该应用程序使用JSON输入数据并输出JSON应答数据. Delphi应用程序驱动C#应用程序.整个事物的SOAP部分现在毫不费力,并且在C#.NET中“正常工作”,其余功能由Delphi很好地处理.我会向其他有类似问题的人推荐这条路线.我确实尝试将C#SOAP程序集导出为COM库,并从Delphi连接到它,但它变得非常复杂,因为我的特定应用程序中的SOAP规范很大而且有点复杂. 解决方法
好的,这个花了一段时间.
根据this post,在导入wsdl文件时,.NET wsdl.exe工具无法识别某些标记.根据MSDN:
在MSDN blogs之一上也描述了这种行为(尽管以一种非常难以理解的方式).在我的具体情况中,导致问题的wsdl文件的特定部分如下所示: <xs:complexType name="PhonesType"> <xs:annotation> <xs:documentation xml:lang="en">Provides detailed phone information.</ xs:documentation> </xs:annotation> <xs:sequence> <xs:element maxOccurs="unbounded" name="Phone"> <xs:annotation> <xs:documentation xml:lang="en">Used to pass detailed phone information.</xs:documentation> </xs:annotation> <xs:complexType> <xs:attributeGroup ref="TelephoneInfoGroup"/> <xs:attributeGroup ref="ID_OptionalGroup"> <xs:annotation> <xs:documentation xml:lang="en">The ID attribute in this group is a unique identifying value assigned by the creating system and may be used to reference a primary-key value within a database or in a particular implementation.</xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> 似乎< xs:attributeGroup ref =“TelephoneInfoGroup”/>正在被.NET wsdl.exe工具忽略,就像它被Delphi wsdl导入器忽略一样.在这种情况下,在Delphi和.NET中导入失败的情况下,可能必须更改wsdl文件,这意味着我将不得不使用我自己的python ref-flattener. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |