开发者

Problem in creating and publishing Web Service in Mustang(Java 1.6 sdk)

I am preety new to Java and have some experience in dotnet. The intension is to create a web service in java (jdk 1.6) and consume it thru dotnet. Please assume me as a beginner in Java.

I got stuck up in creating a web service using Java(I am new to it).. here is my program(sample taken from net)

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); 
}

So after creating this I saved it as Calculator.java in C:\Program Files\Java\jdk1.6.0\bin

Then first I compiled as

apt -d example/Calculator.java

and then

java -cp example.Calculator

And then I tried to access the wsdl file as http://localhost:8080/AddWebService?wsdl but with no result... Could you please help me as what wrong I am making..

EDIT

After I ran apt

-d example/Calculator.java 

I got the below in the console

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 specif开发者_如何转开发ied 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.

And after I ran

java -cp example.Calculator

I recived the below in console

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.

I donot know is it the expected behaviour or something else.

Thanks a lot


You do not need the apt step with the latest Java 6.

Also your program needs to keep running or it will just shut down immediately after publishing.


The error is because you have the wrong java command arguments. The java command you want to run will be something like,

java -cp . example.Calculator

Note the , after -cp.

This is a good getting started page for java

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜