The problem might be because he's doing a schema import rather than a wsdl import. If you use the <import> element as a child of <schema> within the types section with the default namespace for schema, then you are doing a schema import. This is a valid use of import -- and it's how you're supposed to import a schema. When you use <import> as a child of <definitions> using the default namespace for wsdl, then you are doing a wsdl import. In this case you should only import a wsdl file (not a schema file).
Anne > -----Original Message----- > From: Ben Butchart [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 06, 2003 4:55 AM > To: axis-user > Subject: Re: Importing a schema into a WSDL > > > My understanding of the WSDL specification is that the import element is a > child of the definitions elements and appears immediately after > the opening > definitions element. Therefore you don't put the import inside the types > element. So if you import the xsd document you don't need the > types element > at all. See section 2.1.2 of the WSDL specification for an > example of this. > > Ben > > > > > > ----- Original Message ----- > From: "Neil Blue" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Wednesday, March 05, 2003 5:39 PM > Subject: Importing a schema into a WSDL > > > > Hello, > > > > I have been building up a WSDL file, and now I need to import > schemas from > > other locations on our web site. > > > > But I keep getting an error about the type not being defined. Here is a > > sample of my problem: > > > > java.io.IOException: Type {http://importer/test}testType is > referenced but > > not defined > > > > I have tried to use an import statment like: > > > > <wsdl:types> > > <schema xmlns="http://www.w3.org/2001/XMLSchema"> > > <import namespace="http://importer/test" > > schemaLocation="file:///home/nblue/test.xsd"/> > > </schema> > > </wsdl:types> > > > > then I refer to it with: > > > > <wsdl:message name="methodRequest"> > > <wsdl:part name="request" type="imp:testType"/> > > </wsdl:message> > > > > where the schema is simple: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > > xmlns="http://importer/test" > > targetNamespace="http://importer/test"> > > <xs:complexType name="testType"> > > <xs:sequence> > > <xs:element name="test" type="xsd:string"/> > > </xs:sequence> > > </xs:complexType> > > </xs:schema> > > > > the imp namespace is defined in the definitions as: > > > > xmlns:imp="http://importer/test" > > > > > > Could anyone explain how to do this please :) > > > > Neil >