WSE 2.0 SP1 unable to consume WSDL from DIME Specification

Discussion in 'ASP .Net Web Services' started by Sebastien Tardif, Oct 27, 2004.

  1. Subject: Web Services Enhancements 2.0 Service Pack 1 (WSE) unable to consume
    WSDL from the WSDL Extension for SOAP in DIME specification

    The WSDL Extension for SOAP in DIME specification can be obtained at this
    URL:
    http://www.gotdotnet.com/team/xml_wsspecs/dime/WSDL-Extension-for-DIME.htm

    This specification includes a WSDL. This WSDL cannot be consumed by .NET
    without an error message.

    The error message is:
    C:\ClientDotNetPrototype\CSharpTest\CSharpTest\Web
    References\WebReference\Reference.map(1): Custom tool error: Unable to import
    WebService/Schema. Unable to import binding 'SoapDimeBinding' from namespace
    'http://example.com/DimeExample/Service/'. Unable to import operation
    'PutCompanyInfo'. Unable to import binding 'SoapDimeBinding' from namespace
    'http://example.com/DimeExample/Service/'. Unable to import operation
    'PutCompanyInfo'. The attribute location is missing.

    The same error happens without WSE, using only Microsoft .NET Framework 1.1
    Version 1.1.4322 SP1.

    It seems that WSE or .NET framework expect instead an illegal XML Schema:

    Having this:
    <xs:complexType name="ReferencedBinary">
    <xs:simpleContent>
    <xs:restriction base="xs:base64Binary">
    <xs:attribute ref="ref:location" use="optional" />
    </xs:restriction>
    </xs:simpleContent>
    </xs:complexType>

    Instead of:
    <xs:complexType name="ReferencedBinary">
    <xs:simpleContent>
    <xs:extension base="xs:base64Binary">
    <xs:attribute ref="ref:location" use="optional"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

    After the modification using the illegal XML Schema we receive just a warning:
    C:\ClientDotNetPrototype\CSharpTest\CSharpTest\Web
    References\WebReference1\Reference.map(1): Custom tool warning: At least one
    necessary import ServiceDescriptionFormatExtension has been ignored.

    Now you my wonder why I say it’s an illegal XML Schema.

    Because:
    - XML Spy Version 2004 rel. 4 said: Schema error – undefined value for
    ‘base’ encountered – you must use a complexType instead of ‘xs:base64Binary’,
    because a simpleContent/restriction can’t be based on a simpleType.
    - Castor from: http://www.castor.org/xml-framework.html give same error as
    XML Spy.
    - As point out by this:
    http://lists.w3.org/Archives/Public/xmlschema-dev/2002Oct/0031.html
    - XML Schema specification from:
    http://www.w3.org/TR/xmlschema-1/#ct-props-correct said: If the {base type
    definition} is a simple type definition, the {derivation method} must be
    extension.
    - More recent work also confirm this constraint:
    http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/

    What I expect from Microsoft:
    - Publicizes this defect.
    - Publicizes a Patch in the next two weeks.
    - Includes the patch in subsequent service pack for .NET 1.0, .NET 1.1 and WSE

    For completeness here the WSDL from the WSDL Extension for SOAP in DIME
    specification that Microsoft wrote:

    <?xml version="1.0" ?>
    <wsdl:definitions name="DIME Example"
    targetNamespace="http://example.com/DimeExample/Service/"
    xmlns:svc="http://example.com/DimeExample/Service/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:dime="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
    xmlns:content="http://schemas.xmlsoap.org/ws/2002/04/content-type/"
    xmlns:ref="http://schemas.xmlsoap.org/ws/2002/04/reference/"
    xmlns:msg="http://example.com/DimeExample/Messages/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <xs:schema targetNamespace="http://example.com/DimeExample/Messages/"
    elementFormDefault="qualified">
    <xs:import
    namespace="http://schemas.xmlsoap.org/ws/2002/04/content-type/" />

    <xs:import
    namespace="http://schemas.xmlsoap.org/ws/2002/04/reference/" />

    <xs:element name="PutCompanyInfo">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="tickerSymbol" type="xs:string" />

    <xs:element name="logo" type="msg:Logo" minOccurs="0" />

    <xs:element name="doc" type="msg:Doc" minOccurs="0"
    maxOccurs="unbounded" />

    <xs:element name="report" type="msg:Report" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>

    <xs:complexType name="ReferencedBinary">
    <xs:simpleContent>
    <xs:extension base="xs:base64Binary">
    <xs:attribute ref="ref:location" use="optional" />
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="Logo">
    <xs:simpleContent>
    <xs:restriction base="msg:ReferencedBinary">
    <xs:annotation>
    <xs:appinfo>
    <content:mediaType type="image/jpeg" />

    <content:mediaType type="image/gif" />
    </xs:appinfo>
    </xs:annotation>
    </xs:restriction>
    </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="Doc">
    <xs:simpleContent>
    <xs:restriction base="msg:ReferencedBinary">
    <xs:annotation>
    <xs:appinfo>
    <content:mediaType type="text/html;
    charset=ISO-8859-1" />
    </xs:appinfo>
    </xs:annotation>
    </xs:restriction>
    </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="Report">
    <xs:simpleContent>
    <xs:restriction base="msg:ReferencedBinary">
    <xs:annotation>
    <xs:appinfo>
    <content:documentType value="msg:report" />
    </xs:appinfo>
    </xs:annotation>
    </xs:restriction>
    </xs:simpleContent>
    </xs:complexType>

    <xs:element name="report">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="title" type="xs:string" />

    <!-- etc. -->
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    </wsdl:types>

    <wsdl:message name="PutCompanyInfo">
    <wsdl:part name="body" element="msg:putCompanyInfo" />
    </wsdl:message>

    <wsdl:portType name="PortType">
    <wsdl:eek:peration name="PutCompanyInfo">
    <wsdl:input message="svc:putCompanyInfo" />
    </wsdl:eek:peration>
    </wsdl:portType>

    <wsdl:binding name="SoapDimeBinding" type="svc:portType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
    style="document" />

    <wsdl:eek:peration name="PutCompanyInfo">
    <soap:eek:peration soapAction="http://example.com/PutCompanyInfo" />

    <wsdl:input>
    <dime:message
    layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout"
    wsdl:required="true" />

    <soap:body parts="body" use="literal" />
    </wsdl:input>
    </wsdl:eek:peration>
    </wsdl:binding>

    <wsdl:service name="DimeExample">
    <wsdl:port name="SoapDimePort" binding="svc:SoapDimeBinding">
    <soap:address location="http://example.com/DimeExample/" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

    The DIME specification himself can be seen here:
    http://msdn.microsoft.com/library/en-us/dnglobspec/html/draft-nielsen-dime-02.txt

    Some updates:
    http://discuss.develop.com/archives/wa.exe?A2=ind0206d&L=dime&F=&S=&P=144
    Sebastien Tardif, Oct 27, 2004
    #1
    1. Advertising

  2. Sebastien Tardif

    [MSFT] Guest

    [MSFT], Nov 3, 2004
    #2
    1. Advertising

  3. So in resume your answer to my questions are:
    What I expect from Microsoft:
    - Publicizes this defect.
    Microsoft answer: Make a wish.
    - Publicizes a Patch in the next two weeks.
    Microsoft answer: Make a wish.
    - Includes the patch in subsequent service pack for .NET 1.0, .NET 1.1 and WSE
    Microsoft answer: Make a wish.

    Hum. Any workaround ? Are you confirming my understanding of the issue and
    of your answers are correct?

    Sebastien Tardif
    Microsoft Certified Solution Developer since 1997

    "[MSFT]" wrote:

    > Hello,
    >
    > Thank you for the input. I suggest you may submit this via this link:
    >
    > http://register.microsoft.com/mswish/suggestion.asp?&SD=GN&LN=EN-US&gssnb=1
    >
    > Our developer will collect such wish\suggestions, and consider in the
    > design of next version.
    >
    > Thanks,
    >
    > Luke
    >
    >
    Sebastien Tardif, Nov 3, 2004
    #3
  4. Sebastien Tardif

    [MSFT] Guest

    Hello,

    I have reproduced the issue with your code. This is a compatibility issue
    for the DIME specification and may changed after many argumentation.
    Therefore, I don't think there will be a fix soon. If this really impact
    your business, I suggest you may submit a support incident to our PSS and
    require a hotfix.

    There has been some Known Issues Using WSE for DIME, you may refer to
    following article:

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwse/html/
    wsedime.asp

    If you have any concern, please feel free to let me know.

    Luke
    [MSFT], Nov 4, 2004
    #4
  5. To be precise:
    It's not a compatibility issue for the DIME specification
    Instead:
    ..NET are not compliant with XML Schema specification and because of this
    ..NET is also not compliant with DIME specification. DIME specification comply
    himself with the XML Schema specification.

    Thanks Luke to have confirmed there is an issue.
    Sebastien Tardif, Nov 4, 2004
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Dave

    WSE Dime Chunking?

    Dave, Sep 30, 2003, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    146
  2. Vaylor Trucks

    DIME attachments break double-byte characters using WSE 1.0 SP1

    Vaylor Trucks, Oct 27, 2004, in forum: ASP .Net Web Services
    Replies:
    1
    Views:
    161
    Dan Rogers
    Nov 18, 2004
  3. David Talbot

    WSE 2.0 DIME Streaming Problem

    David Talbot, Aug 2, 2005, in forum: ASP .Net Web Services
    Replies:
    1
    Views:
    131
    Georgi Vajarov
    Aug 3, 2005
  4. Rich Fowler
    Replies:
    2
    Views:
    1,268
    Rich Fowler
    Jan 22, 2010
  5. dgleeson422111

    consume local web service -ok consume remote service - Not OK

    dgleeson422111, Jan 26, 2010, in forum: ASP .Net Web Services
    Replies:
    2
    Views:
    1,590
    dgleeson422111
    Jan 31, 2010
Loading...

Share This Page