2013-01-14 7 views
0

Ive는 비슷한 오류를 보았습니다. BOM 문자로 인해 그 가능성이 가장 높다고 생각하지만 정직하게 다른 코딩의 대부분은 다른 컨텍스트에 있습니다. 난 그저 이해가 안 돼, 메신저 그 비누에 익숙하지 않아 그냥 데이터를 누른 다음 PHP에서 그것을 포맷하는 데 사용합니다.비누 문제 - SoapFault 예외 : [클라이언트] XML 문서가없는 것 같습니다.

내 코드는 간단하다 :

$activityClient = xpmClient::getModuleInstance('activity', $remoteSessionId, 'xxx.5pmweb.com'); 
$filter = new stdClass(); 
$count = 300; 
$offset = 0; 
$activityList = $activityClient->getList($filter, $offset, $count); 

이제 서버 오류가 보여줍니다

> PHP Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document in xxx/caching.php:59\nStack trace:\n 
\#0 xxx/caching.php(59): SoapClient->__call('getList', Array)\n 
\#1 xxx/caching.php(59): xpmClient->getList(Object(stdClass), 0, '371')\n 
\#2 /xxx/reports.php(296): include('/xxx/...')\n 
\#3 {main}\n thrown in /xxx/caching.php on line 59 

라인을 report.php에 296이이 caching.php 파일을 해당 파일의 라인 (59)

되어 포함입니다
$activityList = $activityClient->getList($filter, $offset, $count); 

이것은 몇 달 동안 문제없이 작동 했으므로 변경된 사항은 확실하지 않습니다. 일일. 어떤 아이디어를 BOM을 제거하고 여전히 내 데이터를 $activityList 객체로 가져 와서 정보에 액세스 할 수 있습니까? 서버가 이전의 파산보다는 후에 그것을 해결하기 위해 노력 메신저 그래서 그 이후 치명적인 오류 및 나던 공정 아무것도 제공 activityList

edit// 

레그

내가 $를 호출하기 때문에 일단 그게 전부 추측 나던 작품을 교체합니다.

How would i go about doing __getLastResponse() 

필자 설명서를 읽을 수 있지만 그것을 구조화하는 방법을 이해 해달라고, 내가 이유로 시도 캐치 필요 메신저 확신은 내가 레그가 didnt 한 일을 대체했다하지만 난, 메신저 확신 몇 가지 변화와 그 일을 아무것도 시도 구조는 틀린가, 어떤 포인터 또는 아이디어인가?

답변

2

나는 BOM이 원인 이유를 모르겠지만 당신은 BOM을 제거하려는 경우 여기에 당신은 당신이 사용하고있는 비누 서버가 고장

function strip_bom($str) { 
    return preg_replace('/^(\x00\x00\xFE\xFF|\xFF\xFE\x00\x00|\xFE\xFF|\xFF\xFE|\xEF\xBB\xBF)/', "", $str); 
} 
+0

그 코드에 대해 고마워요. 편리 할 거라고 확신하지만, $ activityList를 실행 한 후에 내 서버가 죽어 가고 있기 때문에, 그것을 실행할 수있는 기회를 얻지 못합니다. 위의 추가 질문 및 답변을 참조하십시오. – user1547410

0

이동합니다. 전화를 수동으로 확인 했습니까?