Web サービスに Web ブラウザーでアクセスすると奇妙な動作が発生し、生成中に例外が発生します。
これが私のシナリオです:
Web ページへのアクセス: http://localhost:10100/WCFService1.svc?wsdl
Web ページへのアクセス: http://localhost:10100/WCFService2.svc?wsdl
問題は、WCFService2.svc WSDL の出力に、WCFService2 とマージされた WCFService1 のすべての定義が含まれていることです。
さらに、以前に生成された WSDL と同じ名前のメソッドを含む別の WSDL にアクセスすると、この例外が発生します (確かに、WSDL がマージされているためです)。
また、サービス名の前に「:」が付いているコントラクトの名前が奇妙であることに気付きました: http://MyCompany.ca/:IWCFService3
「WSDLエクスポート拡張機能」で何が起こっているのか、誰かが手がかりを持っていますか?
ExceptionDetail ( IncludeExceptionDetailInFaults =true によって作成される可能性が高い) の値は次のとおり
です。
----> System.InvalidOperationException: MyCompany.IWCFService3.Import 操作は、MyCompany.IWCFService2.Import 操作から既にエクスポートされているメッセージ要素 [http://MyCompany.ca/:Import] を参照しています。メソッド名を変更するか、OperationContractAttribute の Name プロパティを使用して、いずれかの操作の名前を変更できます。または、MessageContract プログラミング モデルを使用して、要素名をより詳細に制御できます。System.ServiceModel.Description.MessageContractExporter.AddElementToSchema (XmlSchemaElement 要素、文字列 elementNs、XmlSchemaSet schemaSet) で System.ServiceModel.Description.MessageContractExporter.ExportWrappedPart (メッセージ メッセージ、文字列 elementName、文字列 elementNs、XmlSchemaSet schemaSet、