Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP .Net Web Services > WSE 2.0 SP1 unable to consume WSDL from DIME Specification

Reply
Thread Tools

WSE 2.0 SP1 unable to consume WSDL from DIME Specification

 
 
Sebastien Tardif
Guest
Posts: n/a
 
      10-27-2004
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_ws...n-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/...2Oct/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/"
xmlnss="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="msgoc" 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">
<wsdlart name="body" element="msgutCompanyInfo" />
</wsdl:message>

<wsdlortType name="PortType">
<wsdlperation name="PutCompanyInfo">
<wsdl:input message="svcutCompanyInfo" />
</wsdlperation>
</wsdlortType>

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

<wsdlperation name="PutCompanyInfo">
<soapperation 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>
</wsdlperation>
</wsdl:binding>

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

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

Some updates:
http://discuss.develop.com/archives/...me&F=&S=&P=144



 
Reply With Quote
 
 
 
 
[MSFT]
Guest
Posts: n/a
 
      11-03-2004
Hello,

Thank you for the input. I suggest you may submit this via this link:

http://register.microsoft.com/mswish...=EN-US&gssnb=1

Our developer will collect such wish\suggestions, and consider in the
design of next version.

Thanks,

Luke

 
Reply With Quote
 
 
 
 
Sebastien Tardif
Guest
Posts: n/a
 
      11-03-2004
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...=EN-US&gssnb=1
>
> Our developer will collect such wish\suggestions, and consider in the
> design of next version.
>
> Thanks,
>
> Luke
>
>

 
Reply With Quote
 
[MSFT]
Guest
Posts: n/a
 
      11-04-2004
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/de...us/dnwse/html/
wsedime.asp

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

Luke

 
Reply With Quote
 
Sebastien Tardif
Guest
Posts: n/a
 
      11-04-2004
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.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
consume local web service -ok consume remote service - Not OK dgleeson422111 ASP .Net Web Services 2 01-31-2010 08:02 PM
WSE 2.0 SP3 DIME client error: Response is not well-formed XML. ---> System.Xml.XmlException: Root element is missing. Rich Fowler ASP .Net Web Services 2 01-22-2010 03:31 PM
WSE 2.0 DIME Streaming Problem David Talbot ASP .Net Web Services 1 08-03-2005 08:21 PM
DIME attachments break double-byte characters using WSE 1.0 SP1 Vaylor Trucks ASP .Net Web Services 1 11-18-2004 11:21 PM
WSE Dime Chunking? Dave ASP .Net Web Services 0 09-30-2003 10:48 AM



Advertisments