Это моя функция для запроса кода на мыло API.Я продолжал получать сообщение об ошибке «Ссылка на объект не установлена на экземпляр объекта».но ответ - 200. Мне нужно сгенерировать QuotationNo.
Мне нужно опубликовать эти данные во внешней базе данных API
Когда данные успешно отправлены в базу данных, QuotationNo будет создан
public function getQuotation()
{
$factory = new Factory();
$client = $factory->create(new Client(), 'http://something.com/GetQuotation/GetQuotation.asmx?WSDL',
[
'stream' => true,
'stream_context' => [
'ssl' => [
'allow_self_signed' => true
],
'socket' => [
'bindto' => 'serveripaddress'
]
]
]
);
$data = [
'param' => [
'TokenId' => '1pBt8l93-aTX1-E7J6-A6Qx-cWb3Abc84Eg6',
'AgentCode' => '30144-36-C',
'AgentID' => 'hqrebate',
'SumInsured' => 98005,
'BasicPrem' => 23006,
'ClassCode' => '2-01',
'SubClassCode' => '01',
'CarRegistrationNo' => 'PGS3881',
'InsuredName' => 'Testing Insured',
'InsuredIC' => '830711075133',
'InsuredEmail' => 'testing@hotmail.com',
'InsuredContactNo' => '60123450005',
'InsuredAddress1' => '153,',
'InsuredAddress2' => 'Jln Persiaran Meranti,',
'InsuredAddress3' => 'Bandar Seri Damansara',
'InsuredPostcode' => '55220'
]
];
$result = $client->call('GenerateQuotation', $data);
var_dump($result);
exit;
}
Это формат wsdl
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
<s:element name="GenerateQuotation">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="param" type="tns:QuotationReq"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="QuotationReq">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="TokenId" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="AgentCode" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="AgentID" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="SumInsured" type="s:double"/>
<s:element minOccurs="1" maxOccurs="1" name="BasicPrem" type="s:double"/>
<s:element minOccurs="0" maxOccurs="1" name="ClassCode" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="SubClassCode" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="CarRegistrationNo" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="InsuredName" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="InsuredIC" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="InsuredEmail" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="InsuredContactNo" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="InsuredAddress1" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="InsuredAddress2" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="InsuredAddress3" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="InsuredPostcode" type="s:string"/>
</s:sequence>
</s:complexType>
<s:element name="GenerateQuotationResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GenerateQuotationResult" type="tns:QuotationResp"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="QuotationResp">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="QuotationNo" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="ErrorDesc" type="s:string"/>
</s:sequence>
</s:complexType>
</s:schema>
</wsdl:types>
Для тех, кто может мне помочь, я очень благодарен вам, поскольку я довольно долго сталкивался с этой проблемой.