0

サードパーティのクライアントが提供するサービスに接続する必要があります。問題はそれを動的に行うことです。[Web参照の追加]を使用して静的な方法でプロキシを生成すると、すべて問題ありません。WsdlImporterとCodeDomを使用すると、奇妙な生成されたクラスがいくつか取得されます(インスタンスごとのプロキシクライアント用)。

次に、[サービス参照の追加]の場合、WsdlImporterと同じ値を取得しました。私の結論WsdlImporterはsvcutil.exeによって使用されます。

誰かがここで何がそんなに違うのか知っていますか?サービスはSOAP1.1を使用しています

4

3 に答える 3

0

この問題の解決策は、ServiceDescriptionImporterを使用することです。このインポーターはwsdl.exeとして機能しています。さらに、XSDスキームをインポートする必要があります(ネストされたスキーマにも注意してください)。このための優れたサンプルは次のとおりです:http: //forums.asp.net/post/1740748.aspx

みなさん、ありがとうございました。

于 2012-12-07T13:26:31.440 に答える
0

それらは2つの異なるツールにすぎません。svcutil.exeは、実際には内部で使用WsdlImporterします(これが、2つの出力が同じである理由です)。Add Web Referenceは、ツールwsdl.exeと同じクラスを使用します(内部でどのクラスを使用するかはわかりませんが、ILSpyやreflectorなどのツールを使用して、wsdl.exeが何を使用するかを確認できます。

于 2012-12-06T17:50:35.080 に答える
0

「Web参照の追加」は、WCFの一部ではなく、従来のASMXサポートの一部です。選択肢がある場合は使用しないでください。

于 2012-12-06T18:39:06.887 に答える