Вам не нужно изменять wsdl для достижения этой цели.Если вы используете мастер клиента веб-службы Eclipse Helios, на втором шаге (необязательно), где вы указываете выходную папку для сгенерированного источника, есть флажок «Определить пользовательское сопоставление пространства имен для пакета».Установите этот флажок, и в следующей форме вы сможете определить свои пользовательские сопоставления пакетов.
РЕДАКТИРОВАТЬ 1:
Ссылка на
Официальную документацию РЕДАКТИРОВАТЬ 2:
WSDL
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://mycompany.com/MyService.wsdl"
xmlns:scm="http://mycompany.com/MyService.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
targetNamespace="http://mycompany.com/MyService.wsdl">
...
Для простого wsdl, как показано выше, настраиваемое отображение будет выглядеть следующим образом.
http://mycompany.com/MyService.wsdl - com.mycompany.ws.workflow
http://mycompany.com/MyService.xsd - com.mycompany.ws.workflow.schema
Вы можете нажать кнопку «Добавить» и ввести имя пространства и имена пакетов, либо вы можете сохранить сопоставление в файле свойств и нажать «Импорт», чтобы добавить все сразу.Я предпочитаю файл свойств.Также вы должны экранировать URL-адрес пространства имен и другие специальные символы, если вы собираетесь использовать файл свойств.Ваш файл свойств должен выглядеть примерно так:
nsmapping.properties
http\://mycompany.com/MyService.wsdl=com.mycompany.ws.workflow
http\://mycompany.com/MyService.xsd=com.mycompany.ws.workflow.schema
Выдержка из официальной документации.
Содержимое файла свойств должно иметь формат namespace = package.Вам нужно будет экранировать некоторые специальные символы в файлах свойств.Например, http://someNamespace=somePackage должно быть http://someNamespace=somePackage. В противном случае двоеточие (:) будет рассматриваться как разделитель, что приведет к попытке сопоставить http с //someNamespace=somePackage.