Я создал проект SOAP API на основе maven, но когда я пытаюсь запустить этот проект на сервере tomcat, получаю исключение ниже.
Согласно моему пониманию, я наблюдал что-то в XSD. XSD имеет 1 пространство имен dtv , и если в основном XSD есть какая-либо ссылка, которая имеет тип String и используется под тегом <xs:choice maxOccurs="unbounded">
, то это вызывает эту проблему.
Ниже приведен фрагмент XSD
<xs:element name="Layaway">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element ref="ixretail:AccountNumber"/>
<xs:element ref="ixretail:ItemID"/>
<xs:element ref="ixretail:Description"/>
<xs:element ref="ixretail:RegularSalesUnitPrice"/>
<xs:element ref="ixretail:ActualSalesUnitPrice"/>
<xs:element ref="ixretail:ExtendedAmount"/>
<xs:element ref="ixretail:Quantity"/>
<xs:element ref="dtv:OrderType"/>
<xs:element ref="ixretail:MerchandiseHierarchy"/>
<xs:element ref="ixretail:Associate"/>
<xs:element ref="dtv:PercentageOfItem"/>
<xs:element ref="ixretail:RetailPriceModifier"/>
<xs:element ref="ixretail:Tax"/>
<xs:element ref="ixretail:GiftReceiptFlag"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="ItemType" use="required" type="xs:NCName"/>
<xs:attribute ref="dtv:Status" use="required"/>
</xs:complexType>
и определение переменной для пространства имен
<xs:element name="OrderType" type="xs:NCName"/>
Фрагмент кода класса ObjectFactory
private final static QName _OrderType_QNAME = new QName("http://www.datavantagecorp.com/xstore/", "OrderType");
@XmlElementDecl(namespace = "http://www.datavantagecorp.com/xstore/", name = "OrderType")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
public JAXBElement<String> createOrderType(String value) {
return new JAXBElement<String>(_OrderType_QNAME, String.class, null, value);
* *} Тысяча двадцать-один
Ниже приведен фрагмент кода Layaway
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"accountNumberOrItemIDOrDescription"})
@XmlRootElement(name = "Layaway")
public class Layaway {
@XmlElementRefs({
@XmlElementRef(name = "Associate", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = Associate.class),
@XmlElementRef(name = "Description", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = JAXBElement.class),
@XmlElementRef(name = "ActualSalesUnitPrice", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = JAXBElement.class),
@XmlElementRef(name = "RetailPriceModifier", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = RetailPriceModifier.class),
@XmlElementRef(name = "Tax", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = Tax.class),
@XmlElementRef(name = "PercentageOfItem", namespace = "http://www.datavantagecorp.com/xstore/", type = PercentageOfItem.class),
@XmlElementRef(name = "MerchandiseHierarchy", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = MerchandiseHierarchy.class),
@XmlElementRef(name = "RegularSalesUnitPrice", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = JAXBElement.class),
@XmlElementRef(name = "GiftReceiptFlag", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = JAXBElement.class),
@XmlElementRef(name = "ItemID", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = JAXBElement.class),
@XmlElementRef(name = "OrderType", namespace = "http://www.datavantagecorp.com/xstore/", type = JAXBElement.class),
@XmlElementRef(name = "Quantity", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = JAXBElement.class),
@XmlElementRef(name = "ExtendedAmount", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = JAXBElement.class),
@XmlElementRef(name = "AccountNumber", namespace = "http://www.nrf-arts.org/IXRetail/namespace/", type = JAXBElement.class)
})
protected List<Object> accountNumberOrItemIDOrDescription;
public List<Object> getAccountNumberOrItemIDOrDescription() {
if (accountNumberOrItemIDOrDescription == null) {
accountNumberOrItemIDOrDescription = new ArrayList<Object>();
}
return this.accountNumberOrItemIDOrDescription;
}
Пожалуйста, прокомментируйте, если требуется какая-либо дополнительная информация. Я пробовал так много решений от StackOverflow, но у меня ничего не работает.
Пожалуйста, помогите решить эту проблему.