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?

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.

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?  Or could you save the generated WSDL to a file, hand
change those types and then try to import it?  Or switch portals (just
kidding :-).



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

============================================================================
==

Reply via email to