Ruby and Soap Soap4r

I can't wrap my head around a soap4r issue i'm having, need some help please!

So here is what I have:

This is the example envelope from a .net web service to authorize:

POST /PublicAPIReport/publicapiservice.asmx HTTP/1.1 Host: 10.1.2.64 Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://REMOVEDFORSECURITY/WebServices/PublicAPIService/ Authorize"

<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd="http://www.w3.org/2001/XMLSchema&quot; xmlns:soap="http:// schemas.xmlsoap.org/soap/envelope/">   <soap:Body>     <Authorize xmlns="http://REMOVEDFORSECURITY/WebServices/ PublicAPIService">       <Auth>         <User>string</User>         <Password>string</Password>         <CompanyID>string</CompanyID>         <Version>string</Version>       </Auth>     </Authorize>   </soap:Body> </soap:Envelope>

Here is my code to create this envelope:

def store_metric

    endpoint_url = "http://REMOVEDFORSECURITY/PublicAPIReport/ publicapiservice.asmx"     namespace = "http://REMOVEDFORSECURITY/WebServices/ PublicAPIService"     soapaction = "http://REMOVEDFORSECURITY/WebServices/ PublicAPIService/Authorize"     user = "REMOVEDFORSECURITY"     pass = "REMOVEDFORSECURITY"     company = "REMOVEDFORSECURITY"     version = "7.0.1"

    driver = SOAP::RPC::Driver.new(endpoint_url, namespace, soapaction)     driver.add_rpc_method('Authorize', 'User' , 'Password', 'CompanyID' , 'Version')     authorize = driver.Authorize(user, pass, company , version)

end

But this code of course results in this:

Wire dump:

= Request

! CONNECT TO 10.1.2.64:80 ! CONNECTION ESTABLISHED POST /PublicAPIReport/publicapiservice.asmx HTTP/1.1 SOAPAction: "http://REMOVEDFORSECURITY/WebServices/PublicAPIService/ Authorize" Content-Type: text/xml; charset=utf-8 User-Agent: SOAP4R/1.5.5 (/187, ruby 1.8.6 (2007-03-13) [powerpc- darwin8.8.0]) Content-Length: 640 Host: 10.1.2.64

<?xml version="1.0" encoding="utf-8" ?> <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema&quot;     xmlns:env="Error;     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;&gt;   <env:Body>     <n1:Authorize xmlns:n1="http://REMOVEDFORSECURITY/WebServices/ PublicAPIService"         env:encodingStyle="Error;       <User xsi:type="xsd:string">REMOVEDFORSECURITY</User>       <Password xsi:type="xsd:string">REMOVEDFORSECURITY</Password>       <CompanyID xsi:type="xsd:string">Uinta</CompanyID>       <Version xsi:type="xsd:string">7.0.1</Version>     </n1:Authorize>   </env:Body> </env:Envelope>

= Response

HTTP/1.1 200 OK Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 Cache-Control: private, max-age=0 Content-Type: text/xml; charset=utf-8 Content-Length: 388

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="Error; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd="http://www.w3.org/2001/ XMLSchema"><soap:Body><AuthorizeResponse xmlns="http:// REMOVEDFORSECURITY/WebServices/ PublicAPIService"><AuthorizeResult>false</AuthorizeResult></

</soap:Body></soap:Envelope>

Thanks so much for any help! I'm pulling my hair out trying to figure out how to get it working.

-Cam