簡體   English   中英

axis2“意外的子元素值”

[英]axis2 “unexpected subelement value”

我正在嘗試使用Axis2連接到SOAP Web服務。 這以前在Axis 1中起作用,但是2引起了問題。 我已經使用wsdl2java重新生成了Java代碼,該代碼已經為Axis2生成了存根,但是當處理帶有“意外子元素值”的服務器響應元素時,它就wsdl2java了。

有問題的wsdl文檔的片段是:

<complexType name="A">
<sequence>
<element name="a" type="xsd:base64Binary" minOccurs="1" maxOccurs="1" nillable="false" />
<element name="b" type="xsd:string" minOccurs="1" maxOccurs="1" />
<element name="c" type="xsd:string" minOccurs="1" maxOccurs="1" />
<element name="d" type="xsd:string" minOccurs="1" maxOccurs="1" />
<element name="e" type="xsd:string" minOccurs="1" maxOccurs="1" />
<element name="f" type="xsd:string" minOccurs="1" maxOccurs="1" />
</sequence>
</complexType>

返回的響應如下所示:

<stuff>
<a>dsfusdbifsdisuibvuidnfuisndfvl\sbvuidn</a>
<b>string</b>
<c>string</c>
<d>string</d>
<e>string</e>
<f>string</f>
</stuff>
<stuff>
<a>dsfusdbifsdisdfsfsdfsdfuibvuidnfuisndfvl\dfgd</a>
<b>string</b>
<c>string</c>
<d>string</d>
<e>string</e>
<f>string</f>
</stuff>
<stuff>
<a>dsfusdbifsdisuibvuidnfuisndfvl\sdfsdfvv</a>
<b>string</b>
<c>string</c>
<d>string</d>
<e>string</e>
<f>string</f>
</stuff>
<stuff>
<a>wwasdfgfbdfb\sbv==uidn</a>
<b>string</b>
<c>string</c>
<d>string</d>
<e>string</e>
<f>string</f>
</stuff>

那類的東西。 這些<stuff>塊中的大多數<stuff>正常運行,但是最后一個在<b>上失敗,並出現上述錯誤。 調試代碼失敗,原因是reader.isStartElement()返回false並且new javax.xml.namespace.QName("","b").equals(reader.getName())為false- reader.getName()返回“一種”。 進一步調試后, reader.currentElement報告“ string ”,而不是通常返回的包裝對象類型。 我已經使用Axiom 1.2.7和1.2.8進行了嘗試-兩者似乎都遇到相同的問題。 這是一個已知的錯誤,還是任何人都可以了解可能發生的情況?

似乎這是SAX綁定生成器的問題。 切換JAXB綁定已解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM