Connection problems using QaaWS in a web tier architecture
SAP Business Objects XI 3.1
In a recent project it took me some days to get QaaWS working in a BO web tier architecture. I didn't find enough information on the internet, so I want to share my experiences here. The idea was to publish a Query as a Web Service on the Webserver, which gets the data from a database connection stored on the BO Server. A public Xcelsius flash object can then access the data via Web Service.
Our web tier architecture consists of
- 1 BO Server (CMS, Repository)
- 1 Web Server (Tomcat 5.5) - exposed to the internet
In retrospect there were three main points I had to consider to finally get Xcelsius via QaaWS and web tier architecture working:
Assign ports
To get the connection between the BO Server and Web Server working when using a firewall you have to manually assign port numbers to the 'Request Port' in your CMC for all necessary BO services. Uncheck the Auto assign box and enter a free port number. If you don't do that, the services would pick different random port numbers. Enter for your CMS request port 6401 for example and don't forget to assign to the other servers a port number, if you need them (Webi processing server, etc.)
After that you can open those ports on your firewall. The Web Server should now communicate with the BO Server.
Adjust dsws.properties
If your QaaWS still doesn't provide any data, you probably have to add your CMS server name to the dsws.properties configuration file. To my mind that's a bug, because I already entered the name of the CMS Server when I did the web tier installation and the connection works, but it does not when using QaaWS. Dswsbobje is looking for the CMS on the Web Server and of course can't find it. So open your dsws.properties file and just add/change the line
domain=Server:port (e.g. domain=BOXI31:6400)
Restart your Web Server. Now also QaaWS (the dswsbobje application) knows where your CMS is.
Add crossdomain.xml
Another prerequisite when accessing data external with flash is that you need crossdomain.xml file in your webapps-root directory (error codes: #2170 or #2048) . Therefore you find lots of information on the internet (e.g. here or here). Just add a text file with the file name 'crossdomain.xml' to the ROOT folder of your web server (e.g. C:\Program Files (x86)\Business Objects\Tomcat55\webapps\ROOT) with the following content:
<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd "><cross-domain-policy><allow-http-request-headers-from domain="*" headers="*" secure="false" /><allow-access-from domain="*" secure="false" /></cross-domain-policy>
Restart your Web Server. Try to open your flash object again.
No comments:
Post a Comment