2012-10-09 35 views
0

我使用一個服務引用Java Web服務返回的XML是這樣的:服務引用與元素

<m_score value="3"><Explanation value="20.51">Class Count</Explanation> 
    <Explanation value="-15.03">NCCI Governing Industry Group</Explanation> 
    <Explanation value="-9.74">Combined Weighted Average Hazard Score</Explanation> 
    <Explanation value="4.9">Policy Weighted Average Loss Cost Relative to Governing Class Loss Cost</Explanation> 
    <Explanation value="-2.96">Governing Class Loss Cost</Explanation> 
</m_score> 

的問題是,當我生成代理和請求/響應對象,該數據在說明元素內未在對象中表示。每個元素中只有屬性屬性。

有沒有辦法讓返回的解釋名稱呢?例如'NCCI治理產業集團'等...

謝謝!

編輯 - WSDL的相關部分:

<complexType name="ExplanationType"> 
    <attribute name="value" use="required"/> 
</complexType> 
<complexType name="m_scoreInsuredResponseType"> 
    <sequence> 
     <element maxOccurs="unbounded" minOccurs="0" name="Explanation" type="response:ExplanationType"/> 
    </sequence> 
    <attribute name="value" use="required"/> 
</complexType> 
+0

你是否希望有一個列表例如..?也許使用字典或HashTable可能是你正在尋找的初學者使用.. – MethodMan

+0

在響應中我得到一個m_score包含解釋[]。問題是Explanation對象只有值,而不是名稱。 –

+0

你能分享一下webservice的外觀,或者你用來調用webService調用的C#代碼。 – MethodMan

回答

0

這已經有一段時間,因爲我看着這一點,但我認爲,缺乏這樣的架構適當的支持是一個已知的bug。您可能能夠通過與XmlTextAttribute實現自己的解釋類(然後改變代理使用它),例如類似的東西來解決此問題:

公共類說明 { [XmlAttribute]公共字符串值; [XmlText] public string theExplanation; }

(您可能需要調整上述考慮命名空間,可能爲一些信息添加[XmlRoot]等見http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmltextattribute.aspx