Testing EJB based web service - Java vs .NET vs SoapUI
I am testing a workflow application that takes the user step by step through each task. The inputs in each task are basically just barcodes or some numerical values. Fortunately, each task has an EJB based SOAP web service so I can just automate testing at the service layer instead of the GUI.
I am not terribly familiar with EJB SOAP web services, so I was wondering what language/platform it would be best to use for calling the web services. I am pretty good at C# so I just added some service references pointing to the wsdls from Visual Studio and it seems to work pretty well. However, I would like to know if it would be better to try to do the same thing in Java instead since the application itself is written in Java. Am I missing out on anything by not using Java to approach this problem, or is it pretty much the same either way? A third alternative I guess is to use SoapUI to do all my testing, but I'm not sure if it's flexible enough to cover all the test cases I want to execute after calling the web service.
Actually, I can see two questions in your post.
Is it better to test SOAP Web services backed by EJB using Java or C#?
Actually, Web service stack of technologies was designed to support interaction between application written in different technologies, so it does not matter how the Web service was implemented. I.e., Web service implemented in Java can by called by .NET client, Python client, etc. Similarly, Web service on .NET platform can be called by Java client and so on.
So interoperability is not a problem here. The reason which language to use for testing should really depend on whether your team will be able to maintain tests written in C# or Java, i.e., what skills they have
Is it better to test Web service programmatically or with SOAP UI?
Well, it depends what do you mean by
all the test cases I want to execute after calling the web service.