WSDL で定義された SOAP サービスに情報を送信するための SOAP クライアントを構築しています。SoapUI でサービスにデータを送信するとき、値のないフィールドを省略できますが、PHP では致命的なエラーが発生します。
PHPでSOAPClientにフィールドを省略させる方法はありますか? SOAPClient に渡すオブジェクトは次のようになります。
Kunde Object
(
[kundenr] => 1008911
[contact_id] => 10941
[kundenavn] =>
[organisasjonsnr] =>
[addresse] => Addresse Object
(
[postadresse1] =>
[postadresse2] =>
[postadresse3] =>
[postadresse] =>
[gateadresse1] =>
[gateadresse2] =>
[gateadresse3] =>
[gateadresse] =>
[county] =>
[kommunenr] =>
[stat] =>
[postnr] =>
[poststed] =>
[landkode] =>
[land] =>
[adresslayout] =>
)
[kontakt] => Kontakt Object
(
[tlfnr] =>
[tlfbeskrivelse] =>
[faxnr] =>
[faxbeskrivelse] =>
[mailadresse] =>
[webadresse] =>
)
[person] => Person Object
(
[customerId] =>
[personId] =>
[contact_id] =>
[fornavn] =>
[etternavn] =>
[brukernavn] =>
[epost] =>
[tlf] =>
[kundetype] => 40
[addresse] => Addresse Object
(
[postadresse1] =>
[postadresse2] =>
[postadresse3] =>
[postadresse] =>
[gateadresse1] =>
[gateadresse2] =>
[gateadresse3] =>
[gateadresse] =>
[county] =>
[kommunenr] =>
[stat] =>
[postnr] =>
[poststed] =>
[landkode] =>
[land] =>
[adresslayout] =>
)
)
[faultmsg] => Faultmsg Object
(
[Type] =>
[Melding] =>
[Detalj] =>
)
[avdeling] =>
[kundetype] => 40
[informasjon] =>
[aktiv] =>
[stopputsendelse] =>
[aco_kunde] =>
[uf_kunde] =>
[gan_kunde] =>
[kunde] => 10941
)
たとえば、オブジェクトから Kunde->kundenavn プロパティを省略したいのですが、次の致命的なエラーが発生します。
[13-Aug-2012 07:01:50] PHP 致命的なエラー: SOAP-ERROR: エンコーディング: オブジェクトに 'kundenavn' プロパティがありません...