private Method findOperation(AxisOperation op, Class implClass) throws AxisFault { Method method = (Method) (op.getParameterValue("myMethod")); if (method != null) return method; String methodName = op.getName().getLocalPart(); try { // Looking for a method of the form "void method(OMElement)" method = implClass.getMethod(methodName, new Class[] {OMElement.class}); // if (1 == 1) // throw new Exception("return type is " + method.getReturnType().getName() + "\n" + // "methodName is " + methodName + "\n" + // "class is " + implClass.getName()); if (method.getReturnType().getName().equals("void")) { try { op.addParameter("myMethod", method); } catch (AxisFault axisFault) { throw AxisFault.makeFault(axisFault); } return method; } } catch (Exception e) { throw AxisFault.makeFault(e); } if (logger.isDebugEnabled()) { logger.debug("return class is " + method.getReturnType().getName()); } return null; }
private Method findOperation(AxisOperation op, Class implClass) { Method method = (Method) (op.getParameterValue("myMethod")); if (method != null && method.getDeclaringClass() == implClass) return method; String methodName = op.getName().getLocalPart(); try { // Looking for a method of the form "OMElement method(OMElement)" method = implClass.getMethod(methodName, new Class[] {OMElement.class}); if (method.getReturnType().equals(OMElement.class)) { try { op.addParameter("myMethod", method); } catch (AxisFault axisFault) { // Do nothing here } return method; } } catch (NoSuchMethodException e) { // Fault through } return null; }