private void constructDOCParameters(ServiceEndpointMethodMapping semm, WSDLInterfaceOperation wiop, WSDLBindingOperation bindingOperation)
{
WSDLInterfaceOperationInput win = WSDLUtils.getWsdl11Input(wiop);
WSDLInterfaceOperationOutput output = WSDLUtils.getWsdl11Output(wiop);
JBossXSModel schemaModel = WSDLUtils.getSchemaModel(wsdlDefinitions.getWsdlTypes());
MethodParamPartsMapping mpin = null;
boolean holder = false;
if (win != null)
{
QName xmlName = win.getElement();
QName xmlType = win.getXMLType();
String partName = win.getPartName();
String wsdlMessageName = win.getMessageName().getLocalPart();
XSTypeDefinition xt = schemaModel.getTypeDefinition(xmlType.getLocalPart(), xmlType.getNamespaceURI());
boolean wrapped = isWrapped();
if (wrapped)
{
wrapped = unwrapRequest(semm, wsdlMessageName, xmlName.getLocalPart(), xt);
}
if (wrapped == false)
{
if (xt instanceof XSSimpleTypeDefinition)
xmlType = SchemaUtils.handleSimpleType((XSSimpleTypeDefinition)xt);
String paramMode = "IN";
holder = output != null && xmlName.equals(output.getElement());
if (holder == true)
{
paramMode = "INOUT";
}
mpin = getMethodParamPartsMapping(semm, xmlName, xmlType, 0, wsdlMessageName, paramMode, partName, false, true);
semm.addMethodParamPartsMapping(mpin);
}
}
if (holder == false && output != null)
{
QName xmlName = output.getElement();
QName xmlType = output.getXMLType();
boolean primitive = true;
String targetNS = wsdlDefinitions.getTargetNamespace();
QName messageName = new QName(targetNS, output.getMessageName().getLocalPart(), WSToolsConstants.WSTOOLS_CONSTANT_MAPPING_WSDL_MESSAGE_NS);
String partName = output.getPartName();
String containingElement = xmlName.getLocalPart();
boolean array = false;
XSTypeDefinition xt = schemaModel.getTypeDefinition(xmlType.getLocalPart(), xmlType.getNamespaceURI());
ReturnTypeUnwrapper unwrapper = new ReturnTypeUnwrapper(xmlType, schemaModel, isWrapped());
if (unwrapper.unwrap())
{
if (unwrapper.unwrappedElement != null)