通信するWCFサービスを受け取ったので、このサービスによって提供されるWCF TCPサービスである情報を取得するには、JavaまたはPythonでクライアントを作成する必要があります。出来ますか?
2 に答える
サービスが「WCFTCPサービスである」と言うときは、netTcpBinding(スキームnet.tcp
)を使用していることを意味していると思います。
このバインディングは、SOAPなどの公開標準に加えて、いくつかの独自のMicrosoftプロトコルに依存しています。これらは、メッセージフレーミング、さまざまなエンコーディングスキームのサポート、およびメッセージストリーム上でのセキュリティプロトコルの階層化を提供します。これはnetNamedPipeバインディングに似ており、これらのプロトコルの詳細については、私のブログで説明しています。
あなたの質問に対する答えは「はい、それは可能です」ですが、悪いニュースは、そうするために、選択したクライアントプラットフォームにすべてのプロプライエタリMicrosoftプロトコルを実装する必要があるということです。これは多くの作業であるため、ほぼ確実にこれを避けたいと思うでしょう(ただし、誰かがすでにJavaまたはPython用のオープンソースライブラリを作成している可能性があります)。
ライブラリが見つからず、クライアントプラットフォームで任意の種類の.NETを実行できる場合(または、クライアントとサービスの間で、プロキシとして機能する別のWindowsマシンを挿入できる場合)サービスへのアクセスを仲介するために、.NETでアダプターを作成することを検討してください。そのようなことは、サービスに純粋な標準ベースのインターフェース(WS- *など)を提示し、実際のサービスに呼び出しを内部的に転送して、他のプラットフォームから使用できるようにすることができます。
編集:私は以前、別の回答が言及してリンクしているWindowsHPC用のJava相互運用ライブラリを知りませんでした。これは非常に有望なようです。オープンソースでMicrosoftがサポートしているので、この目的にはおそらくさらに優れています。
net.tcpバインディングは独自のものです。これは他の文脈でそれについて言及している サイトです。
この記事は、Github相互運用ライブラリのダウンロードリンクに投稿されたJava相互運用ライブラリを指しています。
これがお役に立てば幸いです...私はたまたまビジネスのWebサービス側に関与しているので、答えも知りたいと思っています。