I've written an ASP.NET webservice (.asmx style rather than WCF) and I have the main web methods working now in my prototype enviroment. Now I need to add several new parameters to one of the webmethods but, more significantly, I need to make my webservice as "consumable" (callable) as possible from a ColdFusion web application. I'm confused about how to best design parameter types for the webservice methods in light of usage by CF (or other client callers).
My prototype relies on my own ASP.NET web page which calls my webservice; here is how the proxy class for my service is called from the .aspx page:
BrokerASMXProxy.Svc.FileService brokerService = new BrokerASMXProxy.Svc.FileService();
recNumber = brokerService.UploadFile(binData, fileNameOnly, kvData);
Here is the signature of the webmethod:
[WebMethod]
public string UploadFile(byte[] incomingArray
, string FileName
, MetaData[] metaDataArray)
I'm a little concerned already about the byte array and the MetaData array (will ColdFusion have a problem calling this service with argument types like that?). I assume strings are not a problem but what are the best practices for designing webmethods (and their types) for use by ALL types of callers?
p.s. I also have a DownloadFile webmethod that has "out" parameters:
[WebMethod]
public bool DownloadFile(string recNumString, out byte[] docContents, out string returnFiletype)
..and I wonder similarly about ColdFusion's accomodation of these outputs. Thank you in advance.