Ho un client webservice di sapone autogenerato (utilizzando cxf
) e alcuni elementi sono contrassegnati come facoltativi.Come impedire la generazione di elementi xml 'nil' nel client webservice soap?
Se non metto questi elementi, la richiesta XML inviare al webservice ha una sacco di elementi come segue:
<PayText xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<Name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
presentate generato se il wsdl
contiene:
minOccurs="0" nillable="true"
Come può Previene la generazione di questi elementi nil
? Probabilmente il webservice stesso non ha bisogno di queste informazioni, come quando uso soapUI
e invio le richieste di puro xml che tolgono gli elementi nil, la richiesta funziona ancora.
mio file di collegamento:
<jaxb:globalBindings generateElementProperty="false" />
Così, come posso evitare che vengano generati durante la trasmissione?
Possibile duplicato (almeno una domanda pertinente con risposta): http://stackoverflow.com/questions/5897785/jaxb-marshaller-always-writes-xsinil-even-when-xmlelementrequired-false-nil – Davio
Non proprio. Non ho né il controllo di 'wsdl' (sono solo il client), nè delle classi autogenerate (dato che devono essere rigenerate ogni volta che viene eseguito un aggiornamento di wsdl). – membersound
Beh, in questo caso probabilmente sei sfortunato a causa del 'nillable = true' che è presente nel WSDL. – Davio