サービス依頼をしようとしています。SOAP 1.2関数( "GetReference")はこのサービスに有効なメソッドではありません
ここでのWSDLファイルへのリンクはWSDL
ここでコード
$client = new SoapClient("http://zelsoft.ru/intourxml_v2/BookingService.asmx?WSDL", array(
'soap_version'=> SOAP_1_2,
'exceptions' => 1,
));
$xml = <<<XML
<GetReferenceRq>
<Login>Zelsoft</Login>
<Password>zel123</Password>
<Countries>true</Countries>
<Regions>true</Regions>
</GetReferenceRq>
XML;
$struct = new SoapVar($xml,XSD_ANYXML,"GetReferenceRq");
try{
echo "<pre>";
print_r($client->__getFunctions());
print_r($client->GetReference($struct));
echo "</pre>";
} catch(Exception $e){
echo $e->getMessage();
}
だが、私はエラー
Function ("GetReference") is not a valid method for this service
$client->__getFunctions()
に取得するには、この方法は、答えを
おかげで存在することを示し
は、私が0にsoap.wsdl_cache_enabled設定することで、この問題を解決しますが、別の問題
私は、このようなコードで
$client = new SoapClient("http://zelsoft.ru/intourxml_v2/BookingService.asmx?WSDL", array(
'soap_version'=> SOAP_1_2,
'exceptions' => 1,
));
class GetReferenceRq{
public $Login = 'Zelsoft';
public $Password = 'zel123';
}
try{
echo "<pre>";
print_r($client->GetReference(new GetReferenceRq()));
echo "</pre>";
} catch(Exception $e){
echo $e->getMessage();
}
をリクエストを送信したが、応答
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Zelsoft.InTourXML.BusinessLogic.Base.GetBaseRqParams(SqlConnection cnn, BaseRq rq)
at Zelsoft.InTourXML.BusinessLogic.Base.Connect(BaseRq rq)
at Zelsoft.InTourXML.BusinessLogic.Reference.GetReference(GetReferenceRq rq)
at Zelsoft.InTourXML.BookingService.GetReference(GetReferenceRq rq)
--- End of inner exception stack trace ---
を取得していますを取得し
を更新しました