/* */ }
/* */
/* 619 */ for (int i = 0; i < parameterTypes.length; i++)
/* */ {
/* 621 */ Class javaType = parameterTypes[i];
/* 622 */ Type genericType = genericTypes[i];
/* 623 */ String javaTypeName = javaType.getName();
/* 624 */ WebParam anWebParam = getWebParamAnnotation(method, i);
/* 625 */ boolean isHeader = (anWebParam != null) && (anWebParam.header());
/* 626 */ boolean isWrapped = (opMetaData.isDocumentWrapped()) && (!isHeader);
/* 627 */ ParameterMode mode = getParameterMode(anWebParam, javaType);
/* */
/* 630 */ if ((opMetaData.isOneWay()) && (mode != ParameterMode.IN)) {
/* 631 */ throw new IllegalArgumentException("A one-way operation can not have output parameters [method = " + method.getName() + ", parameter = " + i + "]");
/* */ }
/* 633 */ if (HolderUtils.isHolderType(javaType))
/* */ {
/* 635 */ genericType = HolderUtils.getGenericValueType(genericType);
/* 636 */ javaType = JavaUtils.erasure(genericType);
/* 637 */ javaTypeName = javaType.getName();
/* */ }
/* */
/* 640 */ if (isWrapped)
/* */ {
/* 642 */ QName wrappedElementName = getWebParamName(opMetaData, i, anWebParam);
/* 643 */ String variable = convertToVariable(wrappedElementName.getLocalPart());
/* */
/* 645 */ WrappedParameter wrappedParameter = new WrappedParameter(wrappedElementName, javaTypeName, variable, i);
/* 646 */ wrappedParameter.setTypeArguments(convertTypeArguments(javaType, genericType));
/* */
/* 648 */ if (mode != ParameterMode.OUT) {
/* 649 */ wrappedParameters.add(wrappedParameter);
/* */ }
/* 651 */ if (mode != ParameterMode.IN)
/* */ {
/* 653 */ wrappedParameter.setHolder(true);
/* */
/* 656 */ if (mode == ParameterMode.INOUT)
/* 657 */ wrappedParameter = new WrappedParameter(wrappedParameter);
/* 658 */ wrappedOutputParameters.add(wrappedParameter);
/* */ }
/* */
/* 661 */ processAttachmentAnnotationsWrapped(scanResult, i, wrappedParameter);
/* */ }
/* */ else
/* */ {
/* 665 */ QName xmlName = getWebParamName(opMetaData, i, anWebParam);
/* */
/* 667 */ ParameterMetaData paramMetaData = new ParameterMetaData(opMetaData, xmlName, javaTypeName);
/* 668 */ paramMetaData.setInHeader(isHeader);
/* 669 */ paramMetaData.setIndex(i);
/* 670 */ paramMetaData.setMode(mode);
/* */
/* 684 */ if ((anWebParam != null) && (!opMetaData.isDocumentWrapped()) && (anWebParam.partName().length() > 0)) {
/* 685 */ paramMetaData.setPartName(anWebParam.partName());
/* */ }
/* 687 */ opMetaData.addParameter(paramMetaData);
/* 688 */ this.javaTypes.add(javaType);
/* 689 */ this.typeRefs.add(new TypeReference(xmlName, genericType, parameterAnnotations[i]));
/* */
/* 691 */ processAttachmentAnnotations(scanResult, i, paramMetaData);
/* 692 */ processMIMEBinding(epMetaData, opMetaData, paramMetaData);
/* */ }
/* */
/* */ }
/* */
/* 697 */ Class returnType = method.getReturnType();
/* 698 */ Type genericReturnType = method.getGenericReturnType();
/* 699 */ String returnTypeName = returnType.getName();
/* 700 */ if (returnType != Void.TYPE)
/* */ {
/* 702 */ if (opMetaData.isOneWay()) {
/* 703 */ throw new IllegalArgumentException("[JSR-181 2.5.1] The method '" + method.getName() + "' can not have a return value if it is marked OneWay");