>>Visually both WSDL's look ok - I haven't tried using them myself but I would guess >>that given the main difference is how the part types are specified, that it has a >>lot do to with the problem. type="SOAP-ENC:string" is from the WSDL that's not >>working with the SilverStream (er, Novell) client, but type="xsd:string" is?
That is correct. >>If so, then maybe it's possible that they don't recognize SOAP Encoding style >>primitive type declarations (eg, only recognize primitives in the xsd namespace >>and/or non-primitive complex types from other spaces)? I can't say for sure that's >>what they're doing, but I believe I have heard of other(s) having that problem in >>the past. So... is that actually a problem or did Novell / Silverstream just decide to implement it that way? I mean, is that a standard they should be adopting or would that fall into vendor preference? >>Looks like you're using RPC Encoded for both. Is there any way to force it to use >>the XSD primitive type specifiers instead of SOAP Encoding, when generating the WSDL? The WSDL is auto-generated by Axis, all lI do is fill in a coldfusion tag. If it's configurable I'd have no idea where to change that setting in CFMX because it's not a <cfcomponent> tag attribute. >>Or could you save the generated WSDL to a file, hand change those types and then try >>to import it? We can do that, but that's a downright pain in the butt. :-) >>Or switch portals (just kidding :-). Actually we're evaluating the portal.... so if this isn't fixable we will have to either ditch Novell's portal and use on ethat can consume CFMX web services, or else quit using CFMX and build web services using Novell's Composer tool. I'd *really* prefer not to give up CFMX. Thanks! Darren -----Original Message----- From: Darren Houle [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 19, 2003 4:06 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Axis, WSDL, and Coldfusion MX Greetings! I have a technical question that I'm hoping someone on this list might be able to help with... like maybe Tom J. <nudge><nudge> :-) Okay, here goes... I am running CFMX (no updates or service packs installed as of yet) and have built several web services (CFC's) that all work fantastically and totally as advertised. I can view the auto-gen WSDL and auto-gen documentation in my browser, and DreamWeaver MX will discover and display all the internal functions, required arguments, etc. I LOVE how easy this is, but I did run into a problem just today... I have a consultant onsite trying to set up Novell's new eXtend portal, runs on J2EE and contains portlets that can consume external web services. He ran into trouble when I supplied my CFMX WSDL URL for consumption in his "Director" development tool. It found the component on my server but couldn't stub out the functions or arguments contained within. He thinks the CFMX WSDL being auto-generated is missing some critical data or has malformed syntax, but from my understanding the Axis 1.0 implementation in CFMX is fully SOAP 1.1 and WSDL 1.0 compliant and shouldn't be auto-gen'ing anything incorrectly. More likely his consumption portlet is not compliant with something somewhere and can't handle the awesomeness of Axis :-). I've included a working WSDL and a non-working WSDL for comparison but I'm new to SOAP and WSDL so I'm having trouble even knowing where to start. Any help would be *greatly* appreciated. I know that other platforms such as .NET are able to consume CFMX web services without this problem, so my first guess is that Novell is the problem, but I need to find out for sure if at all possible. Thanks a million! Darren Houle Sr. Web Developer Health First, Inc. ------------------------------------------------- WSDL Works in Novell eXtend ------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <definitions name="MyWeatherWSService" targetNamespace="urn:com.exsamp.mwws.MyWeather" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:com.exsamp.mwws.MyWeather"> <types/> <message name="getForecastRequest"> <part name="arg0" type="xsd:string"/> </message> <message name="getForecastResponse"> <part name="result" type="xsd:string"/> </message> <portType name="MyWeatherWS"> <operation name="getForecast" parameterOrder="arg0"> <input message="tns:getForecastRequest"/> <output message="tns:getForecastResponse"/> </operation> </portType> <binding name="MyWeatherWSBinding" type="tns:MyWeatherWS"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getForecast"> <soap:operation soapAction="urn:com.exsamp.mwws.MyWeather/getForecast"/> <input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:com.exsamp.mwws.MyWeather" use="encoded"/> </input> <output> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:com.exsamp.mwws.MyWeather" use="encoded"/> </output> </operation> </binding> <service name="MyWeatherWSService"> <port binding="tns:MyWeatherWSBinding" name="MyWeatherWSPort"> <soap:address location="http://localhost/MyWebServicesDB/MyWebServices/MyWeather"/> </port> </service> </definitions> -------------------------------------------------------------- WSDL Does not work in Novell eXtend -------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8" ?> <wsdl:definitions targetNamespace="http://prod.cfc" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:intf="http://prod.cfc" xmlns:impl="http://prod.cfc-impl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <wsdl:message name="getGroupsRequest"> <wsdl:part name="dnum" type="SOAP-ENC:string" /> </wsdl:message> <wsdl:message name="getGroupsResponse"> <wsdl:part name="return" type="SOAP-ENC:string" /> </wsdl:message>r that other platforms such as . <wsdl:message name="getNameRequest"> <wsdl:part name="dnum" type="SOAP-ENC:string" /> </wsdl:message> <wsdl:message name="getNameResponse"> <wsdl:part name="return" type="SOAP-ENC:string" /> </wsdl:message> <wsdl:message name="CFCInvocationException" /> <wsdl:portType name="hbo_phys_info"> <wsdl:operation name="getName" parameterOrder="dnum"> <wsdl:input message="intf:getNameRequest" /> <wsdl:output message="intf:getNameResponse" /> <wsdl:fault name="CFCInvocationException" message="intf:CFCInvocationException" /> </wsdl:operation> <wsdl:operation name="getGroups" parameterOrder="dnum"> <wsdl:input message="intf:getGroupsRequest" /> <wsdl:output message="intf:getGroupsResponse" /> <wsdl:fault name="CFCInvocationException" message="intf:CFCInvocationException" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="hbo_phys_info.cfcSoapBinding" type="intf:hbo_phys_info"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="getName"> <wsdlsoap:operation soapAction="" /> <wsdl:input> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://prod.cfc" /> </wsdl:input> <wsdl:output> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://prod.cfc" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="getGroups"> <wsdlsoap:operation soapAction="" /> <wsdl:input> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://prod.cfc" /> </wsdl:input> <wsdl:output> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://prod.cfc" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="hbo_phys_infoService"> <wsdl:port name="hbo_phys_info.cfc" binding="intf:hbo_phys_info.cfcSoapBinding"> <wsdlsoap:address location="http://hfmodule1.health-first.org/cfc/prod/hbo_phys_info.cfc" /> </wsdl:port> </wsdl:service> </wsdl:definitions> "MMS <health-first.org>" made the following annotations on 03/19/2003 04:07:55 PM ---------------------------------------------------------------------------- -- This message is for the named person's use only. It may contain confidential, proprietary, or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it, and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. Health First reserves the right to monitor all e-mail communications through its networks. Any views or opinions expressed in this message are solely those of the individual sender, except (1) where the message states such views or opinions are on behalf of a particular entity; and (2) the sender is authorized by the entity to give such views or opinions. ============================================================================ == "MMS <health-first.org>" made the following annotations on 03/19/2003 04:50:03 PM ------------------------------------------------------------------------------ This message is for the named person's use only. It may contain confidential, proprietary, or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it, and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. Health First reserves the right to monitor all e-mail communications through its networks. Any views or opinions expressed in this message are solely those of the individual sender, except (1) where the message states such views or opinions are on behalf of a particular entity; and (2) the sender is authorized by the entity to give such views or opinions. ==============================================================================
