/* */ }
/* */
/* */ private int processDocElement(OperationMetaData operation, WSDLInterfaceOperation wsdlOperation, WSDLBindingOperation bindingOperation, ServiceEndpointMethodMapping seiMethodMapping, TypeMappingImpl typeMapping, List<WrappedParameter> wrappedParameters, List<WrappedParameter> wrappedResponseParameters)
/* */ {
/* 613 */ WSDLInterfaceOperationInput input = wsdlOperation.getInputs()[0];
/* 614 */ WSDLBindingOperationInput bindingInput = bindingOperation.getInputs()[0];
/* */
/* 617 */ QName xmlName = input.getElement();
/* 618 */ QName xmlType = input.getXMLType();
/* 619 */ String javaTypeName = typeMapping.getJavaTypeName(xmlType);
/* */
/* 621 */ TypesMetaData typesMetaData = operation.getEndpointMetaData().getServiceMetaData().getTypesMetaData();
/* 622 */ TypeMappingMetaData typeMetaData = typesMetaData.getTypeMappingByXMLType(xmlType);
/* 623 */ if (typeMetaData != null) {
/* 624 */ javaTypeName = typeMetaData.getJavaTypeName();
/* */ }
/* 626 */ if (javaTypeName == null) {
/* 627 */ throw new WSException("Cannot obtain java type mapping for: " + xmlType);
/* */ }
/* */
/* 630 */ boolean isWrapped = isWrapped(seiMethodMapping, javaTypeName);
/* 631 */ operation.getEndpointMetaData().setParameterStyle(isWrapped ? SOAPBinding.ParameterStyle.WRAPPED : SOAPBinding.ParameterStyle.BARE);
/* */
/* 633 */ ParameterMetaData inMetaData = new ParameterMetaData(operation, xmlName, xmlType, javaTypeName);
/* 634 */ operation.addParameter(inMetaData);
/* */ int wsdlPosition;
/* */ int wsdlPosition;
/* 637 */ if (inMetaData.getOperationMetaData().isDocumentWrapped())
/* */ {
/* 639 */ if (seiMethodMapping == null) {
/* 640 */ throw new IllegalArgumentException("Cannot wrap parameters without SEI method mapping");
/* */ }
/* 642 */ ServiceEndpointInterfaceMapping seiMapping = seiMethodMapping.getServiceEndpointInterfaceMapping();
/* 643 */ JavaXmlTypeMapping javaXmlTypeMapping = seiMapping.getJavaWsdlMapping().getTypeMappingForQName(xmlType);
/* 644 */ if (javaXmlTypeMapping == null) {
/* 645 */ throw new WSException("Cannot obtain java/xml type mapping for: " + xmlType);
/* */ }
/* 647 */ Map variableMap = createVariableMappingMap(javaXmlTypeMapping.getVariableMappings());
/* 648 */ for (MethodParamPartsMapping partMapping : seiMethodMapping.getMethodParamPartsMappings())
/* */ {
/* 650 */ WsdlMessageMapping wsdlMessageMapping = partMapping.getWsdlMessageMapping();
/* 651 */ if (wsdlMessageMapping.isSoapHeader()) {
/* */ continue;
/* */ }
/* 654 */ if (wsdlMessageMapping == null) {
/* 655 */ throw new IllegalArgumentException("wsdl-message-message mapping required for document/literal wrapped");
/* */ }
/* 657 */ String elementName = wsdlMessageMapping.getWsdlMessagePartName();
/* */
/* 660 */ if (bindingInput.getMimePart(elementName) != null) {
/* */ continue;
/* */ }
/* 663 */ String variable = (String)variableMap.get(elementName);
/* 664 */ if (variable == null) {
/* 665 */ throw new IllegalArgumentException("Could not determine variable name for element: " + elementName);