New Canvas instance issue


Hi Guys got an issue creating a new Canvas instance.

I have copied the root folder to a new folder. Modified the new instance folder to point to an different TM1 server.

I have restarted the CWAS server and can see the new application. When I look at the instance in the canvas application, I can see TM1 instance name. However when I try and connect to the instance via a command like $tm1II.cellget, there is no response. It does not even try to login to the TM1 instance. network panel just has pending.

If I change the code and instances.json to another TM1 instance, it work. Seems to be this one TM1 instance that does not work.



Hi @bknott,

It could be a port issue. Try to see if the REST API is enabled first.

Check the metadata URL for example, and see if returns an XML response:

//  check this URL
http://<TM1 Server>:<HttpPortNumber>/api/v1/$metadata

// or if UseSSL=T for that server
https://<TM1 Server>:<HttpPortNumber>/api/v1/$metadata

Let us know how it goes.



I think its an internal SSL issue. Canvas cannot connect using https. If I set UseSSL=F then we have no issues.

Anyway problem solved at the moment.



Hi @bknott,

Canvas should be able to connect to that even if the parameter for UseSSL=T. In fact, the samples application that comes with Canvas is connecting to a secure TM1 server.

The browser should be able to tell usually what is wrong. What does the browser returns?



I think its something to do with the fact that the Canvas install is on a different server in the production environment. The sample works but the dev server has both TM1 and Canvas installed in it.



Hi @bknott,

Then usually, the only other issue would be, if the port is blocked.

So if you try putting the REST API for $metadata in the URL and it does not return anything, then it is most probably due to port being blocked.

So check and ensure that the $metadata xml is accessible from where Canvas is. If it is accessible, whatever URL you have used in your browser to access that, should be the same as what is inside your restUri in instances.json.

For example, if you typed: https://server-prod:12345/api/v1/$metadata in the browser and it returns the XML, then the instances.json should have an entry like:

"restUri": "https://server-prod:12345"



Hi @bknott,

On the actual server, you can maybe try to run the resource monitor and see what the current status is for the ports/firewall settings.

From command prompt or the windows start button>>files search box, type:
then click the network tab and look at the listening ports section for more detail.



Canvas_Sample tm1 instance didn’t work for me.
Because by default it uses tm1s.cfg: CertificateVersion=2
After I commented this parameter, I could see Canvas_Sample tm1 instance from architect and from Canvas.

bknott, Can you see your new instance from architect?


No when certificateVersion=2 is enabled then I cannot see the sample database in Architect.



yes. that I’m saying. IF this parameter was enabled in tm1s.cfg, you might need disable it.
but if you can see instance in Architect, you no need change tm1s.cfg.

Is your new instance located in new server? if yes, maybe you can try to reconfigure tomcat to use another port, if 8080 is occupied by another application.

<canvas install folder>\conf\server.xml

change port here:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" />


No its all good. The statement is disabled and I have no issues.