jaxb: привязки, отделение классов от wsdls (одно и то же местоположение и разные целевые пространства имен). Как насчет атрибута wsdlLocation?
У меня два wsdls: ServiceA.wsdl(with targetNamespace='targetA'), and ServiceB.wsdl(with targetNamespace='targetB')
, Оба они расположены в одном и том же месте, но каждый из них относится к разному целевому пространству имен.
Я хотел бы отделить источники Java, созданные с помощью jaxb
,
Я использую jaxb переплетный файл:
<?xml version="1.0" encoding="UTF-8"?>
<jaxws:bindings xmlns:jaxws="http://java.sun.com/xml/ns/jaxws">
<jaxws:bindings node="wsdl:definitions[@targetNamespace='targetA']" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" wsdlLocation="../my_wsdl_location/ServiceA.wsdl">
<jaxws:package name="package.serviceA"/>
</jaxws:bindings>
<jaxws:bindings node="wsdl:definitions[@targetNamespace='targetB']" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" wsdlLocation="../my_wsdl_location/ServiceB.wsdl">
<jaxws:package name="package.serviceB"/>
</jaxws:bindings>
</jaxws:bindings>
Но это не работает. Я получаю ошибку:
"XPath evaluation of `"wsdl:definitions[@targetNamespace='targetA']"` results in an empty target node".
Я думаю, JAXB пытается оценить XPATH >>wsdl:definitions[@targetNamespace='targetA']<<
для файла ServiceB.wsdl, но как насчет атрибута >>wsdlLocation<<
?
Я думаю, это должно указывать на правильный wsdl.
Где моя вина?
Спасибо за помощь.
С наилучшими пожеланиями
марио