Yes, you can use the WCF service with any SOAP or REST client.
SOAP is a protocol that uses HTTP, TCP, etc. to send messages, but REST uses only HTTP to send messages.
It is too broad to answer either yes or no. Strictly related to your question, we have these characteristics for SOAP:
- SOAP is a protocol;
- SOAP messages can be sent via HTTP, TCP, SMTP, etc. (in fact on any protocol). SOAP is a messaging protocol used on top of another transport protocol;
- The most commonly used protocols for SOAP are HTTP and HTTPS;
Now the specifications for REST:
- REST is an architectural style of building applications;
- REST is not actually connected with the HTTP protocol; it can use any transport protocol;
- Everyone does REST with HTTP and HTTPS;
SOAP only sends messages in XML format, but REST uses JSON or XML.
SOAP can only send XML messages, this is part of the protocol. In fact, you need to use a specific format for XML with envelope, header, and body tags.
REST is a representation of resources. A view can have any structure and can be in any format, not just XML or JSON (although the most common are XML and JSON);
REST does not include the same traffic overhead as SOAP (because SOAP involves complex WSDL XML generation).
WSDL is not involved in the actual invocation of operations; it is something separate to describe the SOAP web service. REST has something similar (albeit not very usable) called WADL . You need to output / unmount your data using SOAP and REST, so overhead in most cases is not a problem (the SOAP envelope is not so big).
Has anyone developed a basichttpbinding WCF service and provided this to a non.net client such as Java, mobile devices, etc. to make it compatible? Is it possible for non.net clients to consume WCF besides REST?
That an idea with web services (SOAP or RESTful) should be called from any clients. This is a communication method between two machines. The implementation of the machines does not matter (Java, C #, PHP, Python, etc.).
WCF is a web service framework that can provide a service as a SOAP or REST API. It can be called from any client.