error code 405 returned by RQL web service

87 views
Skip to first unread message

Jonathan W

unread,
Feb 14, 2008, 11:23:46 AM2/14/08
to RedDot CMS Users
Hi all,

I'm trying to use the RQL web service for the first time. First
problem was that the WSDL file was missing in the \Program Files\RedDot
\CMS\ASP\WebService folder, which was in fact empty. RedDot support
first checked that SOAP had been installed, then sent me a zip file
with the contents of this folder.

So I've been able to use a tool called Axis to generate Java stubs.
But when I try to use them to send an RQL Query, I get a Java
exception:

java.net.UnknownHostException: svrrd-7-5

Then I thought I could put an entry in my HOSTS file mapping
"svrrd-7-5" to my RedDot server (I wonder if I'm supposed to change
something in the WebServices folder instead? but this seems to have
done the trick for now). Now I get this error:

(405)Method Not Allowed

I'm using CMS Version 7.5 Build 7.5.1.31. There is a thread from July
2007 suggesting that there was a bug causing this error in 7.5 which
was fixed in 7.5.0.42.

I don't actually know if the Web Service has been installed properly.
Does anyone have a "hello world" diagnostic test to confirm whether
RQL web service interface is up and running? For instance could you
capture the URL of a simple request for me to try? Unfortunately I
don't know .NET / ASP so if you're offering me something built out of
that it would have to contain idiot-proof installation instructions.

Sadly RedDot UK support have gone quiet on me.

thank you,

Jonathan

Nick Wesselman

unread,
Feb 14, 2008, 11:56:03 AM2/14/08
to RedDot CMS Users
Jonathan,

svrrd-7-5 is probably the server where support pulled that ZIP. The
WSDL's are server specific. It also appears that though you have the
WSDL in place, the web service isn't setup with your SOAP toolkit. Try
running the SOAP toolkit and regenerating the WSDL from the
RDCMSXMLServer.wgen configuration file under \Program Files\RedDot
\CMS\ASP\WebService\.

If you still have problems, you might try the newer RQL service WSDL
--
http://(your server)/cms/services/rqlservice.asmx

I haven't used it though, and I'm not sure where/how it returns the
RQL error string.

Good luck.

Jonathan W

unread,
Feb 14, 2008, 12:58:38 PM2/14/08
to RedDot CMS Users
Brilliant! Thanks Nick, within 15 minutes of reading your post I've
managed to log in and choose a project using the Web Service after 3
days of twiddling my thumbs and finding other jobs to do! Sometimes I
wish RedDot support were as clued up.

I generated new Java stub classes from the new WSDL service you sent
(I had to put ?WSDL on the end of it so it becomes http://(your
server)/cms/services/rqlservice.asmx?WSDL), and then everything
worked. once I'd removed referenced to the RQL error string.

I'd love to know where the RQL error string goes to with the new
webservice if anybody knows! The new webservice's executeString method
takes one String parameter (the query) and returns a String (the
response), unlike the old one which had two ObjectHolder parameters
for the response and the error info.

Nick Wesselman

unread,
Feb 14, 2008, 4:07:04 PM2/14/08
to RedDot CMS Users
No problem.

You could find out rather quickly about the error string by issuing a
bad u/p for login, or just supplying a bad XML string. Perhaps
executeString will return the error instead, or maybe they even throw
an exception?

Jonathan W

unread,
Feb 15, 2008, 7:06:47 AM2/15/08
to RedDot CMS Users
Various kinds of error message get thrown as the String message of an
Java RemoteException, e.g.:

(1) Server was unable to process request. --> Please login
(2) Server was unable to process request. --> #RDError101
(3) Server was unable to process request. --> XMLServer.Execute: No
iodata tag: '', XML-Parser, Error -1072894406: A document must contain
exactly one root element. Line 2 Position 97
(4) Server was unable to process request. --> XMLServer.Execute: No
iodata tag: 'IODATA2',
(5) Server was unable to process request. --> ADMINISTRATION2: Line
0, ERROR#429, ActiveX component can't create object

Do you think there is meant to be any structure to these messages?
Does the old WSDL provide a more structured error object? The above
doesn't make it easy for client software to work out what has gone
wrong.

Secondly, how do you completely logout a user from the server using
the Web Service? All I've found in the Doku is "Logging Off from a
Module" which is /IODATA/ADMINISTRATION/MODULE/@action="logout", and
when I try that it just returns the error "Please login". It's getting
a bit wearing having to logout my special webservice user manually
from Server Manager.

Thanks

El Pollo Loco

unread,
Feb 15, 2008, 11:03:12 AM2/15/08
to RedDot CMS Users
RDError101 means you are already logged into CMS with another session.

On this note, does anyone know how to catch this exception when
logging in with ASP\Services\SessionService.asmx, and get the login
guid to log out the logged in session?
Message has been deleted

Jonathan W

unread,
Feb 18, 2008, 11:22:39 AM2/18/08
to RedDot CMS Users
To answer one of my own questions, I've found out how to log yourself
out (by checking RDCMS.log). This appears to be undocumented in my
version of the RQL manual:

<IODATA user="jonathanw" loginguid="DBB9ABB4BEE249E0BDFB44D73EC6AA01">
<ADMINISTRATION>
<LOGOUT guid="DBB9ABB4BEE249E0BDFB44D73EC6AA01" />
</ADMINISTRATION>
</IODATA>

El Pollo Loco

unread,
Feb 18, 2008, 2:21:38 PM2/18/08
to RedDot CMS Users
Jonathan,

Logging out is not the problem. The problem is more of the chicken or
the egg and in getting the login guid of the logged in user from ASP
\Services\SessionService.asmx (fyi....this one actually is documented)

In classic ASP and COM with RQL, you are able to get the RQL response
even if there is an RD101 error, which allows you to get the logged in
users login guid to logoff with the RQL call you posted. The problem I
have is that with SessionService.asmx, or ASP\Services
\RQLService.asmx, I cannot get the login guid.

Not being able to do this has not stopped me from accomplishing
anything, but it just would be nice.

solarding

unread,
Feb 22, 2008, 9:04:52 AM2/22/08
to RedDot CMS Users
Exactly EI Pollo, I was supprised when see this RQLService.asmx, yet
after I know this stupid
RD101 inconsistency I gave it up. Actually since long we were using
our own web service, which
just simply wrap up the local COM+, and it keeps all my codes unique,
not matter remote call
or local call.
so why not build it yourself Jonathan? ;-)
> > </IODATA>- Zitierten Text ausblenden -
>
> - Zitierten Text anzeigen -
Reply all
Reply to author
Forward
0 new messages