Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8272839
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T07:15:54+00:00 2026-06-08T07:15:54+00:00

I have started to implement a blog pinging service in Java, using the Apache

  • 0

I have started to implement a blog pinging service in Java, using the Apache RPC Client libraries. However, I’m a little confused and I can’t seem to find a definitive specification for what a blog ping response should look like to check that it is successful.

I’ve looked at this, which appears to be an (official?) spec for a pingback.
http://www.hixie.ch/specs/pingback/pingback-1.0

However, this mentions that faultcodes will be returned, e.g.

http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php

A number of RPC Servers such as Google Blog search, seem to return an ‘flerror’ and ‘message’ element in their XML response, which seems more akin to this:

http://xmlrpc.scripting.com/weblogsCom.html

Whats going on here? I realise pingback was something that the web kind of hacked together, and it became a standard – but I’m confused as to what to code against, or indeed trust in a response. Can I trust the below? and will it work for all blog ping servers?

public  boolean ping( String urlToPing, String title, String url, String urlChanges, String urlRSS ) throws MalformedURLException, XmlRpcException
{
    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
    config.setServerURL( new URL( urlToPing ) );

    XmlRpcClient client = new XmlRpcClient();
    client.setConfig( config );

    Object[] params = new Object[] { title, url, urlChanges, urlRSS };
    HashMap result = ( HashMap )client.execute( "weblogUpdates.extendedPing", params );

    try
    {
        errors.put( url, Boolean.parseBoolean( result.get( "flerror" ).toString() ) );
    }
    catch( Exception e )
    {
        log.error( "RPC Problem Parsing response to Boolean trying: " + result.get( "flerror" ) );
    }

    return Boolean.parseBoolean( result.get( "flerror").toString()) ;
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T07:15:56+00:00Added an answer on June 8, 2026 at 7:15 am

    Can I trust the below? and will it work for all blog ping servers?

    The curt answer is no. Different server implementations will have bugs or misinterpret the spec, so you can’t write code that will work for all blog ping servers. The best you can do is to be liberal in what you accept, and try to deal with non standard/buggy servers as best you can.

    The pingback spec says,

    If the pingback request is successful, then the return value MUST be a
    single string, containing as much information as the server deems
    useful. This string is only expected to be used for debugging
    purposes.

    If the result is unsuccessful, then the server MUST respond with an
    RPC fault value. The fault code should be either one of the codes
    listed above, or the generic fault code zero if the server cannot
    determine the correct fault code.

    So a client expecting the server to comply to the spec would do something like,

    try {
         client.execute( "weblogUpdates.extendedPing", params );
    } catch(XmlRpcException e) {
        //check the code of the rpc exception as shown below,
        //log the error, or perhaps rethrow it?
        return false;
    } 
    

    If the server is following the pingback spec, it should return one of the following fault codes,

    0
    A generic fault code. Servers MAY use this error code instead of any of the others if they do not have a way of determining the correct fault code.
    0×0010 (16)
    The source URI does not exist.
    0×0011 (17)
    The source URI does not contain a link to the target URI, and so cannot be used as a source.
    0×0020 (32)
    The specified target URI does not exist. This MUST only be used when the target definitely does not exist, rather than when the target may exist but is not recognised. See the next error.
    0×0021 (33)
    The specified target URI cannot be used as a target. It either doesn't exist, or it is not a pingback-enabled resource. For example, on a blog, typically only permalinks are pingback-enabled, and trying to pingback the home page, or a set of posts, will fail with this error.
    0×0030 (48)
    The pingback has already been registered.
    0×0031 (49)
    Access denied.
    0×0032 (50)
    

    As you mentioned, several pingback servers return an error code, so you have to check for that as well with code like,

    try {
        Object rpcRVal = client.execute( "weblogUpdates.extendedPing", params );
        if(rpcRVal instanceof Map) {
            Object flError = ((Map) rpcRVal ).get("flerror");
            if(flError != null && flError instanceof Boolean) {
                return ((Boolean) flError).booleanValue());        
            }
        }
        return true;
    } catch(XmlRpcException e) ...
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have just started using EF Code First to implement a simple blog. I
we have started research on Service Broker and planning to implement in application. But
We are using Dtos in our WCF service interface, but have started to come
looking at dribbble, I have started to ask myself, how I would implement a
I have started using WSO2 Stratos live and started using WSO2 data services server.
I have started using SqLite recently, so I am relatively new to it. I
I have just started a new project using a Linq to Sql model and
Recently I have started to implement new experimental feature for my project. Unfortunately I
I have started with iPhone development sometime back and I am trying to implement
I have started using Yii framework and I have a -newbie- question about the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.