/** Adds a parameter type and mode for a specific operation.
*/
public void addParameter(String paramName, QName xmlType, ParameterMode parameterMode)
{
TypeMappingImpl typeMapping = getEndpointMetaData().getServiceMetaData().getTypeMapping();
Class javaType = typeMapping.getJavaType(xmlType);
// CTS com/sun/ts/tests/jaxrpc/api/javax_xml_rpc/Call/AddGetRemoveAllParametersTest1
// tests addParameter/getParameter without giving the javaType for a custom parameter
// IMHO, this flavour of addParameter should only be used for standard types, where
// the javaType can be derived from the xmlType
if (javaType == null)
{
log.warn("Register unqualified call parameter for: " + xmlType);
javaType = new UnqualifiedCallParameter(xmlType).getClass();
typeMapping.register(javaType, xmlType, null, null);
}
addParameter(paramName, xmlType, javaType, parameterMode);
}