I'm trying to interact with the ebay API through SOAP, and I'm not able to
run any methods that contain nested arguments. For example, this method call
works fine because the arguments, "version" and "title", are not nested:

ws = CreateObject("webservice", "urltosomewebservice/webservice.wsdl");
theRequest = structNew();
theRequest.version = "123";
theRequest.title = "SomeTitle";
ws.AddItem(AddItemRequest = #theRequest#);


But if the method requires any nested arguments, CF does not properly map CF
structs to the complex arguments that SOAP is expecting. For example, assume
one of the arguments to "AddItem" is an "Item" object that has three
attributes of its own: title, price, and quantity. Logically, I'd like to be
able to do something like this, but this fails:

ws = CreateObject("webservice", "urltosomewebservice/webservice.wsdl");
theRequest = structNew();
theRequest.version = "123";
theRequest.item = structNew();
theRequest.item.title = "ItemTitle";
theRequest.item.price = 5.00;
theRequest.item.quantity = 3;
ws.AddItem(AddItemRequest = #theRequest#);

I have not found any answers on the web. This page (
http://russ.michaels.me.uk/index.cfm/2007/5/18/ColdFusion-Web-Services-and-SOAP)
says that he ran into the same problem and got around it by posting raw XML
via CFHTTP, which I'd prefer not to do. The LiveDocs page for handling
complex data types in web services (
http://livedocs.adobe.com/coldfusion/6/Developing_ColdFusion_MX_Applications_with_CFML/webservices6.htm)
gives a fine example when none of the arguments are nested, but does not
even mention the possibility of nested arguments to a web service.

If anybody knows of a workaround or has a good resource for integrating CF
with the ebay API, I'd really appreciate it.

Thanks,
Conan


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
ColdFusion 8 beta – Build next generation applications today.
Free beta download on Labs
http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_adobecf8_beta

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:280823
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to