2010-01-22 27 views
2

J'ai essayé de faire un service web simple et j'ai suivi this tutorial. Malheureusement, je suis coincé. Voici ce que je l'ai fait jusqu'à présent:Service Web Java utilisant Apt. Ai-je besoin d'un processeur d'annotation? Qu'est-ce qui ne va pas?

1) J'ai créé cette classe:

package server; 

import javax.jws.WebService; 

@WebService 
public class HelloImpl { 

    /** 
    * @param name 
    * @return Say hello to the person. 
    */ 
    public String sayHello(String name) { 
    return "Hello, " + name + "!"; 
    } 
} 

2) Je courus:

apt HelloImpl.java 

3) Je reçois cet avertissement:

hostName[username:~/Desktop/webtest][534]% apt HelloImpl.java 
warning: Annotation types without processors: [javax.xml.bind.annotation.XmlRootElement, javax.xml.bind.annotation.XmlAccessorType, javax.xml.bind.annotation.XmlType, javax.xml.bind.annotation.XmlElement] 
1 warning 

La commande apt devrait (selon le tutoriel) produire ces fichiers:

HelloServiceImpl.wsdl 
schema1.xsd 
classes/server/HelloImpl.class 
classes/server/jaxrpc/SayHello.class 
classes/server/jaxrpc/SayHelloResponse.class 
classes/server/jaxrpc/SayHello.java 
classes/server/jaxrpc/SayHelloResponse.java 

C'est ce qui a été généré quand j'ai appelé apt:

HelloImpl.java (not generated but it is still in the directory) 
HelloImpl.class 
server/jaxws/SayHello.cass 
server/jaxws/SayHell.java 
server/jaxws/SayHelloResponse.class 
server/jaxws/SayHelloResponse.java 

(manquant :)

HelloServiceImpl.wsdl 
schema1.xsd 

(les chemins sont également légèrement différentes)

Je soupçonne que l'avertissement est en cours de génération et les autres fichiers ne sont pas générés car j'ai "types d'annotation sans processeurs:".

Je pense que l'avertissement indique qu'il a besoin d'une usine d'annotation (processeur). Je sais que vous pouvez spécifier une usine par:

enter code here -CP Indiquez où trouver les fichiers de classe d'utilisateurs et des usines de traitement d'annotation

Je ne suis pas sûr de ce que l'usine de préciser. (Ou peut-être que j'ai besoin de configurer quelque chose différemment).

Répondre

2

Ce tutoriel de 5 ans est peut-être un peu dépassé. jax-ws est le successeur de jax-rpc. Cependant, peut-être que tout ce dont vous avez besoin est de lancer l'outil wsgen au lieu de apt.

Jetez un coup d'oeil ici pour un mini tutoriel In-process SOAP service server for Java