Java 如何在不更改JAXB Web服务模式或XML输出的情况下参数化ArrayList属性?
我有一个通过Web服务公开接口的现有java应用程序。我试图在不更改web服务模式或结果XML的情况下参数化ArrayList属性。例如,我正在使用类:Java 如何在不更改JAXB Web服务模式或XML输出的情况下参数化ArrayList属性?,java,arraylist,jaxb,wsdl,jaxb2,Java,Arraylist,Jaxb,Wsdl,Jaxb2,我有一个通过Web服务公开接口的现有java应用程序。我试图在不更改web服务模式或结果XML的情况下参数化ArrayList属性。例如,我正在使用类: public class User { private ArrayList pricelists; public ArrayList getPricelists() { return pricelists; } public void setPricelists(ArrayList newPricelists) { t
public class User {
private ArrayList pricelists;
public ArrayList getPricelists() { return pricelists; }
public void setPricelists(ArrayList newPricelists) { this.pricelists = newPricelists; }
}
从Java创建WSDL架构时,结果行如下所示:
<xs:element maxOccurs="unbounded" minOccurs="0" name="pricelists" nillable="true" type="xs:anyType"/>
现在我们来讨论这个问题。将对象编组为XML时,我得到以下XML:
<pricelists>
<lastUpdate>1386659150085</lastUpdate>
...
</pricelists>
带有@XML的属性。。。注释?不编写个性化序列化程序就可以这样做吗
<xs:element maxOccurs="unbounded" minOccurs="0" name="pricelists" nillable="true" type="tns:Pricelist"/>
@XmlSchemaType(name="anyType")
public ArrayList getPricelists() { return pricelists; }
<pricelists>
<lastUpdate>1386659150085</lastUpdate>
...
</pricelists>
<pricelists xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Pricelist">
<lastUpdate>1386659150085</lastUpdate>
...
</pricelists>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Pricelist"