Show Table of Contents
9.4. Document/Literal (Bare)
Bare とは Java ドメインからの実装詳細になります。 抽象 コントラクト (swdl+スキーマなど) 内や SOAP メッセージレベルでは bare エンドポイントは認識されません。 bare のエンドポイントまたはクライアントはドキュメントのペイロード全体を表す Java bean を使用します。
@WebService @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public class DocBareServiceImpl { @WebMethod public SubmitBareResponse submitPO(SubmitBareRequest poRequest) { ... } }
ペイロードを表している Java bean は JAXB アノテーションを含んでおり、 このアノテーションがメッセージ上でペイロードがどのように表されるかを定義しているのが要点になります。
@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; ... }