Automattic / jetpack

Security, performance, marketing, and design tools — Jetpack is made by WordPress experts to make WP sites safer and faster, and help you grow your traffic.
https://jetpack.com/
Other
1.59k stars 798 forks source link

General/XMLRPC: Useful error messages #2534

Open kraftbj opened 9 years ago

kraftbj commented 9 years ago

When our debugging tools fails at authenticated_xmlrpc_request_for_jetpack_passes_connection_test that often suggests the failure happened when verifying the signature. When the issue isn't obvious, it would be helpful if xmlrpc would respond with something more notable than [faultCode] => -32601 [faultString] => server error. requested method jetpack.testConnection does not exist.

PatelUtkarsh commented 9 years ago

Hey @kraftbj you want something like this

// Is the message a fault?
        if ( $this->message->messageType == 'fault' ) {
            switch ( $this->message->faultCode ) {
                case -32601:
                    $this->message->faultString = 'Server error occurred while verifying signature.';
                    break;
            }
            $this->error = new IXR_Error( $this->message->faultCode, $this->message->faultString );
            return false;
        }

Or something on server side itself ?

kraftbj commented 8 years ago

@PatelUtkarsh I'm so sorry I didn't see your comment until now. Something along those lines. There are a few cases where, when we see the error in support, we know 99% what it probably is. i'm thinking we should communicate the common causes back.

kraftbj commented 8 years ago

With regard to negative error code #4410, those are XML-RPC error codes that we mimic from WordPress itself ( https://github.com/WordPress/WordPress/blob/master/wp-includes/class-IXR.php#L777 ), which I think we overall get from http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php

stale[bot] commented 6 years ago

This issue has been marked as stale. This happened because:

No further action is needed. But it's worth checking if this ticket has clear reproduction steps and it is still reproducible. Feel free to close this issue if you think it's not valid anymore — if you do, please add a brief explanation.