class JaxWsServiceConfiguration extends AbstractServiceConfiguration {

    @Override
    public QName getOutPartName(OperationInfo op, Method method, int paramNumber) {
        method = getDeclaredMethod(method);

        if (paramNumber >= 0) {
            return getPartName(op, method, paramNumber, op.getOutput(), "return", false);
        }
        WebResult webResult = getWebResult(method);
        String tns = op.getOutput().getName().getNamespaceURI();
        String local = null;
        if (webResult != null) {
            if (Boolean.TRUE.equals(isRPC(method)) || isDocumentBare(method)) {
                local = webResult.partName();
            }
            if (local == null || local.length() == 0) {
                local = webResult.name();
            }
        }

        if (local == null || local.length() == 0) {
            if (Boolean.TRUE.equals(isRPC(method)) || !Boolean.FALSE.equals(isWrapped(method))) {
                local = "return";
            } else {
                local = getOperationName(op.getInterface(), method).getLocalPart() + "Response";
            }
        }

        return new QName(tns, local);
    }

    public  JaxWsServiceConfiguration();

}