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

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

Reply via email to