Ruby xmlrpc/server incompatible?

I have had a Ruby xmlrpc/server instance running for awhile now. Using
both Ruby and Python xmlrpc client apps I have been able to
successfully pass information back and forth. Trying a Dolphin
Smalltalk xmlrpc client app I had to tweak their implemention a bit
since it wasn’t passing ‘Content-Type: text/xml’ in the HTTP header and
apparently the Ruby xmlrpc/server instance requires this to be set.
After doing so the Dolphin Smalltalk xmlrpc client worked as well.

But now I am having issues getting a SuperWaba xmlrpc client to receive
the information back from the Ruby xmlrpc/server instance. This
implementation is based on Apache’s xmlrpc 1.0 library so it should be
pretty standard. Is there something that’s incompatible that anyone is
aware of? I can see the xmlrpc calls being received on the Ruby
xmlrpc/server end, and can see a result set/code being passed back out
to the xmlrpc client. But that’s where it ends. The SuperWaba xmlrpc
client reports back an unexpected response from the server with a null
error code.

I know that this might be more of a client issue than a server one, but
has anyone run into problems getting the Ruby xmlrpc/server
communicating with other types of clients?

Here is one thing I noticed looking into this deeper:

I can see things process okay on the Ruby xmlrpc/server, but it’s where
the response is being passed back to the client where the problems
occur. I can successfully pass information back and forth with the Ruby
xmlrpc/server using other clients, such as Ruby, Python, and Smalltalk
xmlrpc clients. But just not with this SuperWaba xmlrpc client. I used
Ethereal to trace the TCP packets being passed and the successful
clients get a reply from the xmlrpc server, but the xmlrpc4sw clients
don’t receive the response over the wire. The only difference I see in
the POST http header coming from the clients is that the SuperWaba
xmlrpc client is passing a Accept-Encoding: identity parameter, whereas
the other clients aren’t. Could this be causing the problem since my
Ruby xmlrpc/server isn’t using any encoding or authentication?

Is there any option for enabling this encoding/authentication on the
Ruby end to test it out?

What I did was rebuild the SimpleHttpClient.java file on the xmlrpc
client end. I commented out the ‘Accept-Encoding: identity’ parameter
that was being added to the HTTP header. Once I did now I can see the
Ruby xmlrpc/server passing back the result set to the client. That is
one less thing to worry about. Now all I have to do is get the client
to parse the result set and use the data :slight_smile:

gregarican wrote:

What I did was rebuild the SimpleHttpClient.java file on the xmlrpc
client end. I commented out the ‘Accept-Encoding: identity’ parameter
that was being added to the HTTP header. Once I did now I can see the
Ruby xmlrpc/server passing back the result set to the client. That is
one less thing to worry about. Now all I have to do is get the client
to parse the result set and use the data :slight_smile:

It seems as now there’s an issue where my xmlrpc client isn’t parsing
the result set passed back from the Ruby xmlrpc/server correctly. Can
someone please tell me what default parser is being used by Ruby to
generate the xmlrpc response? Perhaps the parser being used by my
client isn’t matching up right…