I've been having a look at the e-commerce module. One feature that I would like to have that is not in the Silverstripe eCommerce module is the ability to link to other systems. For example, it would be very useful if it could link up with an accounting/ERP package such as opentaps. This would allow orders to automatically be placed into the accounting books.
This could be achieved using something such as SOAP to communicate between the two systems (opentaps already uses SOAP for Amazon integration). I see a few threads in the archive about using SOAP with Silverstripe, but nothing that suggests that anyone has been successful. Has anyone successfully used SOAP with Silverstripe? For that matter, has anyone looked at (or considered) adding the ability to link to external systems to the e-Commerce module?
Any suggestions on how best to add such a feature would be appreciated.
Yeah, we are using SOAP to communicate with a middleware application in www.worldwideworker.com .... It works , but you cannot use the "default" data-objects because those only work for Silverstripe's own Database and datamodel. We ended up doing a lot of on the fly conversions from SOAP data to Silverstripe viewable data (DataobjectSets etc.)...
Thanks for the info Fuzz10. I expected to there to be a certain amount of data conversion going on. Are you connecting to a SOAP server as a client? Or is the Silverstripe site the server? For what I am trying to achieve, I think that it makes most sense to run the Silverstripe as the server.
I've just noticed that there is a file called SapphireSoapServer.php, which may be what I'm looking for. However, it requires the SoapServer class, which doesn't exist on my system (I guess that PHP 5's SOAP module isn't installed). Does anyone have any details on using this SapphireSoapServer?
Well, the hardest part was converting the SOAP data into something silverstripe could work with...... I did not succeed in finding a solution to get the data-layer to "transparently" talk to soap instead of a database.....