Are Web Services the New CORBA?

I am updating the “External Services” chapter in Core JSF. There is lots of new and interesting stuff: How to use JPA, stateless session beans, and WebBeans. I ditched the LDAP sections (for which I hadn't received very few queries, even though the examples are notoriously hard to set up). I reimplemented the authentication example with a JDBC realm, which was no fun. Now I am at the web services section.

In the previous edition, I used the Amazon e-commerce service that lets you browse the Amazon catalog. It is pretty simple, really. Inject the service into a managed bean:

@WebServiceRef(wsdlLocation=
   "http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl")
private AWSECommerceService service;

Then call the service API.

Generate the client-side artifacts:

wsimport -p com.corejsf.amazon http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl
jar cvf aws.jar com/corejsf/amazon/*

Put the JAR file into WEB-INF/lib. Deploy, and it just works.

Except that Amazon has repositioned the API as a “product advertising API”, and you now need to be an “Amazon associate” to use it, which makes it less suitable for a book example.

Now what? I found a couple of web services directories here and here. SOAP services seemed pretty pathetic. Mostly vendor and academic demos. A magic square finder? Please...

There were two useful services that seemed to have a chance of being long-lived. The NOAA weather service and Microsoft Bing. Ok, let's make those client-side artifacts:

wsimport -p com.corejsf.noaa http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl
parsing WSDL...

[ERROR] rpc/encoded wsdls are not supported in JAXWS 2.0. 
  line 405 of http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl

wsimport -p com.corejsf.bing http://api.search.live.net/search.wsdl
parsing WSDL...

[ERROR] A class/interface with the same name "com.corejsf.bing.SearchRequest" is already in use. Use a class customization to resolve this conflict.
  line 1 of http://api.search.live.net/search.wsdl

[ERROR] (Relevant to above error) another "SearchRequest" is generated from here.
  line 1 of http://api.search.live.net/search.wsdl
(followed by seven more errors)

WT-*? Aren't these supposed to be interoperable?

Am I beating a dead dog here? This article describes research on finding web services. In 2008, they found a few thousand services, most of which didn't seem to work. Are WS-* services the new CORBA? I know there are lots of interesting RESTful services out there. The only drawback for me is (1) the data comes back as some ad-hoc XML, RSS, or JSON, and I have to deserialize it by hand and (2) there is no connection to JSF.

If you can point me to an interesting WS-* service that is free to use, likely to stay around for a few years, and has a WSDL that wsimport can process, I would very much appreciate if you leave a comment. Or, talk me into dropping the web service section altogether.