我的地址是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服务。

我使用了这样的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>


类源自同一位置,没有进行任何修改,并且com / mycompany / mywspath / test不源自。

如何将这些类移至com / mycompany / mywspath / test软件包?

最佳答案

采用
wsimport -p com.bingo.charlie <YOUR_WSDL_URL>为生成的文件定义包

关于java - wsimport:无法重命名程序包名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15810297/

10-10 03:06