在 Salesforce 中从 WSDL 生成 Apex 代码时出现 WSDL 解析错误



解析亚马逊产品广告 API 时收到以下错误。

错误:无法解析 wsdl:simple类型>元素名称不能为空。 1295

WSDL 链接 : http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl

有什么解决方法吗?

我拉下了 WSDL,并在第 1292 行和第 1295 行进行了以下更改。请注意两个内部简单类型的新名称属性。

<xs:simpleType name="positiveIntegerOrAll">
<xs:union>
    <xs:simpleType name="positiveTestOne">
        <xs:restriction base="xs:positiveInteger"/>
    </xs:simpleType>
    <xs:simpleType name="positiveTestTwo">
        <xs:restriction base="xs:string">
        <xs:enumeration value="All"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:union>
</xs:simpleType>

在此之后,我能够使用此修改后的文件成功创建一个 Apex 类。我没有测试实际调用它,但在生成它时没有错误。

Salesforce 使用不支持许多 WSDL 功能的内部 wsdl2apex 工具。有一个受支持的 WSDL 功能的列表。除此之外,您通常可以破解源 WSDL 以获得合理级别的支持。

因此,您尝试使用某些用户界面将该Web服务添加到Salesforce中,但返回了该错误,对吗?

如果是,那么您可以尝试在本地保存该 wsdl - 修复必要的节点并尝试让 Salesforce 上传您的 wsdl 文件副本,或上传到互联网主机上的某个地方并向 Salesforce 提供新地址。

如果没有,那么我需要更多关于您如何尝试使用该 wsdl 的信息。

最新更新