This question already has an answer here:
How can I integrate socket.io on Karate
(1 answer)
Closed 1 year ago.
We are using ReadyAPI for API testing, Mocking and JMeter for performance testing and looking into the possibility to migrate everything to Karate framework. Would be handy to have all in one open source framework. But the main question is: can Karate framework handle JMS calls? Because 80% of our service testing is via JMS (with Hermes in ReadyAPI). I know SOAP and REST are supported but can't find anything about JMS.
Yes, you have to write a Java adapter (one-time work).
Please look at these 2 references:
https://twitter.com/getkarate/status/1128170638223364097
A great example that shows off Karate's
Java / JS interop - and built-in async support
first we call custom code to listen to an ApacheActiveMQ queue
an HTTP POST is made
we wait for the JMS message
and assert that the message is as expected
https://github.com/intuit/karate/tree/master/karate-netty#consumer-provider-example
https://twitter.com/getkarate/status/1417023536082812935
How Java interop and mocks can come together for advanced async / messaging flows such as JMS or apachekafka
link to full example: https://github.com/intuit/karate/tree/develop/karate-demo/src/test/java/mock/async
I have a duplicate question of this unanswered question Calling a WCF service from Java, redux from a few years ago.
I want to generate a Java proxy for a webservice provided by a partner company.
The webservice was made in .NET. It uses message contracts with MessageHeader attributes on some fields The contract cannot be changed.
The Java proxy generator, wsimport, seems to ignore the Fields tagged with MessageHeader. How to get this solved?
I had a similar problem recently, I have implmented ActiveMQ service between JAVA and .NET so my diagram was something like this:
Third Party <==> .Net Service <==JSON ==> ActiveMQ <==JSON==> JAVA proxy service
Please note that .Net and JAVA proxy both talk to ActiveMQ in JSON messages in both directions. You may note that you will face some difficulties as the third party .Net objects may be difficult to de/serialize from/to JSON
We have a really old application hanging around. It is on the block to be re-written. But since it is very complex the rewrite keeps getting put off.
Now I need to know if there is a way to get a Delphi 5 application to call a WCF web service?
I know WCF was not even a glimmer in its inventor's eye when Delphi 5 was released... but can it be done? If so, how?
You can communicate to WCF web services using SOAP over HTTP. Delphi 5 does support SOAP to some extent, but in my experience its early implementation isn't especially compatible with .NET 2.0 (or higher) WSDL. You might wish to try importing the WSDL and see what Delphi makes of it - but I wouldn't get your hopes up.
If that doesn't work, underneath it all it's just a bunch of web requests, so it's theoretically possible to do what you're asking using your own marshalling routines (on top of Indy HTTP, for example). The question is - how easy will it be to marshall your requests + the responses into data structures that you can manipulate in Delphi 5?
An alternative strategy that you might consider would be writing a proxy/wrapper in a suitable language (i.e. something .NET) and expose a more Delphi-5-friendly interface.
Delphi 5 doesn't support calling web-services out of the box, as that feature was introduced with Delphi 6.
The Delphi support for web-services got updated around the Delphi 2005/2006 era to be compatible with newer SOAP versions (used for instance in .NET 2.0 and higher).
RemObjects have an alternative implementation for web-services in Delphi (and a lot more communication stuff), but they don't support Delphi 5.
Delphi 5 can perform HTTP requests and use XML, so you could build your own stuff based on that. It'd take at least days, if not weeks to do that in a generic way, but a specific solution that works only for one web-service call could be doable in a shorter time frame.
WCF web services are just web services, right? Given that your WCF service is using http for transport you should be able to treat it like any other web service. Really even in regards to whether it's a SOAP, REST or other formatted message passing is meaningless. If Delphi 5 can call a web service, it should be able to call a WCF service.
If you own the web service the story obviously gets even better.
Several questions:
How do I get my C# WCF service to use Protocol Buffers?
How do I write a C++ client for a WCF service?
How do I get that C++ client to use Protocol Buffers when talking to the WCF service.
There seems to be lots of tiny snippets of information out there, but nobody appears to have pulled it all together in one place.
For questions 1 and 3, I do not think that WCF supports Protocol Buffers, REST is probably the closest thing that you have in WCF. You could either use REST, or a REST layer between the client and the server using Protocol Buffers.
Question 2 in covered in this stackoverflow question: Create WCF service for unmanaged C++ clients
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Can anyone define WCF? What is the purpose of WCF?
What are some good reading materials to learn about WCF?
WCF (Windows Communication Foundation) is the name that Microsoft uses for a Framework that can Communicate between multiple servers independently of their Operating System or Technology.
You can use this framework to send and receive messages and attachments (files, images, etc) to and from any computer in the world.
From a developer point of view, it's the new version of WSE (Web Services Enhancements) with MTOM (SOAP Message Transmission Optimization Mechanism) that was itself an updated version of the simple Web Service (.ASMX).
WCF is called a Service Framework and not a Web Service because it no longer depends on the IIS (Internet Information Server) to be hosted. Now you can host a WCF application using TCP/IP, host it as a Windows Service or even host it as an application - and you can still host it in IIS as well.
It uses the SOAP protocol and others (this is configurable in just one file), and supports HTTP and HTTPS as well, for messaging and attachments. You now have plenty of new security options with it... and it's the "top-of-the-line solution" to use to send/receive messages from anywhere to anything.
It is heavily used in the AJAX world, because it can send messages in the JSON format. Because of this, jQuery and other JavaScript frameworks work lovely with it.
For Reading material, I recommend buying a good book, because it's a good way to do self-learning and have it for reference at a later time. I personally bought Wrox Professional WCF, and I'm loving it.
WCF stands for Windows Communication Foundation.
MSDN Link
Wikipedia Link
MSDN is a little dry, but Wikipedia expresses it well:
WCF is the part of the .NET Framework dedicated to communications.
In my case, this has meant a richer alternative to plain old Web Services, with a choice between communication layers.
Edit
15 Seconds also has a great primer on WCF:
WCF is a unified programming model that combines the best of breed features from XML Web Services, .NET Remoting, MSMQ, and COM+ into an integrated platform that is completely based on a set of open industry standards.
WCF stands for "Windows Communication Foundation". The ultra-simplified version of it is that it is a collection of tools and libraries that present the developer with a unified view of communications. Everything in WCF revolves around three core concepts of Endpoints, Channels, and Messages. An endpoint is a way in or out of your code. A channel is the means by which a Message travels between those endpoints. Using this paradigm, you can use UDP, TCP, HTTP, Peer-to-Peer, MSMQ - all using the same 3 core concepts.
As for learning resources, call me old fashioned but I like to curl up with a good book when I'm learning about a new technology. Once I've mastered the basics I like using references online to enhance my base... but for intros, IMHO, nothing beats a good book.
You cannot find a better book on WCF than Juval Lowy's "Programming WCF Services". "Essential Windows Communication Foundation" is also a decent book but I still think you'd be better served by Juval's book.
"WCF" stands for Windows Communication Framework. WCF is the replacement for WSE (now obsolete), ASMX (the old ASP.NET Web Services), and to some extent, is also a replacement for .NET Remoting.
WCF covers all of the web services scenarios covered by ASMX and WSE, and then adds support for many more, including binary communication over TCP/IP, communication over message queues and named pipes, and many more.
A rich extensibility model permits both Microsoft, third party developers, and you, to extend WCF for future requirements. See the Cloud Computing article, and the Foundations: Working with the Service Bus articles in the April 2009 issue of MSDN Magazine to see how WCF has been extended to some very modern scenarios.
All new web services development should be in WCF, if at all possible.
In simple word its technology that allows your service to communicate with application or service using various protocols/modes
WCF separates the service from the protocol in much the same way that XHTML and CSS separate the content from the presentation.