Firstly THANK YOU!!! This has saved me hours and put me on the right track. I now have the UserOid as a input.template parameter and have the UserCtxParam correctly coupled and retrieved. I also have my SignOid coming in too!
For anyone following this and still a bit confused, the following points:
1) It's not super clear in the example (to me), but for the input.template parameters, you don't need to specify associate logic.template entries but you must access them in the execute() method and NOT the constructor.
Also, I was trying to access them in the constructor using the line below (which did not work):
String theSignOid = DescriptorHelper.getChildValue(descr, "SignOid", true, this);
2) Also be mindful if you start by building the Hello World Unit tutorial. This Guide has different parameter names for the (ClassName)UnitService.java file. The BeanHelper method above must go in the execute() method (not the constructor) but the Map parameter name for the first parameter is different to the Guide. I had to use:
theUserId = BeanHelper.asString(pageContext.get(getId() + ".UserOid"));
theUserId = BeanHelper.asString(operationContext.get(getId() + ".UserOid"));
One final question(s) please? What does the Parameters collection contain? Where do the come from or how are they populated? There isn't any description there of this and it's not clear if this is part of the standard parameter passing mechanism or if it's specific to this Guide's example.