E para fazer com que esta parte não seja opcional também?:
? ? ? ?
E para fazer com que esta parte não seja opcional também?:
? ? ? ?
Oi Douglas, perdão, eu não entendi. Pode dar um exemplo aqui? Pergunto porque no exercício ele mostra a annotation com o required=true.
Não um atributo dele, mas o Item.
? ? ? ?
Mas o item é a parte principal, se você não colocar não vai chegar nada do outro lado. Você deixar propriedades opcionais.
Mas mesmo assim esta aparecendo Optional no WSDL, como na aula mesmo diz para pensar no cliente, ela vai estar recebendo esta palavra quando na verdade não é opcional. Tem como fazer para o item Inteiro ser required ?
Fala aí Douglas, blz?
Você pode usar a mesma anotação @XmlElement(required=true)
em conjunto com a anotação @WebParam(name="item")
.
@WebMethod(operationName="CadastrarItem")
public Item cadastrarItem(
@WebParam(name="token", header=true) TokenUsuario token,
@WebParam(name="item") @XmlElement(required=true) Item item) throws AutorizacaoException{
O uso da anotação @XmlElement(required=true)
controla o numero de ocorrências no XSD.
Quando não usamos a anotação o nosso XSD fica assim:
<xs:complexType name="CadastrarItem">
<xs:sequence>
<xs:element name="item" type="tns:item" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Com o parâmetro minOccurs="0"
Ao ao usar a anotação o XSD fica assim:
<xs:complexType name="CadastrarItem">
<xs:sequence>
<xs:element name="item" type="tns:item"/>
</xs:sequence>
</xs:complexType>
Sem o parâmetro minOccurs="0"
Espero ter ajudado e bons estudos.