2011-01-28 28 views
4

.NET WebServiceでカスタムWSDLを使用することはできますか? Webサービスの一部として.NETで生成された.NET WebServiceではなく、.NET WebServiceでカスタムWSDLを使用したいと考えています。ASMX Webサービス用のカスタムWSDL

答えて

8

実際にはこれを行う方法があります。 独自のWSDLを作成して(つまり、公開したくないメソッドを削除する)、それを専用の場所で利用できるようにします。これにより、ユーザーは正常。

注:relevant MSDN sectionから

<webServices> 
    <protocols> 
     <remove name="Documentation"/> 
    </protocols> 
    </webServices> 

は、あなたのWebサービスのweb.configファイル内のスイッチを反転する必要があるだけで、デフォルトのWSDL( foo.asmx?wsdl)を検索からユーザーを防ぐために、 Documentation プロトコルを削除すると、Webアプリケーション内の任意のXML Webサービス のWSDLファイル の生成も無効になります。この は、カスタムWSDLファイル が作成され、提供されていない限り、クライアントが プロキシクラスを生成しないようにします。

+0

これは私が探していたものです。ご協力いただきありがとうございます。 – Bryan

0

あなたが望むのは、サービスが "?wsdl"というクエリ文字列でヒットしたときに.NETによって生成されたファイルを置き換えることです。

いいえ、これを行う直接的な方法はありません。代わりに、単純に.wsdlをWebサイトに置き、消費者にあなたのサービスを伝えてそこから取得するように指示します。 "?wsdl"がWSDLファイルを取得する唯一の方法であるという標準はありません。

関連する問題