Howdy -- Troubles in web service country tonight, and I'm being led to believe this is a CFMX bug with no known fix...
I'm trying to use CFMX to consume (via cfinvoke) another organization's web service which takes a single simple string input parameter and returns a complex datatype within a complex datatype, and all I'm getting for my effort is an insanely long CF error message which begins: Could not perform web service invocation "getProtocols" because AxisFault faultCode: http://xml.apache.org/axis/:Server.userException faultString: org.xml.sax.SAXException: Deserializing parameter 'getProtocolsResult': could not find deserializer for type http://tempuri.org/:>getProtocolsResponse>getProtocolsResult This message is being served up by the CFMX Developer Edition on Win2K, version 6,0,0,48097 according to the CF Administrator. The relevant portion of the WSDL for this web service (copied out of IE6 and pasted here) is as follows: - <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://tempuri.org/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/wsdl/"> - <types> - <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/"> - <s:element name="getProtocols"> - <s:complexType> - <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="cSearch" type="s:string" /> </s:sequence> </s:complexType> </s:element> - <s:element name="getProtocolsResponse"> - <s:complexType> - <s:sequence> - <s:element minOccurs="0" maxOccurs="1" name="getProtocolsResult"> - <s:complexType mixed="true"> - <s:sequence> <s:any /> </s:sequence> </s:complexType> </s:element> </s:sequence> </s:complexType> </s:element> </s:schema> </types> As you can see, getProtocolsResponse, which is what's supposed to be coming back to my cfinvoke, is a complex type which contains another complex type, getProtocolsResult. Accessed through a different approach (a simple parameterized URL GET interface to the target service instead of a SOAP interface), this is (the first part of) what's coming back (copied out of IE6 and pasted here): - <NewDataSet> - <protocols> <prot_num>011078</prot_num> <prot_title>A Phase I Clinical Trial of a New Receptor-Binding Radiopharmaceutical for Sentinel Node Detection in Melanoma</prot_title> <pi>Wallace, A.</pi> <Prot_accrual_status>2</Prot_accrual_status> <Institution>Moores UCSD Cancer Center</Institution> <Intitution_zipcode>92093</Intitution_zipcode> <Institution_county>San Diego</Institution_county> <prot_URL>http://cancer.ucsd.edu/cto/study_details.asp?ProtUI=S00912</prot_URL> </protocols> - <protocols> <prot_num>020025</prot_num> <prot_title>A Phase II Clincial Trial of a New Receptor-Binding Radiopharmaceutical for Sentinel Node Detection in Breast Cancer</prot_title> <pi>Wallace, A.</pi> <Prot_accrual_status>2</Prot_accrual_status> <Institution>Moores UCSD Cancer Center</Institution> <Intitution_zipcode>92093</Intitution_zipcode> <Institution_county>San Diego</Institution_county> <prot_URL>http://cancer.ucsd.edu/cto/study_details.asp?ProtUI=S00956</prot_URL> </protocols> As you can see, this is properly formatted XML, but CFMX doesn't seem to be able to deserialize it into the appropriate structures-within-structure construct. If it matters -- and I don't think it does -- the target service is constructed using MS's ASP .Net tools. Searching on Google (amazingly, these days) found nothing of relevance to this problem. Searching on the forums at macromedia found a single thread on this issue, from last month, in which somebody stated that CFMX's "Axis" SOAP handler has trouble handling complex-within-complex return parameters and that no fix is known. I'm looking for confirmation of this assertion. If this is true, that CFMX can't handle complex-within-complex returns, then I'm sunk (at least as far as using CFMX goes). I have no control over the publication of the service and can't change the type of return parameter; what I have to do is figure out some way to consume it. Does anybody know if Updater 1 or Updater 2 would fix this? Do I need to go back to CF5-era CFX_SOAP to make this work? My past experience with that module has been that it handles complex-within-complex returns without any apparent difficulty. Any tips would be greatly appreciated. -- Larry Afrin Medical University of South Carolina [EMAIL PROTECTED] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

