javaMethod.addRequest(request);
boolean isOneway = method.isAnnotationPresent(Oneway.class);
if (!isOneway) {
QName resQN = new QName(targetNS, method.getName() + "Response");
TypeReference typeRef = new TypeReference(resQN, this.getClass(), new Annotation[0]);
WSDLParameter response = new WSDLParameter();
response.setName(method.getName() + "Response");
response.setStyle(JavaType.Style.OUT);
javaMethod.addResponse(response);
Class returnType = method.getReturnType();
String resultName = method.getName() + "Response";
String resultTNS = targetNS;
String resultPartName = "return";
WebResult webResult = method.getAnnotation(WebResult.class);
boolean webResultHeader = false;
if (webResult != null) {
resultName = webResult.name().length() > 0 ? webResult.name() : resultName;
resultPartName = webResult.partName().length() > 0 ? webResult.partName() : resultName;
resultTNS = webResult.targetNamespace().length() > 0
? webResult.targetNamespace() : resultTNS;
webResultHeader = webResult.header();
}
QName resultQName = new QName(resultTNS, resultName);
if (returnType != null && (!"void".equals(returnType.getName()))) {
// Annotation[] rann = method.getAnnotations();
Annotation[] rann = new Annotation[0];
typeRef = new TypeReference(resultQName, returnType, rann);
JavaParameter returnParameter = new JavaParameter(resultName, typeRef, JavaType.Style.OUT);
returnParameter.setPartName(resultPartName);
returnParameter.setTargetNamespace(resultTNS);
returnParameter.setHeader(webResultHeader);
response.addChildren(returnParameter);