}
input.setMessage(inputMsg);
operation.setInput(input);
if (!op.isNonBlocking()) {
Output output = definition.createOutput();
Message outputMsg = definition.createMessage();
QName outputMsgName = new QName(namespaceURI, op.getName() + "Response");
outputMsg.setQName(outputMsgName);
outputMsg.setUndefined(false);
definition.addMessage(outputMsg);
if (op.getWrapper() != null) {
outputMsg.addPart(generateWrapperPart(definition, op, helpers, wrappers, false));
} else {
if ((op.getOutputType() != null) && ( op.getOutputType().getLogical().size() != 0)) {
DataType outputType = op.getOutputType().getLogical().get(0);
outputMsg.addPart(generatePart(definition, outputType, "return"));
elements = new ArrayList<ElementInfo>();
ElementInfo element = getElementInfo(outputType.getPhysical(), outputType, null, helpers);
elements.add(element);
QName elementName = ((XMLType)outputType.getLogical()).getElementName();
wrappers.put(elementName, elements);
}
}
output.setMessage(outputMsg);
operation.setOutput(output);
operation.setStyle(OperationType.REQUEST_RESPONSE);
} else {
operation.setStyle(OperationType.ONE_WAY);