{
WSDLInterfaceOperationInput win = WSDLUtils.getWsdl11Input(wiop);
if (win == null)
throw new WSException("RPC endpoints require an input message");
String wsdlMessageName = win.getMessageName().getLocalPart();
JBossXSModel schemaModel = WSDLUtils.getSchemaModel(wsdlDefinitions.getWsdlTypes());
RPCSignature signature = new RPCSignature(wiop);
int i = 0;
for (WSDLRPCPart part : signature.parameters())
{
String partName = part.getName();
QName xmlName = new QName(partName);
QName xmlType = part.getType();
XSTypeDefinition xt = schemaModel.getTypeDefinition(xmlType.getLocalPart(), xmlType.getNamespaceURI());
if (xt instanceof XSSimpleTypeDefinition)
xmlType = SchemaUtils.handleSimpleType((XSSimpleTypeDefinition)xt);
MethodParamPartsMapping mpin = getMethodParamPartsMapping(semm, xmlName, xmlType, i++, wsdlMessageName, getMode(wiop, part.getName()), partName, false, true);
semm.addMethodParamPartsMapping(mpin);
}
WSDLRPCPart returnParameter = signature.returnParameter();
if (returnParameter != null)
{
String partName = returnParameter.getName();
QName xmlName = new QName(partName);
QName xmlType = returnParameter.getType();
XSTypeDefinition xt = schemaModel.getTypeDefinition(xmlType.getLocalPart(), xmlType.getNamespaceURI());
if (xt instanceof XSSimpleTypeDefinition)
xmlType = SchemaUtils.handleSimpleType((XSSimpleTypeDefinition)xt);
WsdlReturnValueMapping wrvm = new WsdlReturnValueMapping(semm);
wrvm.setMethodReturnValue(getJavaTypeAsString(xmlName, xmlType, false, true));