0

wsdl.exe を使用して wsdl からクライアントを作成すると、正常に終了しますが、ファイルに次のコメントが挿入されます。

// CODEGEN: パラメータ 'VerificationData' には、パラメータ モードを使用してキャプチャできない追加のスキーマ情報が必要です。特定の属性は「System.Xml.Serialization.XmlArrayItemAttribute」です。

関連する部分は次のようになります。

<xsd:complexType name="VerificationDataType">
  <xsd:sequence>
    <xsd:element name="Item" type="VerificationItemType" minOccurs="0" maxOccurs="unbounded" />
  </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VerificationItemType">
  <xsd:simpleContent>
    <xsd:extension base="xsd:string">
        <xsd:attribute name="type" type="xsd:string" use="required" />
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

何か案は?

4

1 に答える 1

1

提供された WSDL のスニペットからはわかりませんが、Item 要素で使用される型に名前空間が必要かどうかはわかりません。たとえば、次のようなものです。

<xsd:element name="Item" type="ns:VerificationItemType" minOccurs="0" maxOccurs="unbounded" />

ここで、ns はネームスペース エイリアスです。

VisualStudio 2008 に付属の wsdl.exe で問題を再現しようとすると、エラー メッセージが表示されます。

  - The datatype 'http://schemas.xmlsoap.org/wsdl/:VerificationItemType' is missing.

名前空間を追加すると、メッセージが削除されます。

于 2008-11-09T05:30:16.017 に答える