1
의 구조를 정의하는 방법은 XML의 예를 가지고 :SOAP
<?xml version="1.0" encoding="windows-1250"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ImportPackagesExt xmlns="PPLIEGate">
<FirCode>ppltest</FirCode>
<Packages>
<Items>
<anyType xsi:type="Package">
<PackageID>40080145103</PackageID>
<ZipCode>16300</ZipCode>
<Country>CZ</Country>
<ErrorCode>0</ErrorCode>
<ErrorMessage></ErrorMessage>
</anyType>
<anyType xsi:type="Package">
<PackageID>40010529207</PackageID>
<ZipCode>15500</ZipCode>
<Country>CZ</Country>
<ErrorCode>0</ErrorCode>
<ErrorMessage></ErrorMessage>
</anyType>
</Items>
</Packages>
</ImportPackagesExt>
</soap:Body>
</soap:Envelope>
을하지만 내 PHP 스크립트가 오류를 반환합니다.
$packs = [
[
'PackageID' => '40080145103',
'ZipCode' => '16300',
'Country' => 'CZ',
'ErrorCode' => 0,
'ErrorMessage' => '',
],
[
'PackageID' => '40010529207',
'ZipCode' => '15500',
'Country' => 'CZ',
'ErrorCode' => 0,
'ErrorMessage' => '',
],
];
$items = [];
foreach ($packs as $pack) {
$items[] = new SoapVar($pack, SOAP_ENC_ARRAY, XSD_ANYTYPE, null, 'Package');
}
$packages = [
'FirCode' => $firCode,
'Packages' => [
'Items' => $items,
'ErrorCode' => 0,
],
'DepID' => '00',
];
$response = $soap->ImportPackagesExt($packages);
오류 : 서버가 요청을 처리 할 수 없습니다. ---> 'System.Xml.XmlNode []'유형의 객체를 'Package'유형으로 변환 할 수 없습니다.
"패키지"에 대한 구조를 정의하는 방법을 여전히 이해할 수 없습니다.
관련성이 없지만 비누를 사용해야하는 이유는 무엇입니까? 아무도 그것을 좋아하지 않는다. (거의) 아무도 그것을 필요로하지 않고, 그것을 가장 싫어한다. JSON을 반환하는 편안한 API가 훨씬 더 즐겁습니다. –
통신사가 제공하는 유일한 API이기 때문에 저는 이것을 사용해야합니다 .-( – Lawondyss