2013-04-04 2 views
1

J'ai un wsdl à une adresse comme https://mycompany.com/mywspath/Documents.svc?wsdl Il semble que xsd est visible à https://mycompany.com/mywspath/Documents.svc?wsdl&xsd=xsd0wsimport: impossible de renommer le nom du package

donnant un

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

-je obtenir hierararchy contenant le les classes liées à Documents et les dépendances (com.microsoft, ...)

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

Ma volonté est de refactoriser les clases générés dans com.mycompany.mywspath à com.mycompany.mywspath.test ou com.mycompany.mywspathA

Cela parce qu'il existe d'autres services Web qui contiennent d'autres définitions dans le même espace de noms, donc le généré Les classes sont stockées dans le même package com.mycompany.mywspath et la classe ObjectFactory.class obtenue à partir du premier wsimport est écrasée par celle générée par les appels suivants. Mon souhait est d'éviter cette liaison sur différents paquets l'espace de noms provenant de différents services web utilisant l'option -b de wsimport.

J'ai utilisé un fichier de liaison XML comme ceci:

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

classe sont originaires de la même lieu sans aucune modification et com/mycompany/mywspath/test n'est pas son origine.

Comment puis-je déplacer ces classes vers le package com/mycompany/mywspath/test?

+0

Vous avez changé ''? – McDowell

+0

Que voulez-vous dire par "vous avez changé ...?" ? – alexroat

+0

Je veux dire changer 'package nom =" com.mycompany.mywspath "' 'paquet nom =" com.mycompany.mywspath.test "' – McDowell

Répondre

1

Utilisez wsimport -p com.bingo.charlie <YOUR_WSDL_URL> pour définir un package pour vos fichiers générés

Questions connexes