0

私はJavaが初めてで、ドットネットの経験があります。その意図は、Java (jdk 1.6) で Web サービスを作成し、それを dotnet 経由で使用することです。私を Java の初心者と仮定してください。

Javaを使用してWebサービスを作成するのに行き詰まりました(私はそれに慣れていません)..これが私のプログラムです(ネットから取得したサンプル)

package example;
import javax.jws.WebService;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class Calculator {
 @WebMethod(action="addNumbers")
   public int Add(int number1, int number2) {
        return number1 + number2;
    }
}
public static void main(String[] args) 
{         
 Calculator  server = new Calculator ();         
 Endpoint endpoint = Endpoint.publish("http://localhost:8080/AddWebService", server); 
}

これを作成した後、 C:\Program Files\Java\jdk1.6.0\binに Calculator.java として保存しました。

次に、最初に次のようにコンパイルしました

apt -d example/Calculator.java

その後

java -cp example.Calculator

そして、http://localhost:8080/AddWebService?wsdlとして wsdl ファイルにアクセスしようとしまし たが、結果はありませんでした...何が間違っているのか教えてください..

編集

aptを実行した後

-d example/Calculator.java 

コンソールで以下を取得しました

warning: The apt tool and its associated API are planned to be
removed in the next major JDK release.  These features have been
superseded by javac and the standardized annotation processing API,
javax.annotation.processing and javax.lang.model.  Users are
recommended to migrate to the annotation processing features of
javac; see the javac man page for more information.
Usage: apt <apt and javac options> <source files>
where apt options include:
  -classpath <path>          Specify where to find user class files and annotati
on processor factories
  -cp <path>                 Specify where to find user class files and annotati
on processor factories
  -d <path>                  Specify where to place processor and javac generate
d class files
  -s <path>                  Specify where to place processor generated source f
iles
  -source <release>          Provide source compatibility with specified release

  -version                   Version information
  -help                      Print a synopsis of standard options; use javac -he
lp for more options
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system
  -A[key[=value]]            Options to pass to annotation processors
  -nocompile                 Do not compile source files to class files
  -print                     Print out textual representation of specified types

  -factorypath <path>        Specify where to find annotation processor factorie
s
  -factory <class>           Name of AnnotationProcessorFactory to use; bypasses
 default discovery process
See javac -help for information on javac options.

そして走った後

java -cp example.Calculator

コンソールで以下を受け取りました

Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
where options include:
    -d32          use a 32-bit data model if available
    -d64          use a 64-bit data model if available
    -client       to select the "client" VM
    -server       to select the "server" VM
    -hotspot      is a synonym for the "client" VM  [deprecated]
                  The default VM is client.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A ; separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose[:class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:<value>
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -no-jre-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions with specified granularity
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions with specified granularity
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:<libname>[=<options>]
                  load native agent library <libname>, e.g. -agentlib:hprof
                  see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument

    -splash:<imagepath>
                  show splash screen with specified image
See http://java.sun.com/javase/reference for more details.

それが予想される動作なのか、それとも何か他のものなのかわかりません。

どうもありがとう

4

2 に答える 2

1

最新の Java 6 では apt ステップは必要ありません。

また、プログラムは実行し続ける必要があります。そうしないと、公開直後にシャットダウンされます。

于 2011-08-24T06:05:57.307 に答える
0

エラーは、Java コマンドの引数が間違っているためです。実行する Java コマンドは次のようになります。

java -cp . example.Calculator

-cp の後の , に注意してください。

これは、Java の入門ページとして最適です

于 2011-08-24T05:51:57.293 に答える