Einzelnen Beitrag anzeigen
  #1  
Alt 12.02.2015, 17:49:20
energy85 energy85 ist offline
Anfänger
 
Registriert seit: Feb 2015
Alter: 35
Beiträge: 3
PHP SOAP Client

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ß
Mit Zitat antworten