Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
microsoft.public.dotnet.framework.aspnet.webservices
wsdl.exe fails with WebMethods generated wsdl file
=?Utf-8?B?cm9kY2hhcg==?=
6/7/2004 6:51:00 PM
Using WebMethods, Inc Developer tool to create a wsdl for a flow service. Try to use .NET wsdl utility to create a C# proxy, but get the errors below. Support person at WebMethods, Inc. says it is a bug in wsdl.exe. I have included the text of the wsdl generated by WebMethods along with the response from WebMethods support. I appreciate any assistance.
wsdl generated by WebMethods' Developer:
<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions name="mtst" targetNamespace="http://mtsrvr/"
xmlns:wsdns1="http://localhost/mtst/tfs"
xmlns:wsdl="
http://schemas.xmlsoap.org/w...
xmlns:xsd="
http://www.w3.org/2001/XMLSc...
xmlns:http="
http://schemas.xmlsoap.org/wsdl/h...
xmlns:mime="
http://schemas.xmlsoap.org/wsdl/m...
xmlns:soap="
http://schemas.xmlsoap.org/wsdl/s...
xmlns:tns="http://mtsrvr/"><wsdl:types><xsd:schema xmlns:xsd="
http://www.w3.org/2001/XMLSc...
targetNamespace="http://localhost/mtst/tfs" xmlns:tns="http://localhost/mtst/tfs" xmlns:SOAP_ENC="
http://schemas.xmlsoap.org/soap/encod...
xmlns:wsdl="
http://schemas.xmlsoap.org/w...
><xsd:import namespace="
http://schemas.xmlsoap.org/soap/encod...
/><xsd:complexType name="__tfsInput"><xsd:sequence><xsd:element name="accountnumber" nillable="true" type="xsd:string"/><xsd:element name="ordernumber" nillable="true" type="xsd:string"/></xsd:sequence></xsd:complexType><xsd:complexType name="__tfsOutput"><xsd:sequence><xsd:element name="t" nillable="true" type="tns:__t"/></xsd:sequence></xsd:complexType><xsd:complexType name="__t"><xsd:sequence><xsd:element name="ns_x003A_BES" type="tns:__ns_x003A_BES"/></xsd:sequence></xsd:complexType><xsd:complexType name="__ns_x003A_BES"><xsd:sequence><xsd:element name="ns_x003A_BE" type="tns:ArrayOf__ns_x003A_BE" minOccurs="0"/></xsd:sequence></xsd:complexType><xsd:complexType name="__ns_x003A_BE"><xsd:sequence><xsd:element name="ns_x003A_AccountID" type="tns:__ns_x003A_AccountID"/><xsd:element name="ns_x003A_OrderNumber" type="tns:__ns_x003A_OrderNumber"/></xsd:sequence></xsd:complexType><xsd:simpleType name="__ns_x003A_AccountID"><xsd:restriction><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:whiteSpace value="preserve"/></xsd:restriction></xsd:simpleType><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType><xsd:simpleType name="__ns_x003A_OrderNumber"><xsd:restriction><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:whiteSpace value="preserve"/></xsd:restriction></xsd:simpleType><xsd:maxLength value="6"/></xsd:restriction></xsd:simpleType><xsd:complexType name="ArrayOf__ns_x003A_BE"><xsd:complexContent><xsd:restriction base="SOAP_ENC:Array"><xsd:attribute ref="SOAP_ENC:arrayType" wsdl:arrayType="tns:__ns_x003A_BE[]"/></xsd:restriction></xsd:complexContent></xsd:complexType></xsd:schema></wsdl:types><wsdl:message name="tfsInput"><wsdl:part name="accountnumber" type="xsd:string"/><wsdl:part name="ordernumber" type="xsd:string"/></wsdl:message><wsdl:message name="tfsOutput"><wsdl:part name="t" type="wsdns1:__t"/></wsdl:message><wsdl:portType name="mtstPortType"><wsdl:operation name="tfs"><wsdl:input message="tns:tfsInput"/><wsdl:output message="tns:tfsOutput"/></wsdl:operation></wsdl:portType><wsdl:binding name="mtstBinding" type="tns:mtstPortType"><soap:binding style="rpc" transport="
http://schemas.xmlsoap.org/soap/http"/><wsdl...
name="tfs"><soap:operation soapAction=""/><wsdl:input><soap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encod...
namespace="http://mtsrvr/mtst" use="encoded"/></wsdl:input><wsdl:output><soap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encod...
namespace="http://mtsrvr/mtst" use="encoded"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="mtstService"><wsdl:port name="mtstPort0" binding="tns:mtstBinding"><soap:address location="http://mtsrvr:5555/soap/rpc"/></wsdl:port></wsdl:service></wsdl:definitions>
wsdl.exe errors:
Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 1.1.4322.573]
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
Schema validation warning: Invalid 'type' attribute: The ':' character, hexadeci
mal value 0x3A, cannot be included in a name..
Schema validation warning: Invalid 'type' attribute: The ':' character, hexadeci
mal value 0x3A, cannot be included in a name..
Schema validation warning: Invalid 'type' attribute: The ':' character, hexadeci
mal value 0x3A, cannot be included in a name..
Schema validation warning: Invalid 'type' attribute: The ':' character, hexadeci
mal value 0x3A, cannot be included in a name..
Warning: Schema could not be validated. Class generation may fail or may produce
incorrect results.
Error: Unable to import binding 'mtstBinding' from namespace 'http://mtsrvr/'.
- Unable to import operation 'tfs'.
- Schema with targetNamespace='http://localhost/mtst/tfs' has invalid syntax.
- Invalid 'type' attribute: The ':' character, hexadecimal value 0x3A, cannot
be included in a name..
If you would like more help, please type "wsdl /?".
WebMethods support response:
From my investigation, I have found that this is a .NET bug. Please find
below the explaination:
In a WSDL file schema section the element "name" attribute is defined
as an "NCName" in the XSD Specification[6].
An NSName[4] has the following production defined in the XSD Spec[7]:
NCName ::= (Letter | '_') (NCNameChar)*
NCNameChar ::= Letter|Digit|'.'|'-'|'_'|CombiningChar|Extender
.NET seems to think that a "x003A" sequence in a WSDL file element
"name" attribute has a ':' because it is the hex number of a ':'
character[3], meaning it thinks the text is "rsi_:_OfficerName" which
_would_ be illegal if the file really had "rsi_:_OfficerName" in it.
This character sequence is part of an NSName[6] value, which allows a
value of "x003A" to mean an element named "x003A".
The XML Specification is very clear in how one should embed a Hex
character definition in an XML file [5]. It is not the "x003A"
sequence, but the entity reference ":".
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
wsdl.exe fails with WebMethods generated wsdl file
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password