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?
on 2006-02-02 01:57
on 2006-02-02 16:27
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?
on 2006-02-02 17:27
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 :-)
on 2006-02-04 13:26
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 :-) 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...