5

Web サービスは次の場所にあります: http://api.bing.net/search.wsdl

VS2010 のプロジェクトで、[サービス参照の追加] をクリックします。「コレクションタイプ」として、「System.Collections.Generic.List」(またはそのリスト内の他のもの、ただし配列ではないもの)を指定します。[OK] をクリックすると、コードが生成されます。

実績

コードには、リストではなく配列が含まれています。

[System.Xml.Serialization.XmlArrayAttribute(Order=10)]
public SourceType[] Sources {
    get {
        return this.sourcesField;
    }
    set {
        this.sourcesField = value;
        this.RaisePropertyChanged("Sources");
    }
}

期待される結果:

コードには、すべてのコレクションのリストが含まれている必要があります。

質問:

実際のコード生成に影響を与える Web サービス フォルダーには、Reference.svcmap、*.svcinfo、*.wsdl 自体に多数のファイルが生成されます。

Wsdl2code ジェネレーター (上記のファイルを使用) に強制的にこの Web サービスのリストを生成させるにはどうすればよいですか?

Reference.svcmap には、リストを使用するための行が含まれていますが、役に立ちません。

<CollectionMappings>
  <CollectionMapping TypeName="System.Collections.Generic.List`1" Category="List" />
</CollectionMappings>
<GenerateSerializableTypes>true</GenerateSerializableTypes>
<Serializer>Auto</Serializer>
<UseSerializerForFaults>true</UseSerializerForFaults>
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
<ReferencedAssemblies />
<ReferencedDataContractTypes />
<ServiceContractMappings />

同様の質問がここで尋ねられましたが、その最良の回答はこの状況では役に立ちません。

4

0 に答える 0