ale*_*oat 2 java xml jaxb wsimport
我在https://mycompany.com/mywspath/Documents.svc?wsdl这样的地址有一个 wsdl 似乎 xsd 在 https://mycompany.com/mywspath/Documents.svc?wsdl&xsd=xsd0处可见
给一个
wsimport https://mycompany.com/mywspath/Documents.svc?wsdl
Run Code Online (Sandbox Code Playgroud)
我获得包含与文档和依赖项相关的类的层次结构(com.microsoft,...)
com
-microsoft
--...
-mycompany
--...
org
-datacontract
--schemas
---...
Run Code Online (Sandbox Code Playgroud)
我的意愿是将 com.mycompany.mywspath 中生成的 clasees 重构为 com.mycompany.mywspath.test 或 com.mycompany.mywspathA
这是因为在同一命名空间中还有其他 Web 服务包含其他定义,因此生成的类存储在同一包 com.mycompany.mywspath 中,并且从第一个 wsimport 获取的 ObjectFactory.class 会被以下调用生成的类覆盖。
我的意愿是使用 wsimport 的 -b 选项避免在来自不同 Web 服务的命名空间的不同包上进行这种绑定。
我使用了这样的 XML 绑定文件:
<jxb:bindings
jxb:version="2.1"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
<bindings schemaLocation="https://https://mycompany.com/mywspath/Documents.svc?xsd=xsd0"
node="//xsd:schema[@targetNamespace='http://mycompany.com/mywspath']">
<jxb:schemaBindings>
<jxb:package name="com.mycompany.mywspath"/>
</jxb:schemaBindings>
</bindings>
</jxb:bindings>
Run Code Online (Sandbox Code Playgroud)
类起源于同一位置,没有任何修改,并且 com/mycompany/mywspath/test 不是起源的。
如何将这些类移至 com/mycompany/mywspath/test 包?
使用
wsimport -p com.bingo.charlie YOUR_WSDL_URL
Run Code Online (Sandbox Code Playgroud)
为生成的文件定义一个包。
| 归档时间: |
|
| 查看次数: |
4899 次 |
| 最近记录: |