2

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' プロパティがありません...

4

1 に答える 1

1

PHP バグ #50997: 選択肢の 2 番目の要素を送信しようとすると SOAP エラーが発生する可能性があります

または、WSDL の必須フィールドである可能性があるため、いずれかの方法で行き詰まる可能性が高くなります。ごめん!

于 2012-10-23T20:45:05.160 に答える