i found a problem, i've a service generated by Axis2 that gives this wsdl
(i put only the types part).
<wsdl:types>
<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>
</wsdl:types>
here, there are 2 schema, how can i parse this? i had to parse the second
one using the information in the first one, but how?
On Tue, Nov 17, 2009 at 09:15, Stefano Tranquillini <
[email protected]> wrote:
> 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 <[email protected]>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 <
>> [email protected]> 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
>
--
Stefano