// MAP PARAMETERS
for (int i = 0; i < paramMappings.length; i++) {
MethodParamPartsMappingType paramMapping = paramMappings[i];
int position = paramMapping.getParamPosition().getBigIntegerValue().intValue();
ParameterDesc parameterDesc = mapParameter(paramMapping);
parameterDescriptions[position] = parameterDesc;
}
if (wrappedStyle) {
Part inputPart = getWrappedPart(input);
QName name = inputPart.getElementName();
SchemaType operationType = (SchemaType) schemaInfoBuilder.getComplexTypesInWsdl().get(name);
Set expectedInParams = new HashSet();
// schemaType should be complex using xsd:sequence compositor
SchemaParticle parametersType = operationType.getContentModel();
//parametersType can be null if the element has empty content such as
// <element name="getMarketSummary">
// <complexType>
// <sequence/>
// </complexType>
// </element>
if (parametersType != null) {
if (SchemaParticle.ELEMENT == parametersType.getParticleType()) {
expectedInParams.add(parametersType.getName().getLocalPart());
} else if (SchemaParticle.SEQUENCE == parametersType.getParticleType()) {
SchemaParticle[] parameters = parametersType.getParticleChildren();
for (int i = 0; i < parameters.length; i++) {
expectedInParams.add(parameters[i].getName().getLocalPart());
}
}
}
if (!inParamNames.equals(expectedInParams)) {
throw new DeploymentException("Not all wrapper children were mapped for operation name" + operationName);
}
} else {
//check that all input message parts are mapped
if (!inParamNames.equals(input.getParts().keySet())) {
throw new DeploymentException("Not all input message parts were mapped for operation name" + operationName);
}
}
Class[] paramTypes = new Class[parameterDescriptions.length];
for (int i = 0; i < parameterDescriptions.length; i++) {
ParameterDesc parameterDescription = parameterDescriptions[i];
if (parameterDescription == null) {
throw new DeploymentException("There is no mapping for parameter number " + i + " for operation " + operationName);
}
operationDesc.addParameter(parameterDescription);
paramTypes[i] = parameterDescription.getJavaType();
}
String methodName = methodMapping.getJavaMethodName().getStringValue().trim();
Method method = null;
try {