[Mono-bugs] [Bug 74860][Nor] New - WSDL Utility: XML Schema Error

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sat, 7 May 2005 09:51:26 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by helge.stahlmann@web.de.

http://bugzilla.ximian.com/show_bug.cgi?id=74860

--- shadow/74860	2005-05-07 09:51:26.000000000 -0400
+++ shadow/74860.tmp.16190	2005-05-07 09:51:26.000000000 -0400
@@ -0,0 +1,452 @@
+Bug#: 74860
+Product: Mono: Tools
+Version: 1.1
+OS: 
+OS Details:  2.6.10-5-386
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: tools
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: helge.stahlmann@web.de               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: WSDL Utility: XML Schema Error
+
+Description of Problem:
+Generating a proxy class for a WSDL file using WSDL tool fails due to an 
+
+Steps to reproduce the problem:
+1. execute: wsdl -l:CS -protocol:Soap ejbchat.wsdl
+
+Actual Results:
+Output:
+Mono Web Services Description Language Utility
+Error: XmlSchema error: Base complex type has different content type Mixed.
+Related schema item SourceUri: file:///home/hstahlm/ejbchat.wsdl, Line 113,
+Position 14.
+
+Expected Results:
+Generated proxy code.
+
+How often does this happen? 
+always.
+
+Additional Information:
+
+Code generation works fine with MS .Net WSDL Utility.
+
+WSDL file content
+------------- begin --------------
+<?xml version='1.0' encoding='utf-8' ?>
+<definitions name='com.systinet.ejbchat.j2ee.ChatService'
+targetNamespace='http://systinet.com/j2ee/ejb/' 
+    xmlns:tns='http://systinet.com/j2ee/ejb/' 
+    xmlns:soap12='http://schemas.xmlsoap.org/wsdl/soap12/' 
+    xmlns:ns0='http://systinet.com/xsd/SchemaTypes/' 
+    xmlns:ns1='http://systinet.com/soap-jta/' 
+    xmlns:ns2='http://idoox.com/interface' 
+    xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' 
+    xmlns='http://schemas.xmlsoap.org/wsdl/'>
+    <types>
+        <xsd:schema elementFormDefault="qualified"
+            targetNamespace="http://systinet.com/soap-jta/"
+            xmlns:map="http://systinet.com/mapping/"
+            xmlns:tns="http://systinet.com/soap-jta/"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+            <xsd:element name="TxId">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="id" nillable="true"
+                            type="xsd:string"/>
+                        <xsd:element name="NoTxResume" nillable="true"
+                            type="xsd:string"/>
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+        </xsd:schema>
+
+        <schema elementFormDefault="qualified"
+            targetNamespace="http://idoox.com/interface"
+            xmlns="http://www.w3.org/2001/XMLSchema"
+            xmlns:tns="http://idoox.com/interface">
+            <complexType name="serviceReference">
+                <sequence>
+                    <element name="service" type="QName"/>
+                    <element name="wsdl" type="anyURI"/>
+                    <element minOccurs="0" name="instanceID" type="string"/>
+                    <element minOccurs="0" name="portTypeMappings"
+                        type="tns:ArrayOfInterfaceMapping"/>
+                </sequence>
+            </complexType>
+            <complexType name="ArrayOfInterfaceMapping">
+                <sequence>
+                    <element maxOccurs="unbounded" minOccurs="0" name="item"
+                        type="tns:interfaceMapping"/>
+                </sequence>
+            </complexType>
+            <complexType name="interfaceMapping">
+                <sequence>
+                    <element name="portType" type="QName"/>
+                    <element name="className" type="string"/>
+                </sequence>
+            </complexType>
+            <element name="instance">
+                <annotation>
+
+                    <documentation>
+      this is the SOAP header schema
+      this SOAP header SHOULD have soap-env:mustUnderstand set to &quot;1&quot;
+      this header MUST be present at most once in any message
+    </documentation>
+                </annotation>
+                <complexType>
+                    <choice>
+                        <element name="id" type="string"/>
+                        <element name="setId" type="string"/>
+                        <element name="notFound" type="string"/>
+                    </choice>
+                </complexType>
+            </element>
+        </schema>
+
+        <xsd:schema elementFormDefault="qualified"
+            targetNamespace="http://systinet.com/xsd/SchemaTypes/"
+            xmlns:tns="http://systinet.com/xsd/SchemaTypes/"
+            xmlns:xns4="http://systinet.com/j2ee/ejb/"
+            xmlns:xns5="http://idoox.com/interface"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+            <xsd:import namespace="http://idoox.com/interface"/>
+            <xsd:import namespace="http://systinet.com/j2ee/ejb/"/>
+            <xsd:element name="ArrayOfChatMessageStruct_Response"
+                nillable="true" type="xns4:ArrayOfChatMessageStruct"/>
+            <xsd:element name="ChatServiceException" nillable="true"
+                type="xns4:ChatServiceException"/>
+            <xsd:element name="idoox-java-mapping.java.rmi.RemoteException"
+                nillable="true" type="xsd:anyType"/>
+            <xsd:element name="p0" nillable="true" type="xsd:string"/>
+            <xsd:element name="serviceReference_Response" nillable="true"
+                type="xns5:serviceReference"/>
+            <xsd:element name="p1" nillable="true" type="xsd:string"/>
+            <xsd:element name="long_Response" type="xsd:long"/>
+        </xsd:schema>
+
+        <xsd:schema elementFormDefault="qualified"
+            targetNamespace="http://systinet.com/j2ee/ejb/"
+            xmlns:tns="http://systinet.com/j2ee/ejb/"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+            <xsd:complexType name="ChatMessageStruct">
+                <xsd:sequence>
+                    <xsd:element name="id" type="xsd:long"/>
+                    <xsd:element name="nick" nillable="true"
+type="xsd:string"/>
+                    <xsd:element name="text" nillable="true"
+type="xsd:string"/>
+                    <xsd:element name="timeStamp" nillable="true"
+                        type="xsd:dateTime"/>
+                </xsd:sequence>
+            </xsd:complexType>
+            <xsd:complexType name="ArrayOfChatMessageStruct">
+                <xsd:sequence>
+                    <xsd:element maxOccurs="unbounded" minOccurs="0"
+                        name="ChatMessageStruct" nillable="true"
+                        type="tns:ChatMessageStruct"/>
+                </xsd:sequence>
+            </xsd:complexType>
+            <xsd:complexType name="ChatServiceException">
+                <xsd:complexContent>
+                    <xsd:extension base="xsd:anyType">
+                        <xsd:sequence/>
+                    </xsd:extension>
+                </xsd:complexContent>
+            </xsd:complexType>
+        </xsd:schema>
+
+    </types>
+    <message name='ChatServiceException'>
+        <part name='ChatServiceException' element='ns0:ChatServiceException'/>
+    </message>
+    <message name='ChatService_getAllMessages_Request_Soap'/>
+    <message name='ChatService_getAllMessages_Response_Soap'>
+        <part name='response' element='ns0:ArrayOfChatMessageStruct_Response'/>
+    </message>
+    <message name='ChatService_getMessagesFrom_Request_Soap'>
+        <part name='p0' element='ns0:p0'/>
+    </message>
+    <message name='ChatService_getMessagesFrom_Response_Soap'>
+        <part name='response' element='ns0:ArrayOfChatMessageStruct_Response'/>
+    </message>
+    <message name='ChatService_getPersonProfile_Request_Soap'>
+        <part name='p0' element='ns0:p0'/>
+    </message>
+    <message name='ChatService_getPersonProfile_Response_Soap'>
+        <part name='response' element='ns0:serviceReference_Response'/>
+    </message>
+    <message name='ChatService_postMessage_Request_Soap'>
+        <part name='p0' element='ns0:p0'/>
+        <part name='p1' element='ns0:p1'/>
+    </message>
+    <message name='ChatService_postMessage_Response_Soap'>
+        <part name='response' element='ns0:long_Response'/>
+    </message>
+    <message name='RemoteException'>
+        <part name='idoox-java-mapping.java.rmi.RemoteException'
+element='ns0:idoox-java-mapping.java.rmi.RemoteException'/>
+    </message>
+    <message name='runtimeHeaders_0'>
+        <part name='header_0' element='ns1:TxId'/>
+        <part name='header_1' element='ns2:instance'/>
+    </message>
+    <portType name='ChatService'>
+        <operation name='getAllMessages'>
+            <input message='tns:ChatService_getAllMessages_Request_Soap'/>
+            <output message='tns:ChatService_getAllMessages_Response_Soap'/>
+            <fault name='RemoteException' message='tns:RemoteException'/>
+            <fault name='ChatServiceException'
+message='tns:ChatServiceException'/>
+        </operation>
+        <operation name='getMessagesFrom' parameterOrder='p0'>
+            <input message='tns:ChatService_getMessagesFrom_Request_Soap'/>
+            <output message='tns:ChatService_getMessagesFrom_Response_Soap'/>
+            <fault name='RemoteException' message='tns:RemoteException'/>
+            <fault name='ChatServiceException'
+message='tns:ChatServiceException'/>
+        </operation>
+        <operation name='getPersonProfile' parameterOrder='p0'>
+            <input message='tns:ChatService_getPersonProfile_Request_Soap'/>
+            <output message='tns:ChatService_getPersonProfile_Response_Soap'/>
+            <fault name='RemoteException' message='tns:RemoteException'/>
+            <fault name='ChatServiceException'
+message='tns:ChatServiceException'/>
+        </operation>
+        <operation name='postMessage' parameterOrder='p0 p1'>
+            <input message='tns:ChatService_postMessage_Request_Soap'/>
+            <output message='tns:ChatService_postMessage_Response_Soap'/>
+            <fault name='RemoteException' message='tns:RemoteException'/>
+            <fault name='ChatServiceException'
+message='tns:ChatServiceException'/>
+        </operation>
+    </portType>
+    <binding name='ChatService' type='tns:ChatService'>
+        <soap:binding transport='http://schemas.xmlsoap.org/soap/http'
+style='document'/>
+        <operation name='getAllMessages'>
+            <soap:operation
+soapAction='http://systinet.com/j2ee/ejb/ChatService#getAllMessages?KClbTGNvbS9zeXN0aW5ldC9lamJjaGF0L2oyZWUvQ2hhdE1lc3NhZ2VTdHJ1Y3Q7'
+style='document'/>
+            <input>
+                <soap:body use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_0'
+use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_1'
+use='literal'/>
+            </input>
+            <output>
+                <soap:body parts='response' use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_1'
+use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_0'
+use='literal'/>
+            </output>
+            <fault name='RemoteException'>
+                <soap:fault name='RemoteException' use='literal'/>
+            </fault>
+            <fault name='ChatServiceException'>
+                <soap:fault name='ChatServiceException' use='literal'/>
+            </fault>
+        </operation>
+        <operation name='getMessagesFrom'>
+            <soap:operation
+soapAction='http://systinet.com/j2ee/ejb/ChatService#getMessagesFrom?KExqYXZhL2xhbmcvU3RyaW5nOylbTGNvbS9zeXN0aW5ldC9lamJjaGF0L2oyZWUvQ2hhdE1lc3NhZ2VTdHJ1Y3Q7'
+style='document'/>
+            <input>
+                <soap:body parts='p0' use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_0'
+use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_1'
+use='literal'/>
+            </input>
+            <output>
+                <soap:body parts='response' use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_1'
+use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_0'
+use='literal'/>
+            </output>
+            <fault name='RemoteException'>
+                <soap:fault name='RemoteException' use='literal'/>
+            </fault>
+            <fault name='ChatServiceException'>
+                <soap:fault name='ChatServiceException' use='literal'/>
+            </fault>
+        </operation>
+        <operation name='getPersonProfile'>
+            <soap:operation
+soapAction='http://systinet.com/j2ee/ejb/ChatService#getPersonProfile?KExqYXZhL2xhbmcvU3RyaW5nOylMY29tL3N5c3RpbmV0L2VqYmNoYXQvajJlZS9DaGF0UGVyc29uOw=='
+style='document'/>
+            <input>
+                <soap:body parts='p0' use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_0'
+use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_1'
+use='literal'/>
+            </input>
+            <output>
+                <soap:body parts='response' use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_1'
+use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_0'
+use='literal'/>
+            </output>
+            <fault name='RemoteException'>
+                <soap:fault name='RemoteException' use='literal'/>
+            </fault>
+            <fault name='ChatServiceException'>
+                <soap:fault name='ChatServiceException' use='literal'/>
+            </fault>
+        </operation>
+        <operation name='postMessage'>
+            <soap:operation
+soapAction='http://systinet.com/j2ee/ejb/ChatService#postMessage?KExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylK'
+style='document'/>
+            <input>
+                <soap:body parts='p0 p1' use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_0'
+use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_1'
+use='literal'/>
+            </input>
+            <output>
+                <soap:body parts='response' use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_1'
+use='literal'/>
+                <soap:header message='tns:runtimeHeaders_0' part='header_0'
+use='literal'/>
+            </output>
+            <fault name='RemoteException'>
+                <soap:fault name='RemoteException' use='literal'/>
+            </fault>
+            <fault name='ChatServiceException'>
+                <soap:fault name='ChatServiceException' use='literal'/>
+            </fault>
+        </operation>
+    </binding>
+    <binding name='ChatService_SOAP12' type='tns:ChatService'>
+        <soap12:binding transport='http://schemas.xmlsoap.org/soap/http'
+style='document'/>
+        <operation name='getAllMessages'>
+            <soap12:operation
+soapAction='http://systinet.com/j2ee/ejb/ChatService#getAllMessages?KClbTGNvbS9zeXN0aW5ldC9lamJjaGF0L2oyZWUvQ2hhdE1lc3NhZ2VTdHJ1Y3Q7'
+style='document'/>
+            <input>
+                <soap12:body use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_1' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_0' use='literal'/>
+            </input>
+            <output>
+                <soap12:body parts='response' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_1' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_0' use='literal'/>
+            </output>
+            <fault name='RemoteException'>
+                <soap12:fault name='RemoteException' use='literal'/>
+            </fault>
+            <fault name='ChatServiceException'>
+                <soap12:fault name='ChatServiceException' use='literal'/>
+            </fault>
+        </operation>
+        <operation name='getMessagesFrom'>
+            <soap12:operation
+soapAction='http://systinet.com/j2ee/ejb/ChatService#getMessagesFrom?KExqYXZhL2xhbmcvU3RyaW5nOylbTGNvbS9zeXN0aW5ldC9lamJjaGF0L2oyZWUvQ2hhdE1lc3NhZ2VTdHJ1Y3Q7'
+style='document'/>
+            <input>
+                <soap12:body parts='p0' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_1' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_0' use='literal'/>
+            </input>
+            <output>
+                <soap12:body parts='response' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_1' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_0' use='literal'/>
+            </output>
+            <fault name='RemoteException'>
+                <soap12:fault name='RemoteException' use='literal'/>
+            </fault>
+            <fault name='ChatServiceException'>
+                <soap12:fault name='ChatServiceException' use='literal'/>
+            </fault>
+        </operation>
+        <operation name='getPersonProfile'>
+            <soap12:operation
+soapAction='http://systinet.com/j2ee/ejb/ChatService#getPersonProfile?KExqYXZhL2xhbmcvU3RyaW5nOylMY29tL3N5c3RpbmV0L2VqYmNoYXQvajJlZS9DaGF0UGVyc29uOw=='
+style='document'/>
+            <input>
+                <soap12:body parts='p0' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_1' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_0' use='literal'/>
+            </input>
+            <output>
+                <soap12:body parts='response' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_1' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_0' use='literal'/>
+            </output>
+            <fault name='RemoteException'>
+                <soap12:fault name='RemoteException' use='literal'/>
+            </fault>
+            <fault name='ChatServiceException'>
+                <soap12:fault name='ChatServiceException' use='literal'/>
+            </fault>
+        </operation>
+        <operation name='postMessage'>
+            <soap12:operation
+soapAction='http://systinet.com/j2ee/ejb/ChatService#postMessage?KExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvU3RyaW5nOylK'
+style='document'/>
+            <input>
+                <soap12:body parts='p0 p1' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_1' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_0' use='literal'/>
+            </input>
+            <output>
+                <soap12:body parts='response' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_1' use='literal'/>
+                <soap12:header message='tns:runtimeHeaders_0'
+part='header_0' use='literal'/>
+            </output>
+            <fault name='RemoteException'>
+                <soap12:fault name='RemoteException' use='literal'/>
+            </fault>
+            <fault name='ChatServiceException'>
+                <soap12:fault name='ChatServiceException' use='literal'/>
+            </fault>
+        </operation>
+    </binding>
+    <service name='jndi-ejb/ChatService'>
+        <port name='ChatService' binding='tns:ChatService'>
+            <soap:address
+location='http://saturn:8080/systinet/server/tutorials/ejbchat/'/>
+        </port>
+        <port name='ChatService_SOAP12' binding='tns:ChatService_SOAP12'>
+            <soap12:address
+location='http://saturn:8080/systinet/server/tutorials/ejbchat/'/>
+        </port>
+    </service>
+</definitions>
+------------- end --------------