[Rets-dev] search problems on rapattoni server
Keith T. Garner
kgarner at crt.realtors.org
Thu Mar 29 19:23:11 CDT 2007
Joe Marino wrote:
> Hello all,
> I am somewhat new to RETS and relatively new to software development. I
> am building a custom client for a my customer (My Dad). It took me a
> while and lots of help from Keith but I finally able to login!! I am
> having a problem searching on a rapattoni server. I understand that
> there are search requirements for this server in which I have access to
> only limited search fields and only in conjunction with certain fields.
> However, whenever I try to perform a legal search, I get an error saying
> I do not have access to a certain field.
>
> `Search': Unauthorized query. The query could not be executed because
> supplied login does not have access to the SearchPrice field.
> (ArgumentError)
>
> I've been reading through the documentation and I believe the problem
> lies in my understanding of the RETS specification. When I login and
> request capability urls, I am given a search but not an action URL. In
> section 4.10 of RETS 1.7 it states: "A URL (action-url) on which the
> client MUST perform a GET immediately after login.... A server is not
> required to supply an action URL." My client does not perform a GET
> after logging in because I am not supplied one. Is this something I need
> to worry about?
This should not be causing a problem, at least not the one you have listed
above. However, you can call RetsSession::GetAction() to be sure.
> I also noticed the search URL is different than the login URL, which
> makes sense, but am I going to have to somehow change the session (using
> librets btw) over to this search URL before querying the server in order
> to perform a search?
librets handles that for you transparently.
> When I called Rapattoni RETS support for assistance, because I believed
> I wasn't given the necessary permissions, he mentioned something about a
> cookie that I am not receiving. Am I to request this cookie separate
> from the login transaction?
librets handles that for you transparently. libRETS will send back all
cookies that the server sends it. You can use HTTP logging or perform a
packet trace something like wireshark or ethereal to confirm
You may also want to try settings RetsSession::UseHttpGet(false). Due to
confusion in how the DIGEST-AUTH has been implemented, sometimes this fixes
authentication/authorization issues. ezRETS (which is built on libRETS)
defaults to this behavior and rarely has issues.
Keith
--
Keith T. Garner - Managing Director - Center for REALTOR® Technology
kgarner at realtors.org - 312-329-3294 - http://blog.realtors.org/crt
More information about the Rets-dev
mailing list