Path

ez projects / ggwebservices / news


News

The biggest new feature of this release is compatibility with the eZPublish REST v2 API.

This includes the visual debugger - making troubleshooting pesky REST problems nice and easy.

But there's a lot of both bugfices and new features - read on for a detailed changelog

An ajax + bugfixes + documentation release

  • better support for ajax calls
  • added a dedicated javascript function for "proxy" mode (useful to avoid same-origin problems when accessing remote services)
  • fixed a fatal error when assigning access permissions to webservices/execute
  • much improved documentation

A single bugfix, related to (all types of) clients waiting a long time for responses when talking to some http servers which have bad configurations related to keepalives.

Get it at: http://projects.ez.no/ggwebservices/downloads/gg_webservices_0_11/ggwebservices_0_11_3_zip

Fork it at https://github.com/gggeek/ggwebservices

A bugfix release, mostly useful to SOAP users:

  • soap client now correctly generates the SOAPACtion http header when in wsdl mode
  • soap client properly takes in account soap version (1.1 versus 1.2) from ini file settings
  • bugfixes in the list of servers shown in the debugger, left-hand column

A bugfix-only release:

  • make debugger compatible with ezformtoken extension
  • assorted debugger bugfixes related to javascript interaction (esp. for Chrome users)
  • fix fatal error in xmlrpc client (introduced in 0.11)

Not a lot of changes, but at least one bugfix:

when using basic auth, part of the request http headers were being dropped

Also a small change: the error code returned by the client when receiving error http status codes in responses has changed (helps with REST services)

Highlights of this release:

  • better support for REST calls in the client (can send http request encoded as json, use all http verbs, and especially receive responses in XML format)
  • better support for SOAP calls from templates
  • full REST support in the debugger (except for oauth) :-)

New in this release:

  • code samples for connecting to twitter
  • restored compatibility with php 5.2 when using json

New in this release:

  • Flickr api support (code samples for connecting to Flickr and LastFm provided)
  • debugger is compatible with eZP 4.5
  • simpler debugging of client-side calls: both request and response are traced in the debug output

Codenamed "back to the future", this release adds a much improved support for creating SOAP servers.

  • fully automatic (or manual) wsdl generation
  • a human-readable version of the wsdl file is also automatically made available
  • based on the php native soap extension
  • access permissions can be given per-webservice or limited by client ip address

For the first time, complete documentation of the php-level API is also included (tanks to the ezextensionbuilder extension used for packaging the zip file).

Inspecting a remote soap server's wsdl file

Main new features:

  • The debugger can now be used with SOAP servers !!!
  • Added ezjscore client, so that ezjscore methods can be called on remote servers
  • All clients: add support for setting cookies, ssl options

Bugfixes: quite a few bugs fixed in the client classes.

The clients are now considered stable and featureful enough to be used as basis for the debugger instead of the external phpxmlrpc library.

So much new stuff that it is hard to summarize it here :-)

  • a bugfix in adding parameters to xmlrpc clients (when using php code, not the template fetch function)
  • support for soap 1.2 besides 1.1 (client)
  • rest client is now incredibly more flexible, it can really be used to query services such as flickr, yahoo, facebook or google
  • many more parameters can be set in the definition of target servers in the ini file, such as eg. NTLM or Digest authentication, support for http compression etc...
  • the debugger supports debugging ezjscore call

Be sure to read carefully the changelog file.

Please also be sure to test this baby before putting it in production if you're upgrading an existing installation, as the refactoring has been massive.

Still working on proper support for creating SOAP webservices with proper WSDL...

In the meantime, you get:

  • allow to register webservices methods with dots in their name
  • a new webservice: ezp.authandexec; it allows to authenticate and execute a 2nd webservice in a single call. Very useful for those ws clients that do not support session cookies
  • a new policy limitation on the webservices/execute view: per siteaccess

Lots of new features and 2 bug fixes in this new release:

  • added support for calling external services that require simple POST (a.k.a. html forms) to the template fetch function / ggeZWebservicesClient class
  • added a view to invoke webservices without the need of a specific controller file: /webservices/execute/$protocol (supported protocols are currently xmlrpc and jsonrpc)
  • permissions to execute - with limitation on single webservices - can be granted on that view
  • add support of exposing ezjscore webservices to xmlrpc/jsonrpc calls via that view
  • added the Y.io.jsonrpc javascript function for Yui 3 (in module 'io-jsonrpc') to ease execution of jsonrpc calls from the browser
  • moved javascript libraries to 'standard' design, so that they can be used for front-end interfaces too
  • added a cronjob to rotate logs of executed ws calls. By default added to infrequent set
  • upgrade the included phpxmlrpc lib to 3.0.0 beta, fixing all warnings with php 5.3
  • webservice server classes now catch exceptions raised by user-provided functions while handling invocation calls; use the server's $exception_handling member to finetune this behaviour
  • allow module view (and custom controllers too) to load all functions in soap/jsonrpc/xmlrpc dirs regardless of the incoming call's protocol. Set RegisterAllProtocolsFunctions=enabled to activate
  • fix: give a debuggable error message if soap extension is not enabled and user tries to create a ggPhpSOAPClient
  • fix: bad php constants where used by ggXMLRPCServer if invalid params where received

There have veen a couple of incompatible changes too - please read carefully the changelog before upgrade.

The new release boasts one big improvement: support for WSDL descriptions of remote soap services via usage of the php native SOAP extension!

The proxy module is now working and it has gained support for policy limitations on remote servers.

Other minor changes include future-proofing: naming conflicts with php 5.3 new reserved keywords have been fixed.

You can get it from: projects.ez.no/ggwebservices/downloads/gg_webservices_0_3/ggwebservices_0_3_zip

The complete changelog is available here: svn.projects.ez.no/ggwebservices/trunk/extension/ggwebservices/doc/changelogs/CHANGELOG-0.2-to-0.3

Main improvement in this release is the addition of a full graphical debugger GUI, that can be used to troubleshoot connections to local or remote xmlrpc / jsonrpc servers.

Support for connecting to remote servers via proxies has been improved, as well as https connections when no curl extension is available.

Last but not least, a couple of bugs have been fixed

The first release of the gg Webservices extension is available.

It allows to:

  1. expose php functions as xmlrpc or jsonrpc webservices, using the same API used for creating soap webservices in the stock eZ Publish
  2. call external xmlrpc, jsonrpc or rest webservices, from either php or template code

More to come in the future!