O'Reilly logo

Java SOA Cookbook by Eben Hewitt

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Using Publicly Available Web Services to Test Against


You want to eliminate a few variables in the complex world of web services development by using an existing, established WSDL for a real web service to test against. This will allow you to just on the client part for now.


Use some of the publicly available free web services from places like StrikeIron.com or XMethods.com.

Here are a few places you can look to find WSDLs to run your test clients against:

Web Service X

This is a pretty good place to start. Their web services are free, have some documentation, require no signup, and are very simple and straightforward to invoke. Moreover, they are written in .NET, so you will be experiencing the real benefit of web services (and encountering some of the rough edges) right off the bat. Try them out at http://www.webservicex.net.


If you supply your email address, you can invoke a service five times. If you do a full registration, you get 25 times; after that, they’ll want you to purchase the service. Note that StrikeIron is not a test bed, and that they make money by having developers and organizations purchase their services for production use. They have real implementations behind them and do real work, such as figuring out the geocode (latitude and longitude) of a certain address. But the services here are real-world with non-trivial interfaces that require passing license info in headers, and the schemas define many composite objects. All of this can make StrikeIron rather tough to start out with. A sample StrikeIron.com service documentation page is shown in Figure 4-2.

StrikeIron web service documentation page

Figure 4-2. StrikeIron web service documentation page


There’s no signup and no fuss to using many of the services here. The services are not written by XMethods themselves, however; they just host them. So each service will have its own terms of use, and they vary widely in how well they are implemented and documented. Services here are provided by individual developers as well as for-profit companies such as CDyne and StrikeIron. The way that XMethods lists their available services is shown in Figure 4-3.

XMethods list of available web services

Figure 4-3. XMethods list of available web services


Another web service provider similar to StrikeIron. They also provide a free set of services for developers to use. If you supply a 0 as the credentials key, you can get started with limited usage as with StrikeIron. Their free developer section is available at http://www.cdyne.com/free/default.aspx.


Offers a Ship Manager web service that you can try out with registration.


Amazon provides web services at http://aws.amazon.com. At this page you can sign up as a developer, browse their solutions catalog, read whitepapers, and more. Their services include storage (S3), virtual servers (EC2), and database usage (SimpleDB).


Makes a variety of APIs available at http://code.google.com/. They are no longer giving out keys to their SOAP-based web service, and the services they offer are primarily focused around JSON and similar technologies.


Web services are very complex. Despite the fact that they are wonderful tools for integration across platforms, and that companies like Sun and Microsoft have made great strides in working toward true interoperability with them, services remain just plain hard. They include fussy details that require painstaking attention. The reality of web services today is that there are many slight variations across platforms, versions of the platforms, and different implementations of engines and IDEs. How does one get started in such an environment?

One way to make the enormous web-services pill a little easier to swallow is to eliminate one half of the equation. Instead of writing the service and consuming it too, you can use some web services that are publicly available for free, and just concentrate on getting your client going. That gives you an opportunity to understand the intricacies from one side and see how your client works with an already tested service, so that you can be confident in at least one piece initially.

SAP Public UDDI 3 Registry

Figure 4-4. SAP Public UDDI 3 Registry

As discussed earlier, publicly available web services that are free to use can be really good for developers who are just getting started with web services. Also, keep in mind that in some cases you actually can purchase the services for real business use, such as with the services from StrikeIron, Amazon, Google, and eBay. Not only that but, these companies are pioneers in the web services space. These two factors can add up to some fairly complex and lengthy WSDLs. If you’re still at the Hello World stage, using these services with their wide variety of options and authentication schemes can be overwhelming. Starting with something from XMethods may be a little easier, but many of those services have been developed by well-intentioned people who may be using older versions of their services platform, and you may run into services that don’t truly meet your spec or that are just not interoperable. So, if you find yourself banging your head against the wall for a really long time, it may not be you.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required