A anotação @WebParam é usada para pegar um ou mais atributos do request como exemplo tokenUsuario e item abaixo:
<soapenv:Envelope ...>
<soapenv:Header>
<tokenUsuario>
<dataValidade>2015-08-30T00:00:00</dataValidade>
<token>123131AF!@DF12334a</token>
</tokenUsuario>
</soapenv:Header>
<soapenv:Body>
<!-- body com o item omitido -->
</soapenv:Body>
</soapenv:Envelope>
@WebMethod(operationName="CadastrarItem")
@WebResult(name="item")
public Item cadastrarItem(
@WebParam(name="tokenUsuario", header=true) TokenUsuario token,
@WebParam(name="item") Item item) {
System.out.println("Cadastrando " + item + ", " + token);//imprimindo o token tbm
this.dao.cadastrar(item);
return item;
}
Há opção de recuperar request inteiro por exemplo @WebParam(name=“all”) Envelope envelope) ?
<soapenv:Envelope ...>
<soapenv:Header>
<tokenUsuario>
<dataValidade>2015-08-30T00:00:00</dataValidade>
<token>123131AF!@DF12334a</token>
</tokenUsuario>
</soapenv:Header>
<soapenv:Body>
<!-- body com o item omitido -->
</soapenv:Body>
</soapenv:Envelope>
Desde já agradeço.