title: Ruby's soap4r not providing namespace?
body: <p>I'm attempting to use soap4r (from <a href="https://github.com/mumboe/soap4r" rel="nofollow">https://github.com/mumboe/soap4r</a>) to write a SOAP Client for a product called SysAid.</p>
  
  <p>I have a working example of the SOAP client in Java and, for most methods, my Ruby client works too. The Java client is useful in determining errors with the Ruby version.</p>
  
  <p>I'm receiving an error when I use a particular call:</p>
  
  <pre><code>SOAP::FaultError: prefix xs is not bound to a namespace
  </code></pre>
  
  <p>Here's the message that soap4r sent, which generated that error:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
  &lt;env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"&gt;
    &lt;env:Body&gt;
      &lt;n1:save xmlns:n1="http://api.ilient.com/"&gt;
        &lt;sessionId&gt;1339292997261&lt;/sessionId&gt;
        &lt;apiSysObj xsi:type="n1:apiServiceRequest"&gt;
          &lt;customDateFields&gt;&lt;/customDateFields&gt;
          &lt;customFields&gt;
            &lt;entry&gt;
              &lt;key xsi:type="xs:string"&gt;sr_cust_dafis_fau&lt;/key&gt;
              &lt;value xsi:type="xs:string"&gt;&lt;/value&gt;
            &lt;/entry&gt;
            &lt;entry&gt;
              &lt;key xsi:type="xs:string"&gt;sr_cust_activity&lt;/key&gt;
            &lt;/entry&gt;
          &lt;/customFields&gt;
          &lt;description&gt;This is the description of the ticket.&lt;/description&gt;
        &lt;/apiSysObj&gt;
      &lt;/n1:save&gt;
    &lt;/env:Body&gt;
  &lt;/env:Envelope&gt;
  </code></pre>
  
  <p>And here is what Java sends for the same method, which the server does <em>not</em> complain about:</p>
  
  <pre><code>&lt;?xml version="1.0" ?&gt;
  &lt;S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"&gt;
    &lt;S:Body&gt;
      &lt;ns2:save xmlns:ns2="http://api.ilient.com/"&gt;
        &lt;sessionId&gt;1339199684324&lt;/sessionId&gt;
        &lt;apiSysObj xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:apiServiceRequest"&gt;
          &lt;customDateFields/&gt;&lt;customFields&gt;
          &lt;entry&gt;
            &lt;key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string"&gt;sr_cust_dafis_fau&lt;/key&gt;
            &lt;value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string"&gt;&lt;/value&gt;
          &lt;/entry&gt;
          &lt;entry&gt;
            &lt;key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string"&gt;sr_cust_activity&lt;/key&gt;
          &lt;/entry&gt;
        &lt;/customFields&gt;
        &lt;description&gt;This is the description of the ticket.&lt;/description&gt;
      &lt;/apiSysObj&gt;
    &lt;/ns2:save&gt;
  &lt;/S:Body&gt;
  &lt;/S:Envelope&gt;
  </code></pre>
  
  <p>As you can see, the error is coming from the customFields tag. soap4r is leaving out the xmlns:xs attribute on the key tag, while Java is putting it in.</p>
  
  <p>soap4r does not make critical errors like this on any other method call as far as I can tell.</p>
  
  <p>How can I get soap4r to add this needed attribute to the key tag?</p>