11.2. Document/Literal (Bare)

Bare is an implementation detail from the Java domain. Neither in the abstract contract (i.e. wsdl+schema) nor at the SOAP message level is a bare endpoint recognizable. A bare endpoint or client uses a Java bean that represents the entire document payload.
 @WebService
 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
 public class DocBareServiceImpl
 {
 @WebMethod
  public SubmitBareResponse submitPO(SubmitBareRequest poRequest)
  {
    ...
  }
 }
The trick is that the Java beans representing the payload contain JAXB annotations that define how the payload is represented on the wire.
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "SubmitBareRequest", namespace="http://soapbinding.samples.jaxws.ws.test.jboss.org/", propOrder = { "product" })
 @XmlRootElement(namespace="http://soapbinding.samples.jaxws.ws.test.jboss.org/", name = "SubmitPO")
 public class SubmitBareRequest
 {
  @XmlElement(namespace="http://soapbinding.samples.jaxws.ws.test.jboss.org/",  required = true)
  private String product;
  ...
 }