[cl-soap-devel] API and Usability in CL-SOAP

Alain.Picard at memetrics.com Alain.Picard at memetrics.com
Thu Sep 29 04:01:40 UTC 2005


Dear Sven,

I've been playing with CL-SOAP, and thinking about what
I'm going to have to layer on top of it to integrate it
in my app.  I'm not sure I'm completely happy with what
cl-soap currently provides, so let me know if you think
my expectations are unrealistic.  :-)

My only previous experience with SOAP is a quick project
I did using Perl.  There, the metaphor seemed to be something
like this:

    my $svc = make_creative_service();  # don't worry how this happens...
    ...
    $svc->activateCreative($creative->{adGroupId},
			   $creative->{id},
			   @authorization);

In this usage pattern, which I very much like, the service object
ends up looking like a native object which supports the methods
described in the WSDL.  Likewise, the "objects" returned by various
functions all have defined accessor and setter methods (primarily
because they are really just perl hash table references, so you
can do things like 
   $adGroup_ref->{maxCpc} = 700000;
   ... use $adGroup_ref later in some SOAP call as an argument

OK, Now in CL-SOAP, the results of various calls ends up being
flat lists; thus 

CL-SOAP> (get-ad-group :ad-group-id my-adgroup-id)
==> ("getAdGroupResponse" ("getAdGroupReturn" ("maxCpc" 10000 "name" "cl-soap test 3" "id" 213203775 "campaignId" 3871365 "status" "Enabled")))

Wouldn't be nice to instead obtain something that looked like
#<|Google:AdGroup| 225A19CC> ?  And to be able to do things like
(setf (max-cpc my-adgroup) 700000)  ?
 (or even (setf (maxCpc my-adgroup) 700000), at the cost of working
  in a case sensitive reader environment)

And, most especially, to be able to do things like 
 (update-adgroup *adgroup-service* my-adgroup) ?

I guess that that's the sort of deep integration I was _really_ hoping for.

So
 1) am I dreaming?
 2) do you agree this would be good?
 3) do you consider this out of scope?
 4) do you think we'd want to do this?

Lemme know your thougts.


To any other list lurkers,  please contribute your opinions as well,
if you have any.

cheers,
					--Alain Picard



More information about the cl-soap-devel mailing list