1
votes

I have to develop a JAX-WS client which has to be deployed to WebSpehere 7. WebSphere 7 uses a custom Axis2 implementation.

I've read on this guide (http://axis.apache.org/axis2/java/core/docs/jaxws-guide.html) to use wsimport to generate classes necessary for client. But generated classes reference to com.sun.xml.ws.spi.ProviderImpl in jaxws-rt.jar (present in JRE6), while when client runs on Websphere they reference org.apache.axis2.jaxws.spi.Provider.

Is it correct? Using Oracle JDK wsimport is the correct way to follow also if clients will be use Axis2 implementation?

3

3 Answers

1
votes

There should be a wsimport tool as part of your WAS installation. I found mine under /IBM/WebSphere/AppServer/bin

Try using that tool to generate your classes, instead of the one from Oracle. It should generate classes that are more compatible with WebSphere.

You could also go get Axis2 from Apache. I imagine that Apache's wsimport (or equivalent) will produce classes that are most server independent.

http://axis.apache.org/axis2/java/core/download.cgi

1
votes

Use WebSphere's own wsimport. There's a script you can run, a WSDL2Java Ant task you can use, or if you have RAD, you can do it within that.

0
votes

Artifacts generated by wsimport are portable, i.e. they don't contain references to implementation specific classes. The actual JAX-WS implementation is selected at runtime. Therefore, it doesn't matter whether you use Oracle's or IBM's wsimport.