Entfernen Nillable="true" beim generieren der WSDL
Ich bin erstellen einer web-services und das generieren eines Vertrages (WSDL) mit Axis2 wie ein POJO web service, welcher wiederum gibt mir eine Ausgabe wie diese
<xs:element minOccurs="0" name="acHolderName" nillable="true" type="xs:string"/>
In der Erwägung, dass die gewünschte Funktion dieses <xs:element minOccurs="0" name="acHolderName" type="xs:string"/>
Gibt es eine Anmerkung, die sich mir oder anderen eine bessere Umsetzung??
InformationsquelleAutor Sandeep | 2010-05-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das nil-Attribut ist dokumentiert hier.
Aus einem java-Objekt-Serialisierung Sicht es erlaubt, ein Objekt-Attribut den Wert NULL und trotzdem ein gültiges XML-Dokument. Dies ist die Standardmethode zum darstellen von Java-Objekten in ein XML-schema, weil Objekte, die Attribute sind nicht gezwungen zu sein bevölkert in Java.
Wenn Sie möchten mehr Kontrolle über die WSDL-Sie müssen verwenden Sie so etwas wie JAXWS. Problem hier ist, dass die Unterstützung in form dieser Technologie ist nicht sehr ausgereift in Axis2, und es ist mehr kompliziert zu implementieren ist, meiner Meinung nach.
Wenn Sie wollen absolute Kontrolle über Ihre WSDL (WSDL für die Nutzung als interface specification) ist es wahrscheinlich am besten, es zu benutzen, erzeugen Java-code anstatt zu hoffen, dass Ihre java-konform auf jemand anderes Spezifikation.
Wirklich zu schätzen für Ihre Zeit bei der Beantwortung 🙂 Aber das ganze Thema hier ist ein Top-Down-Ansatz. Wie ich schon sagte, gibt es eine WSDL-was hat letzteres XML-tag und das soll ich verwenden, ALLEIN. Zu ANALYSIEREN ich generierte WSDL (Hinweis: Verfolgt Bottom-Up zu überprüfen, WAS FALSCH gelaufen ist??) Generiert man hatte nillable="true" für alle Felder, die in POJO. Meine Frage hier ist "muss ich implementieren, etwas in der POJO so, dass wenn ich die Generierung einer WSDL automatisch lässt die nillable="true"?"
Kann nicht getan werden, mit POJO-basierte web-services, soweit ich weiß. Das nil-Attribut ist entworfen, um darzustellen, einen NULL-Wert für das Objekt. Natürlich minOccurs="0" Attribut kann auch repräsentieren einen NULL-Wert, und dies ist, was führt zu Verwirrung in der web-service-Interpretation von Java-Objekten... ich weiß nicht, warum gibt es zwei Mechanismen.... Die Schuld der XML-Schema-Spezifikation 🙁
Entweder generieren die Schnittstelle code aus WSDL oder die Verwendung einer tech wie JAX-WS, ermöglicht es Ihnen mehr Kontrolle über das generierte WSDL aus java-code
InformationsquelleAutor Mark O'Connor