java - wsimport : unable to rename the package name

标签 java xml jaxb wsimport

我有一个 wsdl,地址如下 https://mycompany.com/mywspath/Documents.svc?wsdl 似乎 xsd 可见于 https://mycompany.com/mywspath/Documents.svc?wsdl&xsd=xsd0

给予一个

wsimport https://mycompany.com/mywspath/Documents.svc?wsdl

我获得了包含与文档相关的类和依赖项(com.microsoft,...)的层次结构

com
-microsoft
--...
-mycompany
--...
org
-datacontract
--schemas
---...

我的意愿是将 com.mycompany.mywspath 中生成的类重构为 com.mycompany.mywspath.test 或 com.mycompany.mywspathA

这是因为在同一个命名空间中还有其他包含其他定义的 web 服务,所以生成的类存储在同一个包 com.mycompany.mywspath 中,并且从第一个 wsimport 生成的 ObjectFactory.class 被覆盖接听电话。

我的意愿是使用 wsimport 的 -b 选项避免对来自不同 Web 服务的命名空间的不同包进行绑定(bind)。

我使用了这样的 XML 绑定(bind)文件:

 <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>

类起源于同一个地方,没有任何修改,com/mycompany/mywspath/test 不是起源的。

如何将这些类移动到 com/mycompany/mywspath/test 包?

最佳答案

使用

wsimport -p com.bingo.charlie YOUR_WSDL_URL

为您生成的文件定义一个包。

关于java - wsimport : unable to rename the package name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15810297/

相关文章:

java - 如何使用 jedis for Java 连接到 Docker Redis 集群实例?

java - JLabel.toString 返回什么?

java - XML 资源中的变量 - 将值从父级传递给子级

java - 转换 XML 中的任何 ActionScript 类

c# - 使用MVC将XML Spreadsheet导入Excel,Cell格式总是通用的,如何更改?

java - 编码(marshal) java.util.Map<String,String>

java - 在生成的代码中,如何访问 XSD 文件中声明的方面?

xml - JAXB Marshallingremove 命名空间前缀

java - 如何使用 Mockito 匹配二维数组参数?

java - 如何按需重新加载 com.google.common.base.Supplier 中的值