private static void processRequestInput(CommonParams cparams, CallableRequest request)
throws DataServiceFault {
String requestName = request.getRequestName();
AxisOperation axisOp = cparams.getAxisService().getOperation(new QName(requestName));
CallQueryGroup cqGroup = request.getCallQueryGroup();
CallQuery defCallQuery = cqGroup.getDefaultCallQuery();
Query query = defCallQuery.getQuery();
AxisMessage inMessage = axisOp.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
/* only create input parameters, if there are any available */
if (inMessage != null &&
(cparams.getDataService().isEmptyParamFix() ||
defCallQuery.getWithParams().size() > 0)) {
inMessage.setName(requestName + Java2WSDLConstants.MESSAGE_SUFFIX);
/* create input message element */
XmlSchemaElement inputElement = createElement(cparams, query.getInputNamespace(),
requestName, true);
/* complex type for input message element */
XmlSchemaComplexType inputComplexType = createComplexType(cparams,
query.getInputNamespace(), requestName, false);
/* set element type */
inputElement.setType(inputComplexType);
/* batch requests */
if (request instanceof Operation && ((Operation) request).isBatchRequest()) {
XmlSchemaElement nestedEl = new XmlSchemaElement();
Operation parentOp = ((Operation) request).getParentOperation();
if (parentOp != null) {
nestedEl.setRefName(cparams.getRequestInputElementMap().get(
parentOp.getRequestName()));
nestedEl.setMaxOccurs(Long.MAX_VALUE);
addElementToComplexTypeSequence(cparams, inputComplexType, query.getInputNamespace(),
nestedEl, false);
} else {
throw new DataServiceFault("No parent operation for batch request: "
+ request.getRequestName());
}
} else {
/* normal requests */
XmlSchemaElement tmpEl;
Map<String, WithParam> withParams = defCallQuery.getWithParams();
WithParam tmpWithParam;
/* create elements for individual parameters */
for (QueryParam queryParam : query.getQueryParams()) {
if (DBConstants.QueryTypes.IN.equals(queryParam.getType())
|| DBConstants.QueryTypes.INOUT.equals(queryParam.getType())) {