Saya baru saja belajar sendiri tentang layanan web dan mencoba menjalankan helloWorld. Saya pikir untuk mengatur semua layanan web saya perlu menjalankan apt.
Saya menjalankannya seperti ini:
apt HelloImpl.java -classpath /<path>/jsr181-api.jar
Tapi saya mendapat peringatan (lihat di bawah). Apakah saya perlu menentukan pemroses anotasi juga? Saya pikir perintah apt seharusnya menghasilkan beberapa file tetapi itu tidak terjadi (hanya menghasilkan file .class). Terima kasih untuk bantuannya.
Peringatan:
warning: No annotation processors found but annotations present.
1 warning
Kode:
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 + "!";
}
}
Pertanyaan Bonus: Apa yang dilakukan apt? Saya berasumsi bahwa itu memanggil javac? Apakah ini seharusnya juga memanggil pemroses anotasi?
Pembaruan: tutorial yang saya ikuti mengatakan :
The next step is to run apt on the above Java code, resulting in several artifacts:
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
Saya pikir inilah yang seharusnya dihasilkan (dengan asumsi saya memberikan argumen yang benar). Namun saya pikir saya harus meneruskannya ke pemroses anotasi (?). Saya sebenarnya hanya ingin menggunakan default (pemroses anotasi layanan web).
Pembaruan 2: Mungkin sebaiknya saya menggunakan asant atau wsgen? Saya mencarinya tetapi saya tidak memiliki keduanya di mesin saya.. Sesuatu yang perlu diperhatikan.. Mungkin tutorial yang saya/sedang gunakan salah. Berikut ini tautan ke referensi asant: http://java.sun.com/webservices/docs/2.0/tutorial/doc/JAXWS3.html