Actually just found this from the examples in the JAX-RPC 1.1 spec: -
The JAX-RPC specification does not specify a standard Java mapping for a
xsd:complexType with the xsd:anyAttribute. So the message part in the
DoAnotherExample message is mapped as a SOAPElement.
Forget that, the paragraph refers to anyAttribute not attribute.
wscompile is incorrect, and it is actually wrong in many areas like this. A complex type should only be unwrapped if there are no attributes. The reason is lack of order which is essential to determining a correct method signature.
On this topic, we have a bug where array types are unwrapped if there are attributes.