2013-08-06 28 views
6

Tôi nhận được lỗi lạ này "Giá trị không được rỗng. Tên tham số: đầu vào" Nhưng không có tham số nào có tên "đầu vào".Lỗi máy khách SOAP PHP

Tôi đã thử thay đổi mã và chơi với nó, nhưng tôi nghĩ có một điều đơn giản mà tôi đang thiếu ở đây (chưa sử dụng SOAP trong nhiều năm).

<?php 

$xmlData = '<LoanRequest><VendorId>20</VendorId> 
<SubVendorId>0</SubVendorId> 
<Tier>Dynamic</Tier> 
<FirstName>TestFname</FirstName> 
<LastName>TestLname</LastName> 
<DateOfBirth>1979-03-09</DateOfBirth> 
<Title>Mr</Title> 
<Postcode>SO164LN</Postcode> 
<HouseNumber>98</HouseNumber> 
<Street>Test Street</Street> 
<Town>Test Town</Town> 
<County>Test County</County> 
<HomeOwner>False</HomeOwner> 
<HomePhone>02300000000</HomePhone> 
<WorkPhone>02000000000</WorkPhone> 
<MobilePhone>0799123321</MobilePhone> 
<Email>[email protected]</Email> 
<IncomeSource>5</IncomeSource> 
<EmployerName>PDB Test</EmployerName> 
<TimeWithEmployer>48</TimeWithEmployer> 
<PaidByDirectDeposit>1</PaidByDirectDeposit> 
<NetMonthlyIncome>1700</NetMonthlyIncome> 
<PayFrequency>3</PayFrequency> 
<NextPayDay>2013-05-31</NextPayDay> 
<PaydayAfterNext>2013-06-07</PaydayAfterNext> 
<DebitCard>VD</DebitCard> 
<BankAccountNumber>12345678</BankAccountNumber> 
<BankSortCode>9987655</BankSortCode> 
<NIN></NIN> 
<LoanAmount>500</LoanAmount> 
<IPAddress>127.0.0.1</IPAddress> 
<Consent>1</Consent> 
<TimeAtAddressYears>2</TimeAtAddressYears> 
<TimeAtAddressMonths>3</TimeAtAddressMonths> 
<UserAgent>Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)</UserAgent> 
<LoanPurpose>Car</LoanPurpose> 
<Pricequote>10</Pricequote> 
<HousingExpenditure>100</HousingExpenditure> 
<CreditExpenditure>150</CreditExpenditure> 
<OtherExpenditure>220</OtherExpenditure></LoanRequest>'; 

$url = 'http://www.pdbuk.co.uk/API/loan.asmx?wsdl'; 
$options["location"] = $url; 
$options['trace'] = 1; 

$client = new SoapClient($url, $options); 
$result = $client->SendRequest($xmlData); 
var_dump($result); 
?> 

Tôi đang làm gì sai? Cảm ơn!

Trả lời

4

Dữ liệu XML cần được chuyển phải là một mảng thay vì chuỗi (dựa trên WSDL). Vì vậy, điều này sẽ hoạt động:

$result = $client->SendRequest(array('inpXml' => $xmlData)); 
+1

(facepalm) đã hoạt động hoàn hảo .. thiếu caffeine Tôi đoán .. Cảm ơn! – Ignas

Các vấn đề liên quan