Je cours wsimport
de cmd avec mes dataBindings dans le fichier bindings.xml
. Fondamentalement, j'essaie de remplacer la liaison par défaut pour le type de schéma "datetime" pour générer "java.util.Date" au lieu de "XMLGregorianCalendar".Erreur lors de l'importation de wsimport avec des liaisons JAXB supplémentaires
Voici la commande que j'utilise.
wsimport -keep -verbose -extension -b bindings.xml -wsdllocation http://localhost/wsdl/API http://localhost:8080/cc/API?WSDL -d C:/Users/ab/Desktop/test
Mon fichier Bindings.xml ressemble à ceci.
<bindings xmlns="http://java.sun.com/xml/ns/jaxb" version="2.1" >
<globalBindings>
<javaType name="java.util.Date" xmlType="xs:dateTime"
parseMethod="adapter.DateAdapter.marshal"
printMethod="adapter.DateAdapter.unmarshal" />
</globalBindings>
</bindings>
Voici ma classe DateAdapter:
package adapter;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.xml.bind.DatatypeConverter;
public class DateAdapter
{
public static Date unmarshal(String paramString)
{
return DatatypeConverter.parseDate(paramString).getTime();
}
public static String marshal(Date paramDate)
{
Calendar localCalendar = GregorianCalendar.getInstance();
localCalendar.setTime(paramDate);
return DatatypeConverter.printDateTime(localCalendar);
}
}
wsimport L'exécution génère les fichiers WebService avec un Adapter1.class. Toutefois, la réponse contient l'erreur suivante.
C:\Users\ab\Desktop\test\org\w3\_2001\xmlschema\Adapter1.java:13: package a
dapter does not exist
return (adapter.DateAdapter.marshal(value));
Maintenant, mon DateAdapter.class se trouve dans le dossier « adaptateur » au même endroit que je me présente wsimport de.
Je veux savoir pourquoi n'est-il pas capable de lire le DateAdapter? J'ai aussi essayé de garder le fichier à la racine au lieu de dans le dossier mais cela aussi jette une exception similaire.