1. ホーム
  2. c#

[解決済み] サービスリファレンスエラーです。サービスリファレンスのコード生成に失敗しました

2022-06-11 08:02:18

質問

Windows サービスソリューションを持っていて、VS2010 で Hermes(Opensource ebms message server) Web サービスへのサービスリファレンスを追加しようとしています。

URLを使用してWebサービスを見つけることができますが、サービス参照を入力しようとすると、Visual Studioで次のエラーが表示されます。

Error 8 Custom tool error: Failed to generate code for the service reference 'testService'.  Please check other error and warning messages for details. C:\Users\Admin\documents\visual studio 2010\Projects\MyProject\MyProject.MessageHandler\Service References\testService\Reference.svcmap 1 1 MyProject.MessageHandler


Warning 6 Custom tool warning: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:portType[@name='EbmsStatusQuery']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:binding[@name='EbmsSoapHttpStatusQuery'] C:\Users\Admin\documents\visual studio 2010\Projects\MyProject\MyProject.MessageHandler\Service References\testService\Reference.svcmap 1 1 MyProject.MessageHandler

Warning 7 Custom tool warning: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:binding[@name='EbmsSoapHttpStatusQuery']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:service[@name='EbmsMessageStatusQuery']/wsdl:port[@name='EbmsStatusQuery'] C:\Users\Admin\documents\visual studio 2010\Projects\MyProject\MyProject.MessageHandler\Service References\testService\Reference.svcmap 1 1 MyProject.MessageHandler

Warning 5 Custom tool warning: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.XmlSerializerMessageContractImporter
Error: Schema with target namespace 'http://service.ebms.edi.cecid.hku.hk/' could not be found.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:portType[@name='EbmsStatusQuery'] C:\Users\Admin\documents\visual studio 2010\Projects\MyProject\MyProject.MessageHandler\Service References\testService\Reference.svcmap 1 1 MyProject.MessageHandler

いくつかの調査では、ディレクトリ (おそらく c:\windowstemp) へのアクセス許可がないために svcutil.exe がプロキシを構築できないことが原因であることを示唆しているようです。 私はさまざまなアクセス許可を割り当ててみましたが、どのユーザーがその許可を必要とするのか、またはそれが単なる赤信号であるのか、よくわかりません。

何かアイデアがあれば、非常に感謝します。

ありがとうございます。

どのように解決するのですか?

サービス参照の構成オプションから、参照されるすべてのアセンブリで型を再利用するのチェックを外す必要があります。

詳細はこちらをご覧ください。