java - ElementList 中的 Android Magento Soap PersistenceException

标签 java android magento soap simple-framework

我得到了错误

Android Magento Soap Api org.simpleframework.xml.core.PersistenceException: Element 'result' is already used with @org.simpleframework.xml.ElementList

当我请求使用 Soap 从 Magento 获取 catalogProductMedia 时。下面是 XML 文件和类。

CatalogProductAttributeMediaListResponse.xml

<message name="catalogProductAttributeMediaListResponse">
<part name="result" type="typens:catalogProductImageEntityArray"/>
</message>

CatalogProductAttributeMediaListResponse.java

    @Root(name = CatalogProductAttributeMediaListResponse.ROOT_NAME, strict = false)
public class CatalogProductAttributeMediaListResponse {

    public static final String ROOT_NAME = "n0:catalogProductAttributeMediaListResponse";

    @Element(required = false)
    @Path("Body/catalogProductAttributeMediaListResponse")
    private CatalogProductImageEntityArray result;
}

CatalogProductImageEntityArray.xml

<complexType name="catalogProductImageEntityArray">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="typens:catalogProductImageEntity[]"/>
</restriction>
</complexContent>
</complexType>

CatalogProductImageEntityArray.java

@Root(name = "catalogProductImageEntityArray", strict = false)
public class CatalogProductImageEntityArray {
    @ElementList(inline = true, entry = "item", required = false)
    private List<CatalogProductImageEntity> productImageEntityList;
}

CatalogProductImageEntity.xml

<complexType name="catalogProductImageEntity">
<all>
<element name="file" type="xsd:string"/>
<element name="label" type="xsd:string"/>
<element name="position" type="xsd:string"/>
<element name="exclude" type="xsd:string"/>
<element name="url" type="xsd:string"/>
<element name="types" type="typens:ArrayOfString"/>
</all>
</complexType>

CatalogProductImageEntity.java

@Root(name = "catalogProductEntity", strict = false)
public class CatalogProductImageEntity {
    @Element(required = false)
    private String url;
}

我只想获取 url,我已经生成了所有的 getter 和 setter 方法。请帮助我

最佳答案

尝试像这样注释结果

@Element(required = false, inline=true)
@Path("Body/catalogProductAttributeMediaListResponse")
private CatalogProductImageEntityArray result;

关于java - ElementList 中的 Android Magento Soap PersistenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35362398/

相关文章:

php - Magento 1.9 中的类别页面未显示 SSL。其余所有页面,包括主页和产品页面都工作正常

java - 使用 ExceptionResolver 捕获 Spring MVC DispatcherServlet 异常

Android:单击按钮时模糊屏幕

android - 是否可以在另一个按钮中使用来自 Android 的 "Hamburger icon"动画?

android - Repo sync后目录下没有文件

php - 仅使用 php 将 PDF ver 1.7 转换为 ver 1.6

magento - Magento 中 Javascript 的区域设置语言

java - 在此代码中,我得到了无法解析符号 R

java - Spring Tool Suite:“属性”中的“部署程序集”选项

java - 如何将另一个类中的方法转换为泛型类中的方法