title: JAX-WS and Enunciate - How to change Enunciate's default XSD naming convention
body: <p>I'm using Enunciate to generate a SOAP endpoint for a Wicket web application I am working on and I have a couple of questions that I haven't figured out the solution to yet.</p>
  
  <p>1 How do I change the name of the xsd files? I've looked through the FAQ and it tells me to do something similar to this:</p>
  
  <pre>
  &lt;xml&gt;
      &lt;schema namespace="http://api.example.com/data" file="data.xsd"/>
  &lt;/xml&gt;
  </pre>
  
  <p>However, I haven't quite figured out how to set the targetNamespace for my data objects. I've done this for my service via @WebService ( targetNamespace="blah" ), but how do I annotate my data objects to let Enunciate know which namespace they should belong to?</p>
  
  <p>2 Enunciate generates my XSDs just fine, but I don't particularily like the element names it uses. I have a ServiceRequest and ServiceResponse object. The ServiceRequest object has a List of User objects. The ServiceResponse has a list of Group objects. Enunciate suggests that every "User" object within the ServiceRequest should be using the tag "&lt;users&gt;". I feel that it would make more sense to use the singular form, "&lt;user&gt;" since the tag does in fact only contain a single user. Is it possible to change this behaviour, and if so, how?</p>
  
  <p>Thanks in advance.</p>