2013-03-27 4 views
0

SOAP 서비스를 사용하여 데이터 동기화를 조사하도록 요청 받았습니다. 나는 SOAP을 전혀 잘 모른다. 잘못된 요청 오류가 난다.SOAP 클라이언트 요청 -> 잘못된 요청

내가 전화하려고 해요 함수는 테스트 에코 기능입니다 :

공공 문자열 EchoAuthenticated (문자열 텍스트)

내가 전화 할 때마다 나는 오류가 발생합니다.

나는 사용자 이름과 암호를 지금 알지 못하고 내 연락처 담당자가 퇴장하고 있기 때문에 사용자 이름/암호 설정을 주석 처리했습니다. (지금은 인증 실패 메시지를받는 것이 행복 할지라도 오히려 오류보다 더 ...

사람이

감사합니다 ... 제발 여기에 올바른 방향으로 날 지점 수 있다면,

<?php 

$apiUrl   = 'https://exdev.api.propctrl.co.za/v3/Integration.svc?wsdl'; 
$options  = array('trace' => 1, 'exceptions' => 1, 'soap_version' => SOAP_1_2); 

try 
{ 
    $client  = new SoapClient($apiUrl, $options); 

    //$data  = array(
    // 'Username'   => "test", 
    // 'Password'   => "test" 
    //); 

    //$header = new SoapHeader('https://exdev.api.propctrl.co.za/v3/', 'CredentialsHeader', $data, false); 
    //$client->__setSoapHeaders($header); 

    var_dump($client->__getFunctions()); 


    print $client->EchoAuthenticated("Test String"); 
    var_dump($client->__getLastRequest()); 

} 
catch(Exception $e) 
{ 
    echo $e->getMessage(); 
} 

?> 

답변

0

당신은 같은 것을 시도 할 수 있습니다 :이이 같은 요청 SOAP 요청 초래한다

... 
$client  = new SoapClient($apiUrl, $options); 

var_dump($client->__getFunctions()); 

$auth = array("Username" => "John", "Password" => "secret", 
    "IsP24Credentials" => false); 
$header = new SoapHeader("https://www.propctrl.com/", "CredentialsHeader", 
    $auth, FALSE); 
$client->__setSoapHeaders($header); 

print $client->EchoAuthenticated(array( 
    "text" => "My text to be echoed." 
)); 
var_dump($client->__getLastRequest()); 
... 

:

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="https://www.propctrl.com/v3" xmlns:ns2="https://www.propctrl.com/"> 
    <env:Header> 
     <ns2:CredentialsHeader> 
     <ns2:IsP24Credentials>false</ns2:IsP24Credentials> 
     <ns2:Password>secret</ns2:Password> 
     <ns2:Username>John</ns2:Username> 
     </ns2:CredentialsHeader> 
    </env:Header> 
    <env:Body> 
     <ns1:EchoAuthenticated> 
     <ns1:text>My text to be echoed.</ns1:text> 
     </ns1:EchoAuthenticated> 
    </env:Body> 
</env:Envelope> 

보조 노트로를, 당신은 http://www.soapui.org/ 살펴있을 수 있습니다. 이 도구는 웹 서비스 개발에 크게 도움이됩니다.

+0

헤이 마르첼로스, 답장을 보내 주셔서 감사합니다. 나는 일하도록하지 않았지만, 나는 soapui를 다운로드하고 보내지는 것을 보게 될 것입니다 ... –