What does it mean to be "WS-I" compatible? The more important question for you will be which WS* you're going to work with.
There are many people who have used Savon to write SOAP clients. There might be other libs out there, but it always worked for me. You'll get good support for well formulated questions here at StackOverflow.
So go ahead and try.
I recommend to download SoapUI as well as it is a tremendous help in debugging a SOAP service.