Я использую wsimport для создания клиентских заглушек для JAX-WS веб-сервиса называетwsimport клиент - настроить несколько имен пакетов
wsimport
имеет -p
вариант, который позволяет настроить имя пакета.
Для примера. если WSDL имеет пространство имен com.abc, то вы можете подписать com.abc по com.pqr, вызвав wsimport
с командной строкой -p com.pqr
.
Однако это прекрасно работает, только если в wsdl используется только одно пространство имен.
Если в wsdl существует несколько пространств имен, существует ли способ заменить каждое из них другим именем пакета.
Для примера. если я хочу, чтобы пространство имен com.abc.s1 было заменено пространством имен com.pqr.s1 & namespace com.abc.s2, которое должно быть заменено пространством имен com.pqr.s2.
Если я использую wsimport -p com.pqr.s1
, он помещает все сгенерированные классы в com.pqr.s1
Есть ли способ добиться того, чего я хочу?
Возможно с помощью специальной привязки jaxb. Отправьте свой wsdl (или что-то вроде этого здесь). Идеальный сценарий будет заключаться в том, что ваша различная схема будет находиться в отдельных xsds, но я полагаю, что у вас нет этого – kolossus
@kolossus - они находятся в отдельных схемах. Как это помогает? – user93353
Наличие в отдельных файлах означает, что вам не нужно иметь дело с путаницей Xpath или проливать кучу директив привязки jax-b в вашем WSDL – kolossus