gregarican
IS-IT--Management
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.
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.