Friday, January 4, 2013

wsgen generates Java classes used by JAX-WS (in particular JAXB) to marshal/unmarshal

When a SOAP web service interface is of document style, we used to use wsgen utility (a binary tool released with JDK) to generate, from the SIB (Service Implementation Bean) the artifacts - usually Java classes. These Java classes represent request and response of the operations the web service provides. You can think of these Java classes as the counterparts of XSD types.

The underlying Java WS libraries, especially the JAXB, will marshal Java instances into XML document instances (XML instances are defined in XSD in WSDL), or unmarshal an XML document instance to an Java instance.

The more recent version of JAX-WS releases the developers from the tedious wsgen, by letting the Endpoint publisher automatically generates the wsgen artifacts if the programer doesn't.