2011-09-30 20 views
5

セキュリティ証明書をインポートするWCF Windowsサービスと通信したいVB6アプリケーションがあります。サービス内の唯一の関数は、2つの文字列引数を取ります。私は、しかし、2つのプログラムを通信するために多くの困難を抱えてきました。VB6でWCF Windowsサービスと通信しますか?

VB.NETでは、Webサービスと同じように、サービスへの参照を作成するのは簡単です。 VB6では、それほど簡単ではないようです。検索は、VB6でWindowsサービスを書き込む方法の例をプルアップするようです。

誰でもこれがどのように行われたか知っていますか?

+0

http://social.msdn.microsoft.com/Forums/pl-PL/wcf/thread/d5c5ab13-bf07-4047-8be7-c697f8f4c564およびhttp://www.vbforums.com/showthreadをご存知ですか? php?t = 558239? – kroonwijk

+0

ええ、私は両方のバリエーションを見ました。私は、成功せずにSOAPツールキットを使用しようとしました。実行時に生成されるwsdl(ala ServiceModelSamples/service.svc?wsdl)を取得する方法と、svcutilを実行するときに生成されるwcf wsdlが接続に必要なすべてを持っていないことがわかりませんでした。これらは、Webサービスに特化しているようです(この場合はWindowsサービスとほとんど同じようにWebサービスと通信しましたが)。 – CodeWarrior

+0

.Net WCFは他のWebサービスツールキットとの相互運用性はあまりありません。 Webの "WCF相互運用性"の検索は、実際の話を明らかにするのに役立ちます。 – Bob77

答えて

11

VB6からWCFサービスにアクセスする最も簡単な方法は、サービスクライアント用の.Net ComObjectラッパーを作成することです。 VB6では、オブジェクトを作成し、そのオブジェクトのメソッドをいくつか呼び出すだけです。すべてのWCF作業は.Net comオブジェクトで行われます。

+0

興味をそそられる音。それはどうですか?私は以前にそれをしたことがない。 – CodeWarrior

+0

[このリンクに記載されている]別のプロジェクトでサービスのWCFクライアントを作成するだけです(http://www.west-wind.com/weblog/posts/2007/Dec/16/WCF-Clients-and- COM-Interop)[.NETアセンブリを登録する](http://blogs.msdn.com/b/jigarme/archive/2008/04/28/how-to-register-net-assembly-for-com-interop。 aspx)をタイプライブラリとして使用し、VB6アプリケーションからリンクします。 –

+0

それではVB6アプリはクライアントを呼び出し、サービスを呼び出しますか?その場合、登録されたアセンブリにサービス機能を追加して、ステップをスキップするだけです。正直なところ、これはもっと簡単だと思った。 – CodeWarrior

関連する問題