2

通信するWCFサービスを受け取ったので、このサービスによって提供されるWCF TCPサービスである情報を取得するには、JavaまたはPythonでクライアントを作成する必要があります。出来ますか?

4

2 に答える 2

7

サービスが「WCFTCPサービスである」と言うときは、netTcpBinding(スキームnet.tcp)を使用していることを意味していると思います。

このバインディングは、SOAPなどの公開標準に加えて、いくつかの独自のMicrosoftプロトコルに依存しています。これらは、メッセージフレーミング、さまざまなエンコーディングスキームのサポート、およびメッセージストリーム上でのセキュリティプロトコルの階層化を提供します。これはnetNamedPipeバインディングに似ており、これらのプロトコルの詳細については、私のブログで説明しています

あなたの質問に対する答えは「はい、それは可能です」ですが、悪いニュースは、そうするために、選択したクライアントプラットフォームにすべてのプロプライエタリMicrosoftプロトコルを実装する必要があるということです。これは多くの作業であるため、ほぼ確実にこれを避けたいと思うでしょう(ただし、誰かがすでにJavaまたはPython用のオープンソースライブラリを作成している可能性があります)。

ライブラリが見つからず、クライアントプラットフォームで任意の種類の.NETを実行できる場合(または、クライアントとサービスの間で、プロキシとして機能する別のWindowsマシンを挿入できる場合)サービスへのアクセスを仲介するために、.NETでアダプターを作成することを検討してください。そのようなことは、サービスに純粋な標準ベースのインターフェース(WS- *など)を提示し、実際のサービスに呼び出しを内部的に転送して、他のプラットフォームから使用できるようにすることができます。

編集:私は以前、別の回答が言及してリンクしているWindowsHPC用のJava相互運用ライブラリを知りませんでした。これは非常に有望なようです。オープンソースでMicrosoftがサポートしているので、この目的にはおそらくさらに優れています。

于 2012-07-13T14:23:53.000 に答える
2

net.tcpバインディングは独自のものです。これは他の文脈でそれについて言及している サイトです。

この記事は、Github相互運用ライブラリのダウンロードリンクに投稿されたJava相互運用ライブラリを指しています。

これがお役に立てば幸いです...私はたまたまビジネスのWebサービス側に関与しているので、答えも知りたいと思っています。

于 2012-07-13T14:05:33.893 に答える