0

次のような XML を返す Java Web サービスへのサービス参照を使用しています。

<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 Governing Industry Group」など...

ありがとう!

編集 - 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>
4

1 に答える 1

0

これを見てからしばらく経ちましたが、このようなスキーマに対する適切なサポートの欠如は既知のバグだったと思います。XmlTextAttributeを使用して独自の説明クラスを実装する (そして、それを使用するようにプロキシを変更する) ことで、これを回避できる場合があります。たとえば、次のようなものです。

公開クラス 説明 { [XmlAttribute] 公開文字列値。[XmlText] public string theExplanation; }

(名前空間を説明するために上記を微調整する必要がある場合があります。[XmlRoot] などを追加することもできます。詳細については、http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmltextattribute.aspxを参照してください。 .)

于 2012-10-09T22:20:38.903 に答える