2

https://mycompany.com/mywspath/Documents.svc?wsdlのようなアドレスに wsdl があります 。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 package に移動するにはどうすればよいですか?

4

2 に答える 2