SOAP客户端请求 - >错误请求

问题描述:

我被要求查看使用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(); 
} 

?> 

您可以尝试类似:

... 
$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()); 
... 

这将导致这样的恳求SOAP请求:

<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/。这个工具在Web服务开发方面有很大帮助。

+0

嘿马塞勒斯,谢谢你的回复。我没有得到那个工作,但是我要下载soapui,看看发送了什么...... – 2013-03-27 20:23:09