Issues with the Publisher API Java Client

Posted by Simas Aleksiejunas in Miscellaneous , May 13th, 2013

Our Java API client library is currently experiencing SSL connection problems and is not usable for SOAP protocol. The problem is unfortunately more complex than simply an expired certificate. Our team is working hard to prepare an updated version of the client and we will put it online as soon as it is ready. We will be updating this post with the latest information. We apologise for the inconvenience.

Please note, that the API itself and clients in other programming languages are not affected.

(13/05)Update 1: If you are using the client to retrieve own data (with own API credentials), you can work around this problem by switching to one of the REST protocols – JSON or XML. This will be transparent for your application. To do this, provide “xml” or “json” as a constructor parameter:

ApiInterface api = new ApiClient("xml").getService();
ApiInterface api = new ApiClient("json").getService();

Please note that you will not be able to use the zanox authentication methods such as GetSession or GetOfflineSession via REST.

(13/05)Update 2: We have a beta version of the updated Java client library for you – fresh from the IDEs of our developers. The SSL bug has been fixed and all methods can again be used via SOAP. If your application requires GetSession, GetOfflineSession and PromoteSession methods, we recommend you to give this version a go. Please note, this library is a fresh beta, so if the old library with REST enabled suffices for your application, we do not recommend to switch to this version. A fully tested version will be released after it passes our internal QA processes.

(download link removed, see the next update)
Changes:

  • Removed all references to the Publisher API 2009 and zanox Connect 2009/2010 as all are discontinued

  • Switched to use zanox Connect 2011 (originally was 2010)

  • GetOfflineSession return type renamed and includes additional parameter “connectSessionToken” which will always be null for external developers

(16/05)Update 3: Based on your feedback, we have fixed quirks in the beta API client which caused exception when using dateType enum in REST getLeads/getSales methods and missing enumerator values in all method responses. You can download the updated version here: ApiClient_2011-03-01_1.03

Please note, that if you’re using this release, you can also go back to using the old trusted SOAP protocol, i.e. instantiate the client without constructor parameters:
ApiInterface api = new ApiClient().getService();

4 Responses to “Issues with the Publisher API Java Client”

  1. Juri Kuehn Says:

    Hi Simas,

    thanks for the update. Are there any new releases yet? With XML/JSON it was not possible to query for modification date (we fetch leads and sales every night and update our data). Before the SSL problem everything worked. With the Update 3 we could query again but if we query for modification date, we get results for the tracking date instead.

    So
    service.getSales(queryDate, DateTypeEnum.MODIFIED_DATE, null, null, null, 0, 50);

    gives same results as

    service.getSales(queryDate, DateTypeEnum.TRACKING_DATE, null, null, null, 0, 50);

    Do you have advice or a solution?

  2. Simas Aleksiejunas Says:

    Hi Juri,

    I can confirm the problem. Only SOAP protocol is affected though, if you switch to REST (json or xml) – the filter will work. To switch to REST, you have to initialize the API client with “xml” or “json” as string parameter, e.g.:

    new ApiClient("xml").getService();

    We will be releasing an update for the client to fix SOAP as well. Before that happens, for simple use cases, such as getting leads and sales, it is worth considering consuming zanox web service directly without the client. Generating the client from the WSDL is quite straightforward and I will try to write a blog post about authentication over the coming week.

    If you have any questions or remarks, you can write me directly at simas.aleksiejunas[at]zanox.com

  3. Juri Kuehn Says:

    new ApiClient(“xml”).getService(); does the trick with ApiClient_2011-03-01_1.03.

    Thanks!

  4. David Acevedo Says:

    Hello,

    I am using the latest java api client you published (ApiClient_2011-03-01_1.03). I would like to use the getTrackingCategories service but it doesnt seem to be implemented in this java client (https://developer.zanox.com/web/guest/publisher-api-2011/get-programapplications-program-adspace-trackingcategories).
    Am I missing something?

    Thanks!

Leave a Reply