Dan, Until a few minutes ago, I had everything working by following the following rule: in RPC, return values have an element based on the output part. In Doc/Literal, there is no such element.
Then I hit a counter-example from one of our demos. The CXF service for this method produces a part-level element. And I'm failing to figure out from the model data structure how I'm supposed to tell that this needs different treatment. My first thought was that isElement on the part would clue me in. No such luck. Many of the output message parts which do not generate a part-level element have isElement = true. @ResponseWrapper(localName = "sayHiResponse", targetNamespace = "http://apache.org/hello_world_soap_http/types", className = "org.apache.hello_world_soap_http.types.SayHiResponse") @RequestWrapper(localName = "sayHi", targetNamespace = "http://apache.org/hello_world_soap_http/types", className = "org.apache.hello_world_soap_http.types.SayHi") @WebResult(name = "responseType", targetNamespace = "http://apache.org/hello_world_soap_http/types") @WebMethod public java.lang.String sayHi();
