So if I understand you correctly , rather than mapping a Virtual thing from Java SDK to a Remote Thing Created in Thingworx , You want Java SDK to be code din a way that it creates a Thing on Thingworx server Using specific template from Thingworx .
There are severals ways with which you can acheive this , I am giving you a rough idea , how I achived this (as some one asked similar question few days ago)
tep 1 Create a new Template named as "TemplateForCreatingThingsRemotely" from Remote Template.
Step 2 Add Service with Name "CreateThing" with one input which would be name of new Thing which will be created
Example Script :
var params = {
name: NameOfThing /* STRING */,
description: me.description /* STRING */,
thingTemplateName: me.thingTemplate /* THINGTEMPLATENAME */,
tags: me.tags /* TAGS */
};
// no return
Resources["EntityServices"].CreateThing(params);
Step 3 , Create a Thing Extending this newly created Template.
Step 4 Test the Service .
Now you need to call the service of first Thing which you have created from "TemplateForCreatingThingsRemotely"from Edge or Java SDK.
Please do let me know if you find this useful or if you need further clarification or help on this.