0

Azure でホストされている WCF サービスでデバイスを動作させようとしているので、その方法を示す記事「.NET Micro Frameworkを使用して接続されたデバイス」に従いました。

私が問題を抱えているのはMFSvcUtil.exe、プロキシ コードを生成するために実行しようとしているときです。そのため、デバイス側でNETMFから WCF サービス メソッドにアクセスできます。

走ろうとしたら

C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Tools\MFSvcUtil.exe" http://myservice.cloudapp.net/TrackingService.svc?singlewsdl /V

私はこの出力を得ます:

**MfSvcUtil.exe (c) Microsoft 2008
Reading WSDL file: http://myservice.cloudapp.net/TrackingService.svc?singlewsdl
Could not find schema information for the element 'HTML'.
Severity: Warning
Exception: System.Xml.Schema.XmlSchemaValidationException: Could not find schema information for the element 'HTML'.
SourceUri: http://myservice.cloudapp.net/TrackingService.svc?singlewsdl
LineNumber: 1
Position: 2
StackTrace: 

Program Error: The WSDL file is not compatible.**

さて、次のような通常の WSDL ファイルで実行しようとすると

MFSvcUtil.exe" http://myservice.cloudapp.net/TrackingService.svc?WSDL /V

この出力に続いてStackOverflowException、スタックトレースが見つからないというメッセージが表示されます。参照してくださいhttp://localhostr.com/file/QCEVawT/log.txt(文字数制限のためにアップロードされました)。

これが私の完全な WSDL です: http://pastebin.com/M9KVYD0e

この問題を回避するにはどうすればよいですか?

4

1 に答える 1

1

.NET 4.5 を使用しているかどうかを知りたいです。このsinglewsdlオプションは .NET 4.5 の新機能ですが、既定では、Windows Azure には .NET 4.5 が (まだ) インストールされていません。.NET 4 を使用する場合は、?wsdl代わりにを使用してください?singlewsdl

さらに、useRequestHeadersForMetadataAddress動作があることも確認してください。そうしないと、WSDL が期待どおりに動作しない可能性があります。詳細については、Windows Server 2003、Windows XP、Windows Vista、および Windows Server 2008 の .NET Framework 3.0 で期待される FIX: WCF WSDL ドキュメントの URI が、ロード バランサーではなく、アクセスできない内部インスタンスを参照していることを確認できます。ただし、この機能は既に .NET 4 に組み込まれているため、修正プログラムをインストールする必要はありません。

于 2012-04-19T07:30:19.837 に答える