Ruby SOAP client questions

T

Tom

I'm trying to write a Ruby SOAP client to talk to, what appears to be
a very strange SOAP server (something written in Java).

The server requires me to submit an "AuthRequest" with a username and
password, and it returns an authToken and a sessionId. I can
authenticate properly, but the server requires that the authToken and
sessionId parameters be put in the Header, not the Body of successive
requests. II don't know how to get the SOAP library to do this (or if
it is possible). AuthRequest returns this:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<context xmlns="urn:zimbra">
<sessionId type="admin"id="151">151</sessionId>
</context></soap:Header>
<soap:Body><AuthResponse xmlns="urn:zimbraAdmin">
<authToken>0_e5a61cd7bf0d7b41e53ccf9e111140f0d1a33f97_79643d33363a39646335623033662d336465632d346661632d383339302d3366366539323436653835343b
6578703d31333a313136353530343334393231373b61646d696f3d313a313b</authToken>
<lifetime>43200000</lifetime>
<a n="zimbraIsDomainAdminAccount">false</a>
<sessionId type="admin" id="151">151</sessionId>
</AuthResponse></soap:Body></soap:Envelope>

If you notice above, the server always supplies a Header back too. So
how can I put parameters into the Header? Can I build a custom header
if needed?

Also, how do you add a custom attribute to a SOAP method parameter?
One of the SOAP methods that I have to call is called
"GetAccountRequest", and it requires a parameter called "account", but
it requires an attribute, like this:

<account by="name">[email protected]</account>

How can I specify that "by" attribute?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,271
Latest member
BuyAtenaLabsCBD

Latest Threads

Top