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
>

Reply via email to