SOAP - nillable="true"

Baue ich einen web service mit Hilfe des Zend Framework. Ich bin mit dem Zend_Soap_AutoDiscover-Klasse für die generation meiner WSDL. Ich bin mit verschiedenen komplexen Typ in der web-service-Formular Beispiel:

StockItemEntity Klasse

class StockItemEntity {
    /** @var string */
    public $sStockCode;
    /** @var string */
    public $sQty;

    public function __construct($sStockCode, $sQty){
        $this->sStockCode = $sStockCode;
        $this->sQty = $sQty;
    }   
}

WSDL-Definition

<xsd:complexType name="StockItemEntity">
  <xsd:all>
    <xsd:element name="sStockCode" type="xsd:string" nillable="true"/>
    <xsd:element name="sQty" type="xsd:string" nillable="true"/>
  </xsd:all>
</xsd:complexType>

Von dem, was ich verstanden habe, vom Lesen über das web die nillable="true" ist, da die Eigenschaften jedes Objekts werden auf null gesetzt. So ist das nillable="true" halten müssen, um ein gültiges XML-Dokument, auch wenn die StockItemEntity Objekt hat alle seine Eigenschaften auf null gesetzt.

Meine Sorge ist, dass diese beiden Eigenschaften müssen immer übergeben werden, um die web-Methode. Ist es möglich das zu entfernen "nillable= "true" Art von Kraft der Eigenschaften, die nicht null sein? Oder gibt es sonst noch irgendeine Weise zu zwingen, nicht null-Werte in diesen Eigenschaften. Ich hatte gehofft, zu vermeiden, überprüfen Sie auf der webservice-Seite.

Dank

Freundlichen GRÜßEN

Gabriel

InformationsquelleAutor Gabriel Spiteri | 2011-02-15

Schreibe einen Kommentar