gpt4 book ai didi

wsdl - Salesforce WSDL 导入 simpleContent 和扩展

转载 作者:行者123 更新时间:2023-12-01 16:41:21 25 4
gpt4 key购买 nike

我正在尝试将 WSDL 导入 Salesforce,其中一个 XML 元素同时包含一个元素和一个字符串值,例如

 <foo bar="bob">baz</foo>

当我使用 WSDL to Apex 工具导入它时,字符串值在生成的类中不可用——只有属性。

这是 WSDL 片段:

 <xs:complexType name="password">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Type" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

生成的类是:

public class password {
public String Type_x;
private String[] Type_x_att_info = new String[]{'Type'};
private String[] apex_schema_type_info = new String[]{'http://schema.test.org/1_0','false','false'};
private String[] field_order_type_info = new String[]{};
}

有没有办法可以手动修改此类以提供没有内部元素的值?

最佳答案

正如您所注意到的,WSDL2Apex 无法正确支持 xs:extension(它不在 http://www.salesforce.com/us/developer/docs/apexcode/salesforce_apex_language_reference.pdf 第 201 页上支持的 WSDL 功能列表中)。

将生成的类更改为如下所示:

public class password {
public String input;
public String Type_x;
private String[] input_type_info = new String[]{'input','http://www.w3.org/2001/XMLSchema','string','1','1','false'}; // change 'input' to be the desired name of your element
private String[] Type_x_att_info = new String[]{'Type'};
private String[] apex_schema_type_info = new String[]{'http://schema.test.org/1_0','false','false'};
private String[] field_order_type_info = new String[]{};
}

您可能还必须更改为 SOAP 操作生成的方法以允许此额外参数 - 这取决于您的 WSDL 的外观。

关于wsdl - Salesforce WSDL 导入 simpleContent 和扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4413631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com