Vinicius Ottoni
Vinicius Ottoni

Reputation: 4677

Is it possible to communicate with WCF TCP service with app in java or python?

I receive a WCF service to communicate, so, i need to create a client in java or python to get informations provided by this service that is a WCF TCP service. Is it possible?

Upvotes: 2

Views: 5600

Answers (2)

Chris Dickson
Chris Dickson

Reputation: 12135

I'm assuming that when you say the service "is a WCF TCP service", you mean that it employs the netTcpBinding (scheme net.tcp).

This binding relies on some proprietary Microsoft protocols in addition to public standards such as SOAP. These provide message framing, support for a variety of encoding schemes, and for the layering of security protocols over the message stream. This is similar to the netNamedPipe binding, and further details of these protocols are explained here on my blog.

The answer to your question is "yes, it is possible", but the bad news is that in order to do so you would have to implement all the proprietary Microsoft protocols in your chosen client platform. You will almost certainly want to avoid doing this, as it is a lot of work (though maybe someone has already written an open-source library for either Java or Python).

If you can't find a library, and are able to run any flavour of .NET on your client platform (or if it is feasible to interpose a separate Windows machine to act as a proxy, between your clients and the service) I would consider creating an adapter in .NET, to broker your access to the service. Such a thing could present a pure standards-based interface (e.g. WS-*) to the service, internally forwarding calls to the real service, to enable it to be consumed from other platforms.

EDIT: I wasn't previously aware of the Java interop library for Windows HPC which another answer has mentioned and linked to. This seems quite promising: open source and Microsoft-supported, which for this purpose is probably even better.

Upvotes: 7

Mike
Mike

Reputation: 3311

The net.tcp bindings are proprietary. Here is a site that mentions it in some other context.

The article points to a Java interop library posted on Github Interop Library Download Link

Hope this helps... I'm curious to know the answer as well, as I just happen to be getting involved in the Web Services side of the business.

Upvotes: 2

Related Questions