[jbossws-dev] [Design of JBoss Web Services] - Re: wsimport API, SPI, command line tool, and ant task

jason.greene@jboss.com do-not-reply at jboss.com
Fri Feb 2 14:44:54 EST 2007


"thomas.diesler at jboss.com" wrote : Hey, Jason this is excellent work - well done.
  | 

Thanks!

anonymous wrote : 
  | Please have a look at javax.xml.soap.FactoryLoader
  | This is the lookup we use throughout the jaxws impl.
  | 

This shouldn't be used like this for several reasons
1. We are not allowed to alter javax.* beyond the specification, so we can't make FactoryLoader public.
2. This loader is SAAJ specific and refers to "jaxm.properties", therefore having APIs outside of SAAJ use it will make them non comformant. (e.g javax.xml.ws.spi.Provider)
3. It introduces a dependency on our implementation of the API, which is wrong. Our code has to work with any compliant API jar. 
4. In the case of javax.xml.ws.spi.Provider, it introduces a dependency between differing API jars. So jboss-jaxws.jar can only be used with jboss-saaj.jar.

Regardless, in order to allow for the tools API to be standalone (easy for integrators), it needs it's own discovery mechanism. The reason I didn't implement the same number of options is because this API is not a Java spec, so I don't expect that many people will actually want to provide an alternative implementation. 

anonymous wrote : 
  | Now that we have wsgen + wsimport functionality I believe we should make it available in jbossws-1.2.0. This would give us the much needed community QA before 2.0.0
  | 
  | Could you please merge your work to jbossws-1.2.0
  | 

Sure.

anonymous wrote : 
  | For sake of clarity I suggest we do not refer to wsgen + wsimport when we talk about our tool set. How about: wswsdl, wsjava?
  | 

Personally I think that generate and import are more intuitive names, and they also reflect the API and ant task. Also unlike JAX-RPC tools, wsgen is not the direct opposite of wsimport. It's primary purpose is to generate wrapper classes, so wsdl generation is off by default. So I don't think this particular tool will get a lot of usage on our stack since we generate this dynamically anyway. The other reason I stuck with the common names is to make it easier for someone to move from say the implementation in JDK6 (which uses wsgen and wsimport). Although, the command line arguments are slightly different, which I was hesitant on. The main reason is that I wanted to use gnu getop which simplifies command line argument parsing, follows unix conventions, and is used in other jboss tools. This could be easily changed to directly mirror the arguments in the RI, if you guys think we should.

We could also make them jboss-wsgen.sh and jboss-wsimport.sh but that would be extra typing.

-Jason

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4010207#4010207

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4010207



More information about the jbossws-dev mailing list