It doesn't seem where (which directory is the source or classes) it is correct to use wsgen for my WebService class ...
Create a sample document based on the letters WebService:
package hello; import javax.jws.WebService; @WebService public class HelloWorld { public void sayHello() { System.out.println("Welcome to JAX-WS 2!"); } }
Created the publisher as follows:
package hello; import javax.xml.ws.Endpoint; public class Publisher { public static void main(String[] args) { Endpoint.publish("http://localhost:8080/jaxws/hello", new HelloWorld()); } }
Using Eclipse Helios, I automatically create both of these files as * .classes under the appropriate class directory.
So, from the file system, my project looks like this:
/code/jws_sample | src | hello | HelloWorld.java Publisher.java | classes | HelloWorld.class Publisher.class
In which directory would I run wsgen?
When I tried it inside:
/ code / jaxws_sample / src / wsgen -cp. hello.HelloWorld
Received:
Class not found: "hello.HelloWorld" Usage: WSGEN [options] <SEI> where [options] include: -classpath <path> specify where to find input class files -cp <path> same as -classpath <path> -d <directory> specify where to place generated output files -extension allow vendor extensions - functionality not specified by the specification. Use of extensions may result in applications that are not portable or may not interoperate with other implementations -help display help -keep keep generated files -r <directory> resource destination directory, specify where to place resouce files such as WSDLs -s <directory> specify where to place generated source files -verbose output messages about what the compiler is doing -version print version information -wsdl[:protocol] generate a WSDL file. The protocol is optional. Valid protocols are [soap1.1, Xsoap1.2], the default is soap1.1. The non stanadard protocols [Xsoap1.2] can only be used in conjunction with the -extension option. -servicename <name> specify the Service name to use in the generated WSDL Used in conjunction with the -wsdl option. -portname <name> specify the Port name to use in the generated WSDL Used in conjunction with the -wsdl option. Examples: wsgen -cp . example.Stock wsgen -cp . example.Stock -wsdl -servicename {http:
This actually shows me the WSDL in the browser, and also when I tried to issue the wsgen command from $ MyProject / classes, it actually created the jaxws folder with the SayHelloResponse.class files, but not the SayHelloResponse.java files?
Thanks for taking the time to read this.
PacificNW_Lover
source share