1
문제는 SOAP을 통해 특정 웹 서비스에 클래스의 배열을 보내면 구조를 변경할 수 없다는 것입니다. 여기SOAP로 복잡한 구조 사용하기
$s = new soapclient($URL_WEBSERVICE,array('wsdl'=>true,"trace"=>true));
$params = new stdClass();
$params->loginInfo = new stdClass();
$params->loginInfo->UserName = 'username';
$params->loginInfo->Password = 'password';
$params->loginInfo->LanguageCode = 'en';
$params->reservation = new stdClass();
$params->reservation->EmailRecipient2 = '[email protected]';
$params->reservation->EmailRecipient3 = '[email protected]';
$params->reservation->FirstName = 'Yoni'
foreach($extras as $id=>$extra)
{
$params->Extras[$id]= new stdClass();
$params->Extras[$id]->SelectedExtra = new stdClass();
$params->Extras[$id]->ExtensionData = new stdClass();
$params->Extras[$id]->SelectedExtra->Amount = 1;
$params->Extras[$id]->SelectedExtra->ID = $extra;
}
:
여기 http://www.elyotech.com/share/yoni/forum/developpeznet-soap.jpg
당신은 내가 그것에 대응하고있어 코드를 찾을 수 있습니다 : 당신이 비누 함수의 스키마를 볼 수 아래로 여기
전송 된 SOAP 요청입니다.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/">
<SOAP-ENV:Body>
<ns1:CreateReservation>
<ns1:loginInfo>
<ns1:UserName>monusername</ns1:UserName>
<ns1:Password>monpass</ns1:Password>
<ns1:LanguageCode>en</ns1:LanguageCode>
</ns1:loginInfo>
<ns1:reservation>
<ns1:EmailRecipient2>[email protected]</ns1:EmailRecipient2>
<ns1:EmailRecipient3>[email protected]</ns1:EmailRecipient3>
<ns1:FirstName>Yoni</ns1:FirstName>
</ns1:reservation>
</ns1:CreateReservation>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
이 비누 요청에서 Extras
개체 배열을 찾을 수 없습니다.
개체를 올바르게 보내려면 개체를 어떻게 작성해야합니까?
설명되어 있습니다. 나는이 코드에 아무런 문제가 보이지 않으며 사실 "엑스트라"를 추가한다. http://codepad.org/11u4KQU3. 나는 엑스트라가이 코드에 들어올 것으로 예상하지 않는다고 의심한다. – gregmac