2

私は簡単なWebサービスを作成しようとしており、このチュートリアルに従っています。残念ながら私は立ち往生しています。これが私がこれまでにしたことです:

1)このクラスを作成しました:

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)私は走った:

apt HelloImpl.java

3)この警告が表示されます:

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

aptコマンドは(チュートリアルによると)これらのファイルを生成する必要があります:

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

これは、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

(ない:)

HelloServiceImpl.wsdl
schema1.xsd

(パスもわずかに異なります)

「プロセッサのない注釈タイプ:」があるため、警告が生成され、他のファイルは生成されていないようです。

警告は、アノテーションファクトリ(プロセッサ)が必要であることを示していると思います。次の方法でファクトリを指定できることを知っています。

enter code here-cpユーザークラスファイルとアノテーションプロセッサフ​​ァクトリの場所を指定します

どのファクトリを指定すればよいかわかりません。(または、別の方法で構成する必要があるかもしれません)。

4

1 に答える 1

2

その5年前のチュートリアルは、少し古くなっている可能性があります。jax-wsはjax-rpcの後継です。ただし、必要なのはaptではなくwsgenツールを実行することだけかもしれません。

Java用のミニチュートリアルインプロセスSOAPサービスサーバーについては、こちらをご覧ください

于 2010-01-22T22:01:30.100 に答える