Hi there,
I run a blog that often credits other blogs for content. Instead of putting the "credit" link in the content of the post, I created a custom field for my theme that I then display on the front end below my article.
Because the outgoing link is not in my main content of my post, Wordpress does not pick up that there needs to be a trackback/pingback done. Working forward, I am going to add a hook for post published to try and access this field, but I already have 100's of posts that have not sent out pingbacks. It's not a big deal, but I would like to send those out.
So, I created a PHP script to access the Wordpress DB and pull out everything I needed and ran it in a loop to do a massive ping-athon to all the sites that I haven't pinged yet. Unfortunately I was always getting FaultCode 0 returned, with no message. I'm not the best at PHP, infact I don't know it at all so instead I wrote a console application in C# to ping these from my desktop computer when I provide it a list. But same thing, I get FaultCode 0.
So I tried mucking up the method name. So I sent something similar to this for the data :
<?xml version=1.0?>
<methodCall>
<methodName>pingback.png</methodName>
<params>
<param>
<value><string>http://mysite.com</string></value>
</param>
<param>
<value><string>http://destinationsite.com</string></value>
</param>
</params>
</methodCall>
Notice how I mis-spelled pingback.ping as pingback.png! And I actually got a different error message back about their being no such method. Great! So I am hitting the remote XMLRPC server, but for some reason it's always returning 0.
I saw that the first thing it does when it hits the pingback.ping method, is that it checks if the source URL starts with HTTP or HTTPS (I think, as I say, not the best at PHP). So I sent the source URL as starting with HTP instead of HTTP. And still I got faultCode 0 with no message, so I'm not even sure if it's entering the actual pingback method.
The full "blank" error message I get is below :
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>0</int></value>
</member>
<member>
<name>faultString</name>
<value><string></string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
My next step is to write echo statements within the XMLRPC method on my local machine and ping it with junk and see where it's going wrong, but any help would be much appreciated.