Error while executing wsgen

HI,

I am using JAXWS 2,1.......

i am trying to develop my own example in that i am codding the implementation part

the code is

package Das.server;

import javax.jws.WebService;

import javax.xml.ws.BindingType;

@javax.jws.WebService (endpointInterface="Das.server.DasImplPort")

publicclass DasImpl{

public String InvokeDasService (String serviceName){

serviceName+="You got the Mark";

return serviceName;

}

}

and while i am trying to generate the artifacts using following command

wsgen -d build -s build -classpath . Das.server.DasImpl

it is giving me following error

Problem encountered during annotation processing;

see stacktrace belowfor more information.

com.sun.tools.ws.processor.modeler.ModelerException: [failed to localize] The endpointInterfaceclass Das.server.DasImplPort could not be found()

at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.onError(WebServiceAP.java:211) at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.getEndpointInterfaceDecl(WebServiceVisitor.java:384)

at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.isLegalImplementation(WebServiceVisitor.java:494)

at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.shouldProcessWebService(WebServiceVisitor.java:306)

at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.visitClassDeclaration(WebServiceVisitor.java:109)

at com.sun.tools.apt.mirror.declaration.ClassDeclarationImpl.accept(ClassDeclarationImpl.java:95)

at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.buildModel(WebServiceAP.java:311)

at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.process(WebServiceAP.java:252)

at com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)

at com.sun.tools.apt.comp.Apt.main(Apt.java:454)

at com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java:458)at com.sun.tools.apt.main.Main.compile(Main.java:1075)

at com.sun.tools.apt.main.Main.compile(Main.java:938)

at com.sun.tools.apt.Main.processing(Main.java:95)

at com.sun.tools.apt.Main.process(Main.java:85)

at com.sun.tools.apt.Main.process(Main.java:67)

at com.sun.tools.ws.wscompile.WsgenTool.buildModel(WsgenTool.java:161)

at com.sun.tools.ws.wscompile.WsgenTool.run(WsgenTool.java:89)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.tools.ws.Invoker.WsgenMain(Invoker.java:115)

at com.sun.tools.ws.WsGen.main(WsGen.java:38)

error: compilation failed, errors should have been reported

so please do help me on this....

Thanks a lot...

[3514 byte] By [ntimesca] at [2007-11-26 18:28:59]
# 1
Is the Das.server.DasImplPort class in your classpath?
dkohlerta at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2

Hi,

Thanks a lot for replying again.

Look here i am describing the whole scenario....

i am trying to develop an example same as fromjava sample.

the only change is i am passing one string through client and the service will send the same string.....

but the problem is in generating the artifacts. In sample doc there are so many ways to do that but i am bit confused after reading that.....

because in tutorial the thing is so simple ..... we just need to run the samples using ant clean server -Dtomcat=true and ant clean client.

but to run my own sample ...... i am bit confused in generating artifacts....

so could you just tell me the procedure to run and deploy our own service and client..

thanks a lot ........for replying....

ntimesca at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 3

Have you tried reading the JAX-WS user's guide? https://jax-ws.dev.java.net/nonav/2.1/docs/UsersGuide.html and the rest of the documentation at: https://jax-ws.dev.java.net/nonav/2.1/docs/index.html

The basic steps are:

Server side:

Implement a web service in java

Compile it with apt

create a sun-jaxws.xml file

war it all up

deploy it

client side

import the published wsdl using wsimport

write client code to create an instance of the generated service class

and gets a Port from the generated service class and then call methods on the port

compile and run the client

dkohlerta at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 4

Thank again .........

what you have suggested me is really helpful..

i have crated the required artifacts as per your instructions.....

but two problems i am facing right not those are

1) after running the cmd

wsimport i am getting the following warning

C:\jaxws-ri\samples\Das>wsimport -d build/classes/Das/client http://localhost:80

80/jaxws-Das/InvokeDasService?wsdl

parsing WSDL...

[WARNING] Ignoring SOAP port "DasImplPort": it uses non-standard SOAP 1.2 binding.

You must specify the "-extension" option to use this binding.

line 1 of http://localhost:8080/jaxws-Das/InvokeDasService?wsdl

[WARNING] Service "DasImplService" does not contain any usable ports. try running wsimport with -extension switch.

line 1 of http://localhost:8080/jaxws-Das/InvokeDasService?wsdl

generating code...

i know abt the frist warring but i am not aware of the second one so please do help at that place

2)and i am not be able to compile my client program using javac.

everytime it is giving me ......

symbol : class DasImplPort

location: class Das.client.DasClient

DasImplPort port = new DasImplService().getDasImplPort();

^

C:\jaxws-ri\samples\Das\src\Das\client\DasClient.java:7: cannot find symbol

symbol : class DasImplService

location: class Das.client.DasClient

DasImplPort port = new DasImplService().getDasImplPort();

i have already set the classpath where DasImpl.class is....

i am also sending the client code .....

package Das.client;

import javax.xml.ws.BindingProvider;

public class DasClient {

public static void main (String[] args) {

DasImplPort port = new DasImplService().getDasImplPort();

log((BindingProvider)port);

String str="ContactService";

System.out.printf ("Invoking Service",str);

String result = port.InvokeDasService(str);

System.out.printf ("The result of %s\n\n", result);

}

private static final void log(BindingProvider port) {

if (Boolean.getBoolean("wsmonitor")) {

String address = (String)port.getRequestContext().get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);

address = address.replaceFirst("8080", "4040");

port.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, address);

}

}

}

so please do help me on this

thank you.........

ntimesca at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 5

HI

i have solved the problem below...

[WARNING] Ignoring SOAP port "DasImplPort": it uses non-standard SOAP 1.2 binding.

You must specify the "-extension" option to use this binding.

line 1 of http://localhost:8080/jaxws-Das/InvokeDasService?wsdl

[WARNING] Service "DasImplService" does not contain any usable ports. try running wsimport with -extension switch.

line 1 of http://localhost:8080/jaxws-Das/InvokeDasService?wsdl

generating code...

by omiting the SOAP 1.2 annotations.

but i am still facing the problem while compiling client code.......

the code is still giving me the same errors

symbol : class DasImplPort

location: class Das.client.DasClient

DasImpl port = new DasImplService().getDasImplPort();

^

C:\jaxws-ri\samples\Das\src\Das\client\DasClient.java:7: cannot find symbol

symbol : class DasImplService

location: class Das.client.DasClient

DasImplPort port = new DasImplService().getDasImplPort();

i am using javac command to compile my DasClient.java........

so please help me in this

thanks a lot...

ntimesca at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 6
Is the DasImplService.class on your compile classpath?
dkohlerta at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 7
ya it is in my classpath........
ntimesca at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 8
Will you please tell me the directory on your machine that holds the DasImplService.class file? Also please give me the exact command you are using run javac.
dkohlerta at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 9

my sorce file is in

C:\jaxws-ri\samples\Das\src\Das\client that is DasClient.java

and the artifacts or DasImplService.class is in

C:\jaxws-ri\samples\Das\build\classes\Das\client

and my classpath is set to C:\jaxws-ri\samples\Das\build\classes\Das\client

since the classpath is set so i am using javac DasClient.java from command prompt and i have also tried it from TextPad editor.

ntimesca at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 10
Would you please include the listing of DasImplService.java?
dkohlerta at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 11

Listing of DasServiceImpl.java

package Das.client;

import java.net.MalformedURLException;

import java.net.URL;

import javax.xml.namespace.QName;

import javax.xml.ws.Service;

import javax.xml.ws.WebEndpoint;

import javax.xml.ws.WebServiceClient;

import javax.xml.ws.WebServiceFeature;

/**

* This class was generated by the JAXWS SI.

* JAX-WS RI 2.1-02/02/2007 03:56 AM(vivekp)-FCS

* Generated source version: 2.1

*

*/

@WebServiceClient(name = "DasImplService", targetNamespace = "http://server.Das/", wsdlLocation = "http://localhost:8080/jaxws-Das/InvokeDasService?wsdl")

public class DasImplService

extends Service

{

private final static URL DASIMPLSERVICE_WSDL_LOCATION;

static {

URL url = null;

try {

url = new URL("http://localhost:8080/jaxws-Das/InvokeDasService?wsdl");

} catch (MalformedURLException e) {

e.printStackTrace();

}

DASIMPLSERVICE_WSDL_LOCATION = url;

}

public DasImplService(URL wsdlLocation, QName serviceName) {

super(wsdlLocation, serviceName);

}

public DasImplService() {

super(DASIMPLSERVICE_WSDL_LOCATION, new QName("http://server.Das/", "DasImplService"));

}

/**

*

* @return

*returns DasImpl

*/

@WebEndpoint(name = "DasImplPort")

public DasImpl getDasImplPort() {

return (DasImpl)super.getPort(new QName("http://server.Das/", "DasImplPort"), DasImpl.class);

}

/**

*

* @param features

*A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.

* @return

*returns DasImpl

*/

@WebEndpoint(name = "DasImplPort")

public DasImpl getDasImplPort(WebServiceFeature... features) {

return (DasImpl)super.getPort(new QName("http://server.Das/", "DasImplPort"), DasImpl.class, features);

}

}

ntimesca at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 12
please use the following command:javac -cp C:\jaxws-ri\samples\Das\build\classes\Das\client;%CLASSPATH% DasClient.java
dkohlerta at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 13

It is still giving me the following error.....

this is command .....

C:\jaxws-ri\samples\Das\src\Das\client>javac -cp C:\jaxws-ri\samples\Das\build\classes\Das\client;%CLASSPATH% DasClient.java

DasClient.java:10: cannot find symbol

symbol : class DasImpl

location: class Das.client.DasClient

DasImpl port = new DasImplService().getDasImplPort();

^

DasClient.java:10: cannot find symbol

symbol : class DasImplService

location: class Das.client.DasClient

DasImpl port = new DasImplService().getDasImplPort();

^

2 errors

ntimesca at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 14
I don't know what to tell you anymore. It has to be a classpath issue as far as I can tell. Good luck.
dkohlerta at 2007-7-9 6:03:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 15
ok .. but thanks a lot for your help and patient....thank you
ntimesca at 2007-7-21 17:21:50 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...