Talk:Jakarta XML RPC

History of JAX-RPC
We need more of a history here. Here's some approximate things that need more details/dates


 * JAX-RPC 1.0 200x? to accompany JAX-M, the API for XML messaging. Implemented by Apache Axis, Sun web services. BEA WebLogic. IBM used a fork of Axis in WebSphere.
 * JAX-RPC 1.1 200x? fix errors in the first release. Unsigned longs are permitted. Implemented by Apache Axis, Sun web services. BEA WebLogic. JBoss took a fork of Axis for JBoss.
 * JAX-WS 2.0: 2005. This uses JAX-B for data binding. JAX-WS shipped in Java 6.0 runtime in 2006, and is part of the Java EE 5 specification. Implemented in Apache Axis 2.0, Sun Java Web Services Developer Pack, and JBoss Web Services. Presumably WebSphere and BEA Weblogic have their own implementations.

SteveLoughran 17:06, 25 January 2007 (UTC)

Criticism of JAX-RPC
I am the co-author a fairly thorough critique of JAX-RPC:

cite: Loughran S. and Smith E., Rethinking the Java SOAP stack, proceedings IEEE International Conference of Web Services 2005, http://www.hpl.hp.com/techreports/2005/HPL-2005-83.html

Some people agree; Sun think I am clearly an incompetent fool blaming the tools for my own inability to get things to work, and anyway, JAX-WS fixes all the problems. Perhaps someone unbiased would care to examine the dispute and produce a more balanced article on JAX-RPC. In particular:

SteveLoughran 17:06, 25 January 2007 (UTC)
 * Its focus on generating the [WSDL] from the Java classes
 * Its bias towards Java-Java communications, to the extent that JAX-RPC 1.0 ignored those datatypes (like unsigned long) that were not in Java.
 * Its use of blocking [RPC] as the client-side API, and the appropriateness for long-haul communication.

How Is JAX-RPC like and dissimiliar to RMI?
I understand that both RMI and JAX-RPC are ways to invoke remote methods. Is RMI always Java-to-Java and JAX-RPC Java-to-Java-or-other?

If you're developing "all-Java" sofware do you need "Web Services"?

Kaydell Leavitt 166.70.81.134 02:03, 26 May 2007 (UTC)

Web Services are nothing like RMI. In RMI you can send serialized java objects over the wire to other Java programs, which, if they have (or can load) compatible versions of the same classes, they can then deserialize. Communication is between RMI interfaces on objects, with proxy classes in each client's VM that talks over the wire, manages references. In RMI you even have distributed garbage collection.

In Web Services you are sending and receiving XML messages between programs that can be written in arbitrary languages, with different type systems (some have unsigned types, others have no built in notion of lists and hash tables, etc.). Many of the assumptions you make in RMI about compatible types (the thing at the far end will understand this object) and about what you are talking to (it's another object) are in fact wrong. This is why JAX-RPC is so bad: it presents the same metaphor as RMI; objects serialized to remote interfaces, but there is no guarantee the thing at the far end can make sense of it.

If you are doing java-java comms (forever) and are talking on a LAN, where distributed communications and long-haul connectivity are not an issue, then yes, RMI is nice. For long-haul communications, communications between different versions of an application, or across languages, then no, it does. But you know what -neither does the JAX-RPC API for web services. SteveLoughran 15:28, 6 July 2007 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified one external link on Java API for XML-based RPC. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20070129124618/http://weblogs.java.net/blog/kohlert/archive/2005/05/jaxrpc_20_renam.html to http://weblogs.java.net/blog/kohlert/archive/2005/05/jaxrpc_20_renam.html

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 23:03, 22 November 2017 (UTC)