Couple of points:

1. It would be better to add an endpoint parameter to loadSemanticTagService (it currently incorrectly assumes the endpoint is always connections). Then inside that method it should determine if the endpoint is for SmartCloud. We need a way to determine how to do this reliably, I'm not sure if using the proxyPath will always work. What happens if I use smartcloudBasic or smartcloudOA2 endpoints?

2. There are other places with loadSemanticTagService is called, we should make sure they all work.