return;
}
BindingInput wsdlBindingInput = wsdlBindingOperation.getBindingInput();
SOAPBody wsdlSoapBody = WSDLUtils.getExtension(wsdlBindingInput, SOAPBody.class);
List<SOAPHeader> wsdlSoapHeaders = WSDLUtils.getExtensions(wsdlBindingInput, SOAPHeader.class);
Wsdl1SoapMessageImpl input = new Wsdl1SoapMessageImpl();
input.setName(wsdlInput.getMessage().getQName());
input.setNamespace(wsdlSoapBody.getNamespaceURI());
String inputName = wsdlInput.getName();
if (inputName == null || inputName.length() == 0) {
inputName = wsdlOperation.getName();
}
input.setMessageName(inputName);
for (Iterator itPart = wsdlInput.getMessage().getOrderedParts(null).iterator(); itPart.hasNext();) {
Part wsdlPart = (Part) itPart.next();
Wsdl1SoapPartImpl part = new Wsdl1SoapPartImpl();
part.setName(wsdlPart.getName());
part.setType(wsdlPart.getTypeName());
part.setElement(wsdlPart.getElementName());
if ((wsdlSoapBody.getParts() == null && wsdlInput.getMessage().getOrderedParts(null).size() == 1) ||
wsdlSoapBody.getParts().contains(part.getName())) {
part.setBody(true);
if (operation.getStyle() == Style.DOCUMENT) {
input.setElementName(wsdlPart.getElementName());
}
} else {
boolean header = false;
for (SOAPHeader h : wsdlSoapHeaders) {
if (wsdlPart.getName().equals(h.getPart())) {
header = true;
}
}
if (header) {
part.setHeader(true);
} else {
throw new IllegalStateException("Unbound part: " + part.getName());
}
}
input.addPart(part);
}
if (operation.getStyle() == Style.RPC) {
input.setElementName(new QName(input.getNamespace(), operation.getName().getLocalPart()));
}
operation.setInput(input);
}