You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@ws.apache.org by "Kujawa, Greg" <Gr...@DiamondCellar.com> on 2006/02/06 19:30:55 UTC

Incompatible Method Responses?

I have an external xmlrpc server that's implemented in Ruby. My other client
apps coded in Python, Ruby, and Smalltalk can communicate with it fine. My
Java app (which utilizes Apache's xmlrpc 1.0) cannot parse the returned xml
results sent from the server, however. Rather than rewrite the server using
Apache's xmlrpc 1.0 Java implementation I would like to get the Java client
end aligned with the rest of my environment.

Viewing the traffic being sent back and forth using Ethereal I see that the
Ruby xmlrpc server is sending back results in the following format using a
test method call:

<?xml version="1.0" ?>
  <methodResponse>
    <params>
      <param>
        <value>
          <string>foo
          </string>
        </value>
      </param>
    </params>
  </methodResponse>

Here is the response being sent back from a test xmlrpc server I created
using Apache's xmlrpc 1.0 implementation:

<?xml version="1.0" ?>
  <methodResponse>
    <params>
      <param>
        <value>
          <array>
            <data>
              <value>foo
              </value>
            </data>
          </array>
        </value>
      </param>
    </params>
  </methodResponse>


Both test method calls coming from the client were identically coded. It's
the server that's returning different results depending on whether or not
it's implemented in Ruby or in Apache's xmlrpc 1.0 Java implementation. Is
there a way that I can use an alternative content handler on the Java xmlrpc
client end so that I can hook into the Ruby xmlrpc server? This server is
based on Electric XML and is called REXML.