1

PHP プログラムから Java SOAP Web サービスをリクエストしています。私のコードは次のようなものです

<?php
 $options = array('features' => 
    SOAP_USE_XSI_ARRAY_TYPE + SOAP_SINGLE_ELEMENT_ARRAYS);
try{
     $sClient = new SoapClient('http://192.168.1.101:8080/person/Person.wsdl');
    //  $sClient = new SoapClient('http://192.168.1.11:8080/DNAHMS/webservice/onlineBooking/Hotel.wsdl',$options);
        //$params = array('Id'=> '1');
        echo "<pre>";
        print_r($sClient->__getFunctions());
        echo "</pre>";

        $parms  = array("Id"=>1);
        $response = $sClient->__call('getPerson',$parms);
        echo "<pre>";
        print_r($response);
        echo "</pre>";





    } catch(SoapFault $e){
        echo "<pre>";
            var_dump($e);
        echo "<pre>";
    }
    ?>

ここで私はPerson.wsdlで、ブラウザに直接呼び出すとエラーは発生せず、これは有効なxmlファイルです。これを実行すると、以下のような SOAP エラーが発生します。

cvc-complex-type.4: 属性「Id」は要素「ns1:GetPersonRequest」に表示する必要があります

4

1 に答える 1

0

このリンクがあなたを助けるかもしれません:

http://php.net/manual/en/soapclient.soapcall.php

SoapClient クラスを使用して PHP SOAP 呼び出しを行う方法

于 2014-08-02T08:28:16.733 に答える