I am also working on setting up communications from my Web Client plugin to my backend server. My backend server that I want to communicate with may be on a remote system from the web client server so I will need both the hostname/ip address and the port where I can contact my server. I am looking at the mechanism you mention where information is stored in the plugin's Extension registration. I have a couple questions about that.
First of all I am registering my plugin programmatically using the com.vmware.vim25.Extension object. I am trying to find where I can place information about where my backend server is located. Would the extendedProductInfo filed be the appropriate place to put it (it is a list of ExtExtendedProductInfo objects)? By appropriate I mean that nothting other than my code would use the information stored there and it wouldn't have any effect on the plugin's deployment and use.
The second question I have is that during the initialization of my Web Client plugin code, how do I get a hold of the vcenter server's url/GUID so I can get the Extension object. In the vsphere-wssdk-provider example you mention, the server URL/GUID is determined and the +ServiceContent +fetched based on a object reference received. For setup I will not have any object reference to get a server guid from, so how can bootstrap contacting the server?