0

私の問題を説明しようとします。Type BaseType のオブジェクトを最初の引数として受け入れるプロキシ クラス (wsdl によって自動生成) にメソッドがあります。継承された型を渡そうとすると、

タイプ xyz は予期されていませんでした。XmlInclude または SoapInclude 属性を使用して、静的に認識されていない型を指定します

多くの時間を検索した後、名前空間と xmlinclude 属性について読みました。

/// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("コード")] [System.Web.Services .WebServiceBindingAttribute(Name="esDatabaseServersSoap", Namespace="http://smbsaas/foo/bar")] [System.Xml.Serialization.XmlIncludeAttribute(typeof(SomeOtherType))]
パブリック部分クラス esDatabaseServers : Microsoft.Web.Services3. WebServicesClientProtocol { プライベート System.Threading.SendOrPostCallback GetRawSqlDatabasesPagedOperationCompleted; ...................................................
... ................................................................

そして、私は追加しようとしました

[System.Web.Services.WebServiceBindingAttribute(Name="esDatabaseServersSoap", Namespace="http://smbsaas/foo/bar")] [System.Xml.Serialization.XmlIncludeAttribute(typeof(SomeOtherType))] [System.Xml. Serialization.XmlIncludeAttribute(typeof( MyInheritedType ))] 私はこの行
public partial class esDatabaseServers を追加しました:

私は得た

System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: サーバーは要求を読み取れませんでした。---> System.InvalidOperationException: XML ドキュメントにエラーがあります。---> System.InvalidOperationException: 指定された型が認識されませんでした: name='MyInheritedType', namespace="http://smbsaas/foo/bar", at .

MyInheritedType は baseClass から継承します。

本当にどうすればいいのかわからない.何かアイデアをください? ありがとう!

4

1 に答える 1