*** SOLVED ***
Point 1: String[] datatype
The String[] datatype is put forward in the documentation for both input parameter and output return from your developed web service function. But it seems that the Avaya Email Manager is very specifically looking for this datatype to be serialized in the WSDL as a Microsoft ArrayOfString datatype in namespace:
http://schemas.microsoft.com/2003/10/Serialization/Arrays
Although it is possible to generate Java classes to provide this signature to the function, it is not simple. It is easiest to just develop a .NET web service as per the samples provided by Avaya.
Point 2: flat WSDL
Although a Java web service will provide a flat WSDL as required, you still have the datatype issue discussed in point 1. Avaya does provide pointers to third party utilities in order to flatten a WSDL in .NET v4.0 or earlier. However, even though AACC 6.4 for which this product feature was added requires only .NET v4.0, it is just simpler to go ahead and install .NET v4.5 and compile the web service on this version of .NET. This then provides a flat WSDL.
Point 3: output parameter mapped to Skillset
Well done to Avaya on this one. Testing actually proves that the Email Manager does in fact take the Skillset name and does the mapping to ID for you. Therefore if returning skillset from your web service this must just be the skillset name.
Greg.