3

ASP.NET Unleashed (第 1 版) の第 23 章とこの MSDN の記事で説明されているように、HTML 解析 Web サービスを実装しようとしています。ここまでは順調ですね!ただし、wsdl.exe を使用してクラスを生成すると、厄介な警告が表示されます。

Microsoft (R) Web Services Description Language ユーティリティ
[Microsoft(R) .NET Framework、バージョン 2.0.50727.3038]
Copyright (C) Microsoft Corporation. 全著作権所有。

警告: この Web リファレンスは、WS-I Basic Profile v1.1 に準拠していません。
SOAP 1.1 バインディングが見つかりませんでした: WS-I の Basic Profile 1.1 は、
一連のコア Web サービスの使用方法を推奨する実装ガイドライン
相互運用可能な Web を開発するには、仕様を一緒に使用する必要があります。
サービス。1.1 プロファイルの場合、それらの仕様は SOAP 1.1 です。
WSDL 1.1、UDDI 2.0、XML 1.0、および XML スキーマ。

WS-I Basic Profile v1.1 の詳細については、仕様を参照してください。
http://www.ws-i.org/Profiles/BasicProfile-1.1.html にあります。

できれば仕様に合わせたいです。推奨ページを見て、w3.org でいくつかのページを見つけましたが、準拠するために含める必要がある xml 要素の具体的な例は見つかりませんでした。

XML を投稿する代わりに、wsdl は MSDN の記事で使用されているものにほぼ準拠しているとだけ述べておきます (「.dtd」を追加して w3.org の XMLSchema の無効な URL を修正したことを除きます)。

ありがとう!

4

1 に答える 1

6

Wsdl.exe実装するプロトコルとしてデフォルトでSOAPを使用し、その結果、基本プロファイルへの準拠を確認しようとします。とにかく、wsdl.exeこれを処理し、警告のみで続行します。MSDN の記事ファイルを確認すると、バインディングがHttpGetプロトコルを使用するように構成されていることがわかります。したがって、警告を抑制したい場合は、実行します

wsdl.exe /protocol:HttpGet <url or path> 

ただし、結果のプロキシ クラスは前のものと同じです。

補足: 名前空間を定義する URL は、URL としてではなく識別子として使用されるため、修正する必要はありません。多くの名前空間は URL のように見えますが、Web 上の実際のリソースを指す必要はありません。名前空間http://www.w3.org/2001/XMLSchemaは、W3C のXML Schema 勧告で定義されています。

于 2008-10-30T18:38:44.090 に答える