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>
<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.
==============================================================================