class WSDLParser {

    public QName getOperationQname(String operationName)
            throws UnknownOperationException {
        
        if ("rpc".equals(parser.getOperationStyle(null, operationName))) {
            QName rpcMethodName = parser.getRPCRequestMethodName(null, operationName);
            if (rpcMethodName == null) {
                parser.getRPCResponseMethodName(null, operationName);
            }
            
            return rpcMethodName;
        }
        
        // all these things are odd... there is no any wrapper for the 'document' style
        LinkedHashMap<String, XmlSchemaObject> parameters = parser.getInputParameters(null, operationName);
        if (parameters.size() > 0) {
            XmlSchemaObject xmlSchemaObject = parameters.values().iterator().next();
            if (xmlSchemaObject instanceof XmlSchemaElement) {
                XmlSchemaElement element = (XmlSchemaElement)xmlSchemaObject;
                return element.getQName();
            }
        }
        
        return null;
    }

    public  WSDLParser(String wsdlLocation);

}