I've seen two ways of doing this. You can import schema's and not have any element tags defined directly in the wsdl or you can define all your element tages between the schema tags. My questions is, do these cause different behaviors when the wsdl is used to build a cosuming client? In other words, if I have an operation called createForm defined in my wsdl, so I want an operation in the generated code to produce an operation method with a footprint like: createForm(String, String, String) Name, Address, Phone
To clairfy the two choices of wsdl construction, this is
<element name="name" type="xsd:String"/>
<element name="address" type="xsd:String"/>
<element name="phone" nillable="true" type="xsd:string"/>
Extracting the type definitions to a separate XML schema document would be considered refactoring, as far as I know.
It should have no impact on the users of the WSDL document, as far as generation of client artifacts (code and interfaces etc) is concerned.