[ http://issues.apache.org/jira/browse/JAXME-56?page=all ] Jochen Wiedmann closed JAXME-56: --------------------------------
Resolution: Duplicate You are still using an attribute "arrayType" without prefix. This is invalid. I do not know, what the correct prefix would be, but the missing prefix is *definitely* wrong. > XSParser.parse() unable to parse schema > --------------------------------------- > > Key: JAXME-56 > URL: http://issues.apache.org/jira/browse/JAXME-56 > Project: JaxMe > Type: Bug > Components: JaxMeXS > Versions: current (nightly) > Environment: WIN 2000 Server, JDK 1.4.2_06. > Reporter: Kumar Raja > > Hi, > I am very new to JAXME and I trying to parse a schema using the XSParser and > I running into few problems with few xsd files which has the ArrayType > attribute and one example is given below with the schema, code and the > exception. > ** I might be missing something and if so please advice. > Please help on this and thanking you in advance. > -Kumar. > Code Snippet > ------------ > import java.io.FileInputStream; > import org.xml.sax.InputSource; > import org.apache.ws.jaxme.xs.XSParser; > import org.apache.ws.jaxme.xs.*; > public class MyParser { > public static void main(String[] args) throws Exception { > FileInputStream fs = new FileInputStream(args[0]); > InputSource is = new InputSource(fs); > //is.setSystemId(fs.toURL().toString()); // This is important, if you > use a DTD, > // external entities, schema validation, ... > // in other words: Other files > XSParser parser = new XSParser(); > parser.setValidating(false); > XSSchema schema = parser.parse(is); > Object[] childs = schema.getChilds(); > for (int i = 0; i < childs.length; i++) > { > Object o = childs[i]; > System.out.println(o.getClass()); > if (o instanceof XSType) > System.out.println(" name " + > ((XSType)o).getName().getLocalName() ); > } > } > } > SCHEMA 1 > ------------- > <schema > xmlns="http://www.w3.org/2001/XMLSchema" > xmlns:impl="http://localhost:7001/axis/EchoHeaders.jws" > xmlns:intf="http://localhost:7001/axis/EchoHeaders.jws" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:apachesoap="http://xml.apache.org/xml-soap" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > targetNamespace="http://localhost:7001/axis/EchoHeaders.jws"> > <complexType name="ArrayOf_soapenc_string"> > <complexContent> > <restriction base="soapenc:Array"> > <attribute ref="soapenc:arrayType" arrayType="soapenc:string[]" /> > </restriction> > </complexContent> > </complexType> > </schema> > Exception for SCHEMA 1 > -------------------------- > Exception in thread "main" java.lang.IllegalStateException: Unknown attribute > of > org.apache.ws.jaxme.xs.xml.impl.XsTAttributeImpl: arrayType > at > org.apache.ws.jaxme.xs.parser.impl.AbstractXsSAXParser.startElement(A > bstractXsSAXParser.java:206) > at > org.apache.ws.jaxme.xs.parser.impl.AbstractXsSAXParser.startElement(A > bstractXsSAXParser.java:246) > at > org.apache.ws.jaxme.xs.parser.impl.AbstractXsSAXParser.startElement(A > bstractXsSAXParser.java:249) > at > org.apache.ws.jaxme.xs.parser.impl.AbstractXsSAXParser.startElement(A > bstractXsSAXParser.java:249) > at > org.apache.ws.jaxme.xs.parser.impl.AbstractXsSAXParser.startElement(A > bstractXsSAXParser.java:249) > at > org.apache.ws.jaxme.xs.impl.XSContentHandlerImpl.startElement(XSConte > ntHandlerImpl.java:152) > at > org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376) > at > org.apache.xerces.validators.common.XMLValidator.callStartElement(XML > Validator.java:1214) > at > org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumen > tScanner.java:1806) > at > org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.disp > atch(XMLDocumentScanner.java:1182) > at > org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS > canner.java:381) > at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081) > at > org.apache.ws.jaxme.xs.impl.XSLogicalParser.parse(XSLogicalParser.jav > a:662) > at org.apache.ws.jaxme.xs.XSParser.parse(XSParser.java:156) > at MyParser.main(MyParser.java:22) > ----------------------- > SCHEMA 2 > ---------- > <schema xmlns:apachesoap="http://xml.apache.org/xml-soap" > xmlns:impl="urn:ifws" xmlns:intf="urn:ifws" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:ifws" > xmlns="http://www.w3.org/2001/XMLSchema"> > <import namespace="http://xml.apache.org/xml-soap"/> > <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> > <complexType name="ArrayOf_xsd_string"> > <complexContent> > <restriction base="soapenc:Array"> > <attribute ref="soapenc:arrayType" wsdl:arrayType="soapenc:string[]"/> > </restriction> > </complexContent> > </complexType> > <complexType name="ObjList"> > <sequence> > <element name="name" type="xsd:string"/> > <element name="id" type="xsd:long"/> > </sequence> > </complexType> > <complexType name="ArrayOfObjList"> > <complexContent> > <restriction base="soapenc:Array"> > <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ObjList[]"/> > </restriction> > </complexContent> > </complexType> > <complexType name="UdaStruct"> > <sequence> > <element name="name" type="xsd:string"/> > <element name="type" type="xsd:string"/> > <element name="value" type="xsd:string"/> > </sequence> > </complexType> > <complexType name="ArrayOfUdaStruct"> > <complexContent> > <restriction base="soapenc:Array"> > <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:UdaStruct[]"/> > </restriction> > </complexContent> > </complexType> > </schema> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]