我有两个wsdls: ServiceA.wsdl(with targetNamespace='targetA'), and ServiceB.wsdl(with targetNamespace='targetB')
。它们都位于相同的位置,但每个都属于不同的目标命名空间。
我想分隔通过jaxb
生成的java源代码。
我使用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会尝试评估文件ServiceB.wsdl的XPATH >>wsdl:definitions[@targetNamespace='targetA']<<
,但属性>>wsdlLocation<<
呢?
我认为,它应该表明正确的wsdl。
我的错在哪里?
感谢您的帮助。
祝你好运
马里奥