Forum OpenACS Q&A: SOAP in AOLserver is not hard!

Collapse
Posted by Dave Bauer on
Getting SOAP support into AOLserver is not hard.

There is already an excellent SOAP/XMLRPC implementation in Tcl called
TclSOAP. It is avaialble at http://tclsoap.sourceforge.net.

It works fine, except for the annoying package require bugs in
AOLserver. This is not a huge problem. All that needs to be done is a
customized version. Figure out the order the files need to load in,
and rename them accordingly.

Now, getting SOAP into OpenACS is another project. For this we need
some sort of acs-service-contract that will allow us to plug in
potentially any RPC support and use it to export OpenACS based
services. I am not exactly sure how this would work, but
acs-service-contract is the best place to hook SOAP into OpenACS.

Collapse
Posted by Mark Aufflick on
Did you get it to work just by hand-loading the appropritae tcl files? If so do you want to paste up the file names and tcl chunk required to save me the effort?!

And so it sounds like you haven't needed to make any mods to the AOLServer code?

Collapse
Posted by Dave Bauer on
Mark,

I didn't actually ever do that, but it will work.

I did a really ugly hack to make package require work, but you need to load the code in every time you call it. Not exactly efficient.

I did test the code, and it does work once you get it loaded into aolserver. I don't know the exact order, examine the pkgindex.tcl file to find out.

Good luck!

Collapse
Posted by William Byrne on
"Oh, the joy of automating FORM POST ops, the FORM POST ops, the FORM POST ops.
  Fa la la la la ..."
:)~


What we have here is the need for a SOAP Service Gateway. A minimal implementation should include and not necessarily limited to:
  1. WSDL spec generator that distills public package methods.
  2. Interface stub generator for popular languages (C/C++ and Java).
  3. SOAP service gateway/codec for op propagation.
My problem is that I know too little about OpenACS and shudder at the thought of making critical recommendations to its architecture. I will be investigating integration of existing Tcl SOAP solutions into the OpenACS environment and attempt to bridge the logic at my own risk.

I state with the utmost confidence that SOAP integration into OpenACS will elevate it to a significantly more powerful solutions paradigm. The ability to leverage the innovative packages included with OpenACS using SOAP RPC gives developers, users, and business interests new tools that will expedite the utilization of the solutions OpenACS provides. If implemented, SOAP based Web Services should occupy the front pages of the OpenACS tabloids. It would be awesome!

I'd be happy to offer input. My background includes the design and management of a commercial M/T app server that incorporates a SOAP/HTTP codec, stub generator, dynamic WSDL port RPC paths, etc. If anyone is interested, let's talk. My time requirements mandate a hack implementation; however, a formal project might not be a bad idea.
Collapse
Posted by Mark Aufflick on
Hi William,

as it happens, I started working on a service/contract using the TclSOAP implementation this week. My first priority is XMLRPC client services, and next is full SOAP/WSDL soap client services.

I am about to head off on a 4 day vacation, but when I get back I will email you as I have minimal experience in real-life use of SOAP and would love to pick your brain.