2010-03-16 2 views
1

PHP SoapClient() 함수에 문제가 있습니다. SOAP 요청은 성공적이지만 응답은 "any"키가있는 단일 XML 문자열을 포함하는 객체로 반환됩니다. 예를 들어 :단일 XML 문자열을 반환하는 PHP SoapClient() 함수

echo $result->strExampleCallResult->Response->DataArea->Result; 

왜 PHP되지 않습니다 :에 내가 예상대로 나는 개체의 속성에 액세스 할 수 없습니다, 그 후

stdClass Object 
(
    [strExampleCallResult] => stdClass Object 
    (
     [any] => <Response xmlns="" release="1.0.0" environment="Production" lang="en-GB"><ApplicationArea><Sender><SenderId>0</SenderId><ReferenceId>0</ReferenceId></Sender><Destination><DestinationId>1</DestinationId></Destination></ApplicationArea><DataArea><Result>1</Result></DataArea></Response> 
    ) 
) 

:

<?php 
$params = array('strUsername' => 'Test', 
       'strPassword' => 'Test'); 

$client=new SoapClient('http://www.example.com/webservice.asmx?wsdl', 
         array('features' => SOAP_SINGLE_ELEMENT_ARRAYS)); 

$result = $client->strExampleCall($params); 
print_r($result); 
?> 

다음과 같은 출력 SOAP 응답을 반환 된 객체의 속성으로 구문 분석 하시겠습니까?

PHP 5.3.0을 사용 중이며 SOAP 서버가 .NET을 실행하고 있다고 생각합니다.

답변

1

이제이 문제를 해결했습니다.

타사 SOAP 서버는 SOAP 응답 내에 중첩 된 XML 형식의 데이터를 반환하도록 설계되었습니다. 나는 이제 SimpleXML로 XML 응답을 파싱 할 것이다.

관련 문제