operationDesc.setReturnType(returnType);
operationDesc.setReturnClass(returnClass);
}
private ParameterDesc mapParameter(MethodParamPartsMappingType paramMapping) throws DeploymentException {
WsdlMessageMappingType wsdlMessageMappingType = paramMapping.getWsdlMessageMapping();
QName wsdlMessageQName = wsdlMessageMappingType.getWsdlMessage().getQNameValue();
String wsdlMessagePartName = wsdlMessageMappingType.getWsdlMessagePartName().getStringValue().trim();
String parameterMode = wsdlMessageMappingType.getParameterMode().getStringValue().trim();
byte mode = ParameterDesc.modeFromString(parameterMode);
boolean isInParam = mode == ParameterDesc.IN || mode == ParameterDesc.INOUT;
boolean isOutParam = mode == ParameterDesc.OUT || mode == ParameterDesc.INOUT;
if (isOutParam && output == null) {
throw new DeploymentException("Mapping for output parameter " + wsdlMessagePartName + " found, but no output message for operation " + operationName);
}
boolean isSoapHeader = wsdlMessageMappingType.isSetSoapHeader();
boolean inHeader = isSoapHeader && isInParam;
boolean outHeader = isSoapHeader && isOutParam;
QName paramQName;
QName paramTypeQName;