私のクライアントは、実装する必要のあるWebサービスの契約としてWSDLファイルを指定しています。 (これは実際には他のパートナなどと通信しているため、WSDLファイルでなければなりません。また、WSDLファイルに基づいて独自のWebサービスとクライアントを実装します)。WSDL.exeは往復しませんか?
wsdl.exeを使用して、サーバー側のプロキシクラスを作成しました。だから私はWebサービスを実装することができます。 しかし、元のWSDLファイルに基づいてクライアントサイドプロキシクラスを作成するためにwsdl.exeを使用すると、Webアプリケーションと通信できないクライアントアプリケーションになります。
INSTEAD:WebサービスのURLに "?wsdl"を追加すると、別のWSDLファイルが取得されます。その2番目のWSDLファイルを使用してクライアント側プロキシクラスを作成すると、Webアプリケーションと完全に通信できるクライアントアプリケーションになります。不思議なことに、2番目のWSDLファイルのサイズは、元のWSDLファイルの63 KBではなく、288 KBです。
WSDLが往復でないことを意味するはずです(WSDLファイル→wsdl.exeを使用してサーバーサイドプロキシクラスを作成 - > Webサービス - > "wsdl"をWebサービスURLに追加 - >元のものとは別のWSDLファイル(さらに悪い:それらは互換性がありません))
誰でもこれを説明できますか? (私のプロジェクトでは、他の当事者が元のWSDLファイルを利用するため、Webサービスと通信できなくなるため、重要です...)
私はC#とCLI 。再現性があります。 IIS 7.5と.NET Framework 3.5を使用しています。
コマンドラインの設定と、生成されたCとSが一致しないサンプルを投稿する方が良い。ファイルサイズの比較は無意味です。 –