There are also ways in which SOAP4R breaks unexpectedly for valid input. I??™ve run into
one case where an object contained a property called "not", which broke SOAP4R completely.
In the same manner, using multipart MIME documents seems to fail consistently.
CHAPTER 12 ?– WEB SERVICES WITH JRUBY 219
Despite this, SOAP4R is highly useful both in development and production. It allows you
to consume web services much more easily than with any other language, and the malleability
of the Ruby language helps the implementation a lot. Also, when problems arise it can often
be simple to find them yourself and fix them. On the other hand, some limitations are hard to
get around. For example, SOAP4R doesn??™t like multipart MIME data very much, and the only
solution I??™ve found to that problem is to strip all multipart data from the SOAP response
before SOAP4R sees it.
The WSDL support is quite nice, allowing you to generate both server and client stubs
from a WSDL file. If the WSDL isn??™t too complicated, you can generate this information at
runtime too. There is support for XML Schema, but it??™s not complete. Further, SOAP4R doesn??™t
support generating WSDL at this point.
SOAP4R also can handle both SSL communication and authentication using either HTTP
BASIC or SSL authentication through the underlying transport layer. You can also do some
low-level things with SOAP if you feel the need to, working outside WSDL and other communication
protocols.
Pages:
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328