I created a xcelsius model with some web service connector. I created webservices link using QAWS. I selected this webservice link and it reurns the data.
Whne I export this model to TEST the webservice url is not working as it still have DEV server name.
Are there any solution to automatically to change the server name in the webservice url to TEST server name and have my model works in TEST.
I mean any best practices to migrate xcelsius model from one environment to another.
I guess there is no such mechanism which changes environments automatically in the WSDL when migrated as of now. One need to manually edit the WSDL in TEST to point to universe in TEST and force it to change the name of machine after migration .
This is a know bug and is expected to be corrected inthe next version Xcelsius 5.0 which is expected somtime in first quarter this year.
try using a relative url what i mean by that is, you build your query using QaAWS and publish it to your BO environment and when you get the url
in your web services component remove the server details and export the dashboard now when you move the query from one environment to another the flash file should work . http://dswsbobje/qaawsservices/ActiveRegistrants?WSDL
I have a doubt. You said to remove the servername in the wsdl and export tyhe dashboard and then it should work.
Say we migrated WSDL from DEV to TEST.But after migration on TEST machine the WSDL url has the name of the DEV machine and still points to DEV universe etc…This means even if the relative URL mechanism you mentioend works, it still points to DEV WSDL !!
Once you move you query from dev to test using import wizard, the url will still point to you dev environment but when you click on edit it will point out that the wsdl is pointing to a diff server and prompt if you wish to change it and it will basically walk you through the process without affecting the query and when you publish it you dashboard will speak to your dev universes and the dashboard that they are pointing to.
In the Web Service Connector in xCelsius, the Web Server that will serve the web service is found in the Input Values of the connector (in the format of http://:/dswsbobje/services/session). That can also be a link to the model. So if the web service connectors are created from WSDL definitions in Dev, then the Dev server will be displayed. Just update that field with the Test server URL, and it will take. Even better, link the server name to your model, so all web services are updated at once. I created a Combo Box selector that had all the different platforms as values, and had it linked to a cell in the model. That cell was referenced by all the web service connectors. So whenever I exported the dashboard to a platform (Dev, Test, Stage, Prod), I would just select the appropriate label in the combo box as the default selection, and the web services would be updated appropriately. This is the cleanest way I’ve come up with.
A quick update on the relative URL method suggested by Narain:
I couldn’t get the relative URL working !! Did anyone had it working ??
Technique suggested by gjelmore sounds interesting and have a quick question regarding this.
"I created a Combo Box selector that had all the different platforms as values, and had it linked to a cell in the model. That cell was referenced by all the web service connectors. "
Having said the above how can we point the WSDL in webservice to a cell as a webservice connector doesn’t give the option to pick WSDL from any cell ??
I couldn’t get the relative URL or the method suggested by gjelmore working !!
Did anyone had it working ??
I tried what gjelmore suggested and tried tracing it but it always looks at the DEV and not PROD when the Combo box was changed. Does the WSDL link we submit at first automatically update itself when the server is changed under the Input Values??
gjelmore:
I am stuck here while trying your method.Please find the attached image where i don’t had the option to point webservice to a Cell. (I am using Work group edition and dont think should have problem with this)
Narainmajji:
After migrating the WSDL’s from DEV they are republished to point to TEST machine. Attached is the document how i failed successfully Please let me know if missed something.
The relative URL work assuming you don’t have a reverse proxy setup or any other type of re-direct when you make a call to the service. The relative URL will work for LO or QaaWS.
If you are using Live Office with SP2, you should be fine using the CEWebServiceURL
I will have an article about this on my blog next week.
If you CAN link the web service to the data model, then simply map an input var that holds the environments web service location to the cell used to by the web service connector. Since we dynamically generate the html that is embedding the swf, we can programmatically set the web service address on the fly by changing the var in the object tag in the html.
However:
That said, I too don’t have the ability to link the web service connector to the data model as I don’t have the button. How can I get the button to occur???
I am not able to get the relative URL working. I removed the server name from the URL in "Input Values" in Xcelsius and exported to BO. When I open the flash file in BO it gives me this error: "Unable to load URL: http://dswsbobje/services/session"
The environment is XI SP2/QaaWS/Xcelsius 4.5
I deployed WSDL from Test to Dev and the WSDL are now pointing to the Dev server.
I am ultimately accessing the SWF file from a custom app using the CELogonToken.