} else if (conversational) {
conversationSequence = ConversationSequence.CONVERSATION_CONTINUE;
}
// Set outputType to null for void
XMLType xmlReturnType = new XMLType(new QName(ns, "return"), null);
DataType<XMLType> returnDataType =
returnType == void.class ? null : new DataTypeImpl<XMLType>(UNKNOWN_DATABINDING, returnType,
xmlReturnType);
List<DataType> paramDataTypes = new ArrayList<DataType>(parameterTypes.length);
for (int i = 0; i < parameterTypes.length; i++) {
Class paramType = parameterTypes[i];
XMLType xmlParamType = new XMLType(new QName(ns, "arg" + i), null);
paramDataTypes.add(new DataTypeImpl<XMLType>(UNKNOWN_DATABINDING, paramType, xmlParamType));
}
List<DataType> faultDataTypes = new ArrayList<DataType>(faultTypes.length);
for (Class<?> faultType : faultTypes) {
// Only add checked exceptions
if (Exception.class.isAssignableFrom(faultType) && (!RuntimeException.class.isAssignableFrom(faultType))) {
XMLType xmlFaultType = new XMLType(new QName(ns, faultType.getSimpleName()), null);
faultDataTypes.add(new DataTypeImpl<XMLType>(UNKNOWN_DATABINDING, faultType, xmlFaultType));
}
}
DataType<List<DataType>> inputType =