well, here’s what i’ve found out… it seems that the XFire Web services don’t support the GET method and require a full SOAP document (as opposed to simple query string parameters). i was able to consume my web service by using POST and creating the SOAP document completely (i actually used SOAP UI and copy / pasted the soap request into a javascript string). in addition the web service method was called by making the top level element in the SOAP body be the name of the method. for example, my web service name was UserThings and the method was getUserThings (taking parameter user_id, which X-Fire compiles into in0 — i don’t know why they do this and it seems pretty stupid, but, oh well….) Here was the SOAP request which I passed that worked:
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:web=”http://webServices”>
<soapenv:Body>
<web:getUserThings>
<web:in0>1</web:in0>
</web:getUserThings>
</soapenv:Body>
</soapenv:Envelope>
The method getUserThings had to be the top level element in the body. There are probably a few javascript libraries out there that do SOAP parsing, or you can make a simple one and replace the inputs as necessary.