Hallo,
ich beschäftige mich seit gestern mit PHP SOAP und ich hab da ein kleines logisches (?) Problem.
Teil aus der WSDL:
HTML-Code:
<xsd:complexType name="SearchDate">
<xsd:all>
<xsd:element name="strictDate" type="xsd:string" nillable="true"/>
<xsd:element name="minDuration" type="xsd:int"/>
<xsd:element name="maxDuration" type="xsd:int"/>
<xsd:element name="fromDate" type="xsd:string"/>
<xsd:element name="toDate" type="xsd:string"/>
<xsd:element name="duration" type="xsd:int"/>
</xsd:all>
</xsd:complexType>
PHP Array:
PHP-Code:
"date" => array(6) (
"strictDate" => string(4) "none"
"minDuration" => integer 1
"maxDuration" => integer 28
"fromDate" => string(10) "22.02.2015"
"toDate" => string(10) "24.03.2015"
"duration" => string(0) ""
)
Inhalt im Request:
HTML-Code:
<date xsi:type="ns1:SearchDate">
<strictDate xsi:type="xsd:string">none</strictDate>
<minDuration xsi:type="xsd:int">1</minDuration>
<maxDuration xsi:type="xsd:int">28</maxDuration>
<fromDate xsi:type="xsd:string">22.02.2015</fromDate>
<toDate xsi:type="xsd:string">24.03.2015</toDate>
<duration xsi:type="xsd:int">0</duration>
</date>
Eigentlich sieht für mich das Ergebnis im Request korrekt aus, aber leider verlangt der SOAP-Server die Angabe der Integer-Werte bei 0 als NULL.
HTML-Code:
<minDuration xsi:nil="true"/>
<maxDuration xsi:nil="true"/>
<duration xsi:nil="true"/>
Hat jemand einen Tipp wie ich das gelöst bekomme? Strings werden bei leer immer mit NULL übertragen, aber bei Integer macht er immer die Zahl 0.
Falls nötig: PHP Version 5.6.3
Ich hoffe jemand kann mir helfen, ich finde einfach meinen Fehler nicht. :-(
Gruß