I solved taking the string between the <wsdl:types></wsdl:types>, but adding all the namespaces of the wsdl now the XMLSchema parse all.
On Mon, Nov 16, 2009 at 20:14, Benson Margulies <bimargul...@gmail.com>wrote: > Read the schema into a DOM tree with JAXP, and then ask XmlSchema to digest > the xs:schema node(s). > > On Mon, Nov 16, 2009 at 9:29 AM, Stefano Tranquillini < > stefano.tranquill...@gmail.com> wrote: > > > Hi all. > > i'm trying to use XMLSchema (http://ws.apache.org/commons/XmlSchema/) to > > parse the XSD. > > If the file is an XSD all is ok, but if i had an XSD inside a wsdl i'm > not > > able to read and parse it, how can i do that? > > i tryed to extract the part of the code in the wsdl between the > > <wsdl:types></wsdl:types> and parse it. > > but the parser returns this error > > > > org.apache.ws.commons.schema.XmlSchemaException: no protocol: > > <xs:schema attributeFormDefault="qualified" > elementFormDefault="qualified" > > targetNamespace="http://webservice/xsd"> <xs:complexType > > name="ComplexType"> <xs:sequence> > > <xs:element minOccurs="0" name="anni" type="xs:int"/> > > <xs:element minOccurs="0" name="nome" nillable="true" > > type="xs:string"/> </xs:sequence> > > </xs:complexType> </xs:schema> <xs:schema xmlns:ax22=" > > http://webservice/xsd" attributeFormDefault="qualified" > > elementFormDefault="qualified" targetNamespace="http://webservice"> > > <xs:import namespace="http://webservice/xsd"/> <xs:element > > name="hello"> <xs:complexType> > > <xs:sequence> <xs:element minOccurs="0" > name="name" > > nillable="true" type="xs:string"/> > > </xs:sequence> </xs:complexType> > > </xs:element> <xs:element name="helloResponse"> > > <xs:complexType> <xs:sequence> > > <xs:element minOccurs="0" name="return" nillable="true" > > type="xs:string"/> </xs:sequence> > > </xs:complexType> </xs:element> <xs:element > > name="dosmt"> <xs:complexType> > > <xs:sequence> <xs:element minOccurs="0" name="ct" > > nillable="true" type="ax22:ComplexType"/> > > </xs:sequence> </xs:complexType> > > </xs:element> <xs:element name="dosmtResponse"> > > <xs:complexType> <xs:sequence> > > <xs:element minOccurs="0" name="return" nillable="true" > > type="xs:string"/> </xs:sequence> > > </xs:complexType> </xs:element> </xs:schema> > > at > > > > > org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:372) > > at > > > > > org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:400) > > at > > > > > org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:418) > > at xsd.Parser.exec(Parser.java:39) > > at xsd.Parser.main(Parser.java:18) > > > > > > i think it might be a problem of namespaces ore smt like that. > > > > any hint or ideas about to fix this code or about to parse the XSD in a > > WSDL?? > > > > thanks > > > > -- > > Stefano > > > -- Stefano