2011-11-29 101 views
1

我在嘗試連接wsdl服務。其他方法無需登錄即可使用。但是當我嘗試登錄時,我收到了一個httpheaders錯誤。我的WSDL鏈接:http://dgpysws.teias.gov.tr/dgpys/services/EVDServis?wsdl當我看到這個鏈接在PHP中使用WSDL服務建立SOAP連接時出錯

= http://dgpysws.teias.gov.tr/dgpys/services/EVDServis.wsdl

<xs:element name="login"> 
<xs:complexType> 
<xs:sequence> 
<xs:element minOccurs="0" name="loginMessage" nillable="true" type="dgp:LoginMessage"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 

<xs:complexType name="LoginMessage"> 
<xs:sequence> 
<xs:element minOccurs="0" name="Password" nillable="true" type="dgp:StringValue"/> 
<xs:element minOccurs="0" name="UserName" nillable="true" type="dgp:StringValue"/> 
</xs:sequence> 
</xs:complexType> 

這裏是我的PHP代碼;

<?php 
// Turn up error reporting 
ini_set ("display_errors", "1"); 
error_reporting (E_ALL|E_STRICT); 

// Turn off WSDL caching 
ini_set ('soap.wsdl_cache_enabled', 0); 

$Password = 'deneeme'; 
$UserName = 'demnenee'; 

$search_query = new StdClass(); 
$search_query->oLoginRequest = new StdClass(); 
$search_query->oLoginRequest->Password = $Password; 
$search_query->oLoginRequest->Username = $UserName; 

echo "Setting up SOAP options\n"; 

$soap_options = array(
     'trace'  => 1,  // traces let us look at the actual SOAP messages later 
     'exceptions' => 1); 
$wsdl = "http://dgpysws.teias.gov.tr/dgpys/services/EVDServis?wsdl"; 

echo "Checking SoapClient exists\n"; 
echo '<br>'; 
if (!class_exists('SoapClient')) 
{ 
     die ("You haven't installed the PHP-Soap module."); 
} 

echo "Creating webservice connection to $wsdl\n"; 

$webservice = new SoapClient($wsdl,$soap_options); 

try { 
     $result = $webservice->login($search_query); 



     // perform some logic, output the data to Asterisk, or whatever you want to do with it. 

} catch (SOAPFault $f) { 

     // handle the fault here 
     echo 'Hata:' . $f; 

} 

echo "Script complete\n\n"; 
?> 

我在運行php文件時出現此錯誤;

Setting up SOAP options Checking SoapClient exists
Creating webservice connection to http://dgpysws.teias.gov.tr/dgpys/services/EVDServis?wsdl Hata:SoapFault exception: [HTTP] Error Fetching http headers in C:\xampp\htdocs\test\pmum.php:36 Stack trace: #0 [internal function]: SoapClient->__doRequest('__call('login', Array) #2 C:\xampp\htdocs\test\pmum.php(36): SoapClient->login(Object(stdClass)) #3 {main}Script complete

+0

看起來好像您無意中將URL泄漏到了不需要身份驗證的服務器。我建議你刪除URL,如果它包含敏感信息。 –

回答

1
$client = new SoapClient("http://dgpysws.teias.gov.tr/dgpys/services/EVDServis.wsdl"); 

$p1->loginMessage->UserName->v = "Deneme"; 
$p1->loginMessage->Password->v = "Deneme"; 

$deneme = $client->login($p1); 
var_dump($deneme); 

爲我工作!

相關問題