2011-10-03 3 views
0

저는 stackoverflow를 처음 접했고 일부 검색 후에도 제 질문에 대한 답변을 찾지 못해 누군가가 나를 도와 줄 수 있기를 바랍니다.PHP - XML ​​변환

3 개의 매개 변수 인 문자열과 2 개의 xml 매개 변수를 사용하는이 웹 서비스 메서드를 사용해야합니다.

다음은 내가 사용하고있는 코드의 예입니다. 웹 서비스 메서드에서 예외를 throw합니다. '메서드 SubmitXml의 필수 매개 변수가 null입니다.'

그래서 두 번째 및 세 번째 매개 변수에는 xml이 없다고 추측합니다. 누구든지 올바르게 여기에 PHP 또는 DOM을 사용하는 방법에 대한 힌트를 줄 수 있습니까? 미리 감사드립니다.

$soapClient = new SoapClient($this-SOAPURL, array('login'=>$this->account,'password'=>$this->password)); 

    $xmlstr ='<xmlbody>'; 
    $xmlstr.='<someXML>Some XML text content here!</someXML>'; 
    $xmlstr.='</xmlbody>'; 

    $dom = new DOMDocument(); 
    $dom->loadXML($xmlstr); 
    $filter = new DOMDocument(); 

    $filter->loadXML('<_ xmlns=""/>'); 
    print_r ($soapClient->SubmitXml('userIDString',$dom->saveXML(), $fil->saveXML())); 
+0

합니까 SoapClient도 (메소드 SubmitXml가)

이 '신비'를 해결하기 위해 노력에 도와 주셔서 모두 감사합니다? :) 왜 객체 구조를 사용하지 않습니까 ... 아니면 최소한 배열로 요청을 보내지 않습니까 ... 결론 SOAP은 무엇에 관한 것입니까? (Simple Object Access Protocol) :)? http://www.php.net/manual/en/soapclient.soapcall.php – Catalin

+0

SubmitXml은 SoapClient :: __ getFunctions() 메소드가 반환하는 웹 서비스 자체에 속하는 메소드입니다. SoapClient :: __ soapCall을 사용하거나 메서드를 직접 호출하는 것은 실제로 동일합니다. 맞습니까? –

+0

@ José Albernaz Senra : 예, 웹 서비스 기능과 같습니다. 그러나 구문을 확인하고 올바른 변수 이름을 사용하는지 확인하십시오. 오류보고와 가장 높은 수준의 경고 인 error_reporting (~ 0)을 활성화하는 것이 좋습니다. 스크립트의 맨 위에있는 ini_set ('display_errors', 1); – hakre

답변

0

일부 고민 끝에 마침내 얻었습니다. 그것은 구문 오류 또는 아무것도 끝나지 않았다. 다음

$xmlstring = "<somenode>" . $xmlstring . "</somenode>"; 

및 함수에 보내 : 내가 필요한 노드에 내 XML 문자열을 포장하지 않은 것을 제외하고 ... 뭔가처럼 내 질문에 제시된 코드는 확인했다.)