2014-04-07 3 views
0

WSDL 및 PHP 클라이언트가있는 SOAP 서비스가 있습니다.SOAP 클라이언트, wsdl, python

빌 - 클라이언트 :

<?php 
$client = new SoapClient('https://xx.xx.xx.xx/service/?wsdl'); 
$headers = array(); 
$headers[] = new SoapHeader('http://mfisoft.ru/auth','Login','admin'); 
$headers[] = new SoapHeader('http://mfisoft.ru/auth','Password','admin'); 
$client->__setSoapHeaders($headers); 
$table_hi = $client->getTableByTitle('Blocked numbers'); 
$row_data = array(
    array(
         array(
           'name' => 'prfx', 
           'value' => '55555555' 
         ), 
         array(
           'name' => 'blocking_time', 
           'value' => '20140306185014' 
         ) 

) 
); 

$rowset=$client->insertRowset($table_hi, $row_data); 
?> 

하지만 파이썬를 다시 작성해야합니다. 나는 suds와 pysimplesoap을 사용하려고했다.

from suds.client import Client 
url = 'http://localhost/service/?wsdl' 
client = Client(url) 

나는 비눗물의 문서에서 발견되지 않은

$headers[] = new SoapHeader('http://mfisoft.ru/auth','Login','admin'); 
$headers[] = new SoapHeader('http://mfisoft.ru/auth','Password','admin'); 
$client->__setSoapHeaders($headers); 

이러한 문자열 특히 유사한 프로그램을 만드는 방법을 이해하지 않습니다. 당신의 도움이 필요합니다.

미리 감사드립니다.

p.s. 나쁜 영어로 죄송합니다.

P.S.

파이썬 클라이언트에서 PHP 클라이언트를 다시 작성해야합니다.

+0

혼란 스럽습니다. 비누 클라이언트 또는 비누 서버를 비단뱀으로 만들려고하십니까? –

답변

0

미리 포맷팅을 용서하십시오. suds 클라이언트를 사용하여 설정하고 연결하는 올바른 방법은 다음과 같습니다. 서버 부분을 원할 경우, 질문에서 100 %를 말할 수 없습니다. 도움을 줄 수는 있지만 이전에 파이썬에서 한 일이 아닙니다.

client = suds.client.Client.(self,url=wsdl_url, 
          doctor=schema_doctor, 
          username=username) 
try: 
    # This will throw an Exception if the wsdl_url is bad 
    # and will return False if the authentication fails 
    if not client.service.Connection_Authenticate(username, 
                password): 
     raise Exception("Failed to authenticate.") 
+0

답변 해 주셔서 감사합니다. 그러나 그것은 효과가 없습니다. 비누 클라이언트가 필요합니다. WSDL 파일은 https : // some_ip_adress/service /? wsdl에 있습니다. – user3506199