suds.TypeNotFound: Tipo não encontrado: 'MerchantCode'

Estou desenvolvendo uma web usando django e lida com wsdl. Eu tenho um código de exemplo para lidar com ele, mas está escrito em PHP e eu queria convertê-lo em python para o meu django. aqui está o arquivo PHP ...

<?php
  ini_set("soap.wsdl_cache_enabled", "0");

  $WSDL                  = "DirectConnect.test.WSDL";

  $MerchantCode          = "HELLO";
  $MerchantReference     = "" . time();
  $TransactionType       = 20;
  $Amount                = 100;
  $CurrencyCode          = "PHP";
  $CardHolderName        = "RAUL O REVECHE";
  $CardNumber            = "4005550000000001";
  $ExpiryMonth           = 5;
  $ExpiryYear            = 2013;
  $CardID                = 0;
  $CardSecurityCode      = "400";
  $CustomerAccountNumber = "";
  $BillNumber            = 0;
  $CardHolderEmail       = "[email protected]";
  $ClientIPAddress       = $_SERVER["REMOTE_ADDR"];
  $Notes                 = "This is a test.";

  $SoapClient = new SoapClient($WSDL,array(
    "soap_version" => SOAP_1_2,
    "features"     => SOAP_SINGLE_ELEMENT_ARRAYS,
    "cache_wsdl"   => WSDL_CACHE_NONE,
    "trace"        => 1,
    "exceptions"   => 0));

  try
  {
    $response = $SoapClient->OnlineTransaction(array(
      "MerchantCode"          => $MerchantCode,
      "MerchantReference"     => $MerchantReference,
      "TransactionType"       => $TransactionType,
      "Amount"                => $Amount,
      "CurrencyCode"          => $CurrencyCode,
      "CardHolderName"        => $CardHolderName,
      "CardNumber"            => $CardNumber,
      "ExpiryMonth"           => $ExpiryMonth,
      "ExpiryYear"            => $ExpiryYear,
      "CardID"                => $CardID,
      "CardSecurityCode"      => $CardSecurityCode,
      "CustomerAccountNumber" => $CustomerAccountNumber,
      "BillNumber"            => $BillNumber,
      "CardHolderEmail"       => $CardHolderEmail,
      "ClientIPAddress"       => $ClientIPAddress,
      "Notes"                 => $Notes
      ));

    print "<br />TransactionID: ".            $response->OnlineTransactionResult->TransactionID;
    print "<br />TransactionType: ".          $response->OnlineTransactionResult->TransactionType;
    print "<br />MerchantReference: ".        $response->OnlineTransactionResult->MerchantReference;
    print "<br />ResponseCode: ".             $response->OnlineTransactionResult->ResponseCode;
    print "<br />ResponseShortDescription: ". $response->OnlineTransactionResult->ResponseShortDescription;
    print "<br />ResponseDescription: ".      $response->OnlineTransactionResult->ResponseDescription;
    print "<br />TimeStamp: ".                $response->OnlineTransactionResult->TimeStamp;
    print "<br />CardID: ".                   $response->OnlineTransactionResult->CardData->CardID;
    print "<br />CardSuffix: ".               $response->OnlineTransactionResult->CardData->CardSuffix;
    print "<br />ExpiryYear: ".               $response->OnlineTransactionResult->CardData->ExpiryYear;
    print "<br />ExpiryMonth: ".              $response->OnlineTransactionResult->CardData->ExpiryMonth;
    print "<br />BINCountryCode: ".           $response->OnlineTransactionResult->BINCountryCode;
    print "<br />IPCountryCode: ".            $response->OnlineTransactionResult->IPCountryCode;
    print "<br />WarningArray: ".             $response->OnlineTransactionResult->WarningArray;

  }
  catch (SoapFault $exception)
  {
    print $exception;
  }

  print "<br /><br />Request:<br />". htmlspecialchars($SoapClient->__getLastRequest());
  print "<br /><br />Response:<br />". htmlspecialchars($SoapClient->__getLastResponse());

?>

e foi isso que fiz para convertê-lo em python ...

from suds.client import Client
import collections
url = 'file:///home/myFile/DirectConnect.test.WSDL'
client = Client(url)
values = collections.OrderedDict([
            ("MerchantCode", "HELLO"),
            ("MerchantReference", ""),
            ("TransactionType",20),
            ("Amount",100),
            ("CurrencyCode","PHP"),
            ("CardHolderName","RAUL O REVECHE"),
            ("CardNumber", "4005550000000001"),
            ("ExpiryMonth",5),
            ("ExpiryYear",2013),
            ("CardID",0),
            ("CardSecurityCode","400"),
            ("CustomerAccountNumber",""),
            ("BillNumber",0),
            ("CardHolderEmail","[email protected]"),
            ("ClientIPAddress","http://127.0.0.1:8000/"),
            ("Notes","This is test"),
            ])

response = client.service.OnlineTransaction(values)

mas quando eu executá-lo, recebi este erro ...

Traceback (most recent call last):
  File "yes_test.py", line 24, in <module>
    response = client.service.OnlineTransaction(values)
  File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 542, in __call__
    return client.invoke(args, kwargs)
  File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 595, in invoke
    soapenv = binding.get_message(self.method, args, kwargs)
  File "/usr/local/lib/python2.7/dist-packages/suds/bindings/binding.py", line 120, in get_message
    content = self.bodycontent(method, args, kwargs)
  File "/usr/local/lib/python2.7/dist-packages/suds/bindings/document.py", line 63, in bodycontent
    p = self.mkparam(method, pd, value)
  File "/usr/local/lib/python2.7/dist-packages/suds/bindings/document.py", line 105, in mkparam
    return Binding.mkparam(self, method, pdef, object)
  File "/usr/local/lib/python2.7/dist-packages/suds/bindings/binding.py", line 287, in mkparam
    return marshaller.process(content)
  File "/usr/local/lib/python2.7/dist-packages/suds/mx/core.py", line 62, in process
    self.append(document, content)
  File "/usr/local/lib/python2.7/dist-packages/suds/mx/core.py", line 75, in append
    self.appender.append(parent, content)
  File "/usr/local/lib/python2.7/dist-packages/suds/mx/appender.py", line 102, in append
    appender.append(parent, content)
  File "/usr/local/lib/python2.7/dist-packages/suds/mx/appender.py", line 243, in append
    Appender.append(self, child, cont)
  File "/usr/local/lib/python2.7/dist-packages/suds/mx/appender.py", line 182, in append
    self.marshaller.append(parent, content)
  File "/usr/local/lib/python2.7/dist-packages/suds/mx/core.py", line 74, in append
    if self.start(content):
  File "/usr/local/lib/python2.7/dist-packages/suds/mx/literal.py", line 87, in start
    raise TypeNotFound(content.tag)
suds.TypeNotFound: Type not found: 'MerchantCode'

acho que o erro está nessas linhas do meu python,

response = client.service.OnlineTransaction(values)

lguém pode me dar uma idéia da minha situaçã

desde já, obrigado ..

questionAnswers(2)

yourAnswerToTheQuestion