2013-05-21 26 views
2

简短的版本是我想弄清楚是否有一种方法可以列出加载WSDL后调用Client.factory.create()的所有可用类型。如何列出可用的泡沫工厂类型

我有一个复杂类型的参数,其中包含另一个复杂类型的数组。泡沫厂似乎不知道如何创建属于阵列的类型,所以我不知道如何填充阵列。当我将类型名称传入factory.create()时,我得到了suds.TypeNotFound。我希望我只是弄错了名字,如果我可以列出可用的类型,我可以挑选出来。

回答

4

只需打印客户端即可获取方法和类型列表。以下是输出示例:

Suds (https://fedorahosted.org/suds/) version: 0.3.9 GA build: R659-20100219 


Service (PartnerAPI) tns="http://exacttarget.com/wsdl/partnerAPI" 
    Prefixes (2) 
     ns0 = "http://exacttarget.com/wsdl/partnerAPI" 
     ns1 = "urn:fault.partner.exacttarget.com" 
    Ports (1): 
     (Soap) 
     Methods (13): 
      Configure(ConfigureOptions Options, xs:string Action, Configurations Configurations,) 
      Create(CreateOptions Options, APIObject[] Objects,) 
      Delete(DeleteOptions Options, APIObject[] Objects,) 
      Describe(ArrayOfObjectDefinitionRequest DescribeRequests,) 
      Execute(ExecuteRequest[] Requests,) 
      Extract(ExtractRequest[] Requests,) 
      GetSystemStatus(SystemStatusOptions Options,) 
      Perform(PerformOptions Options, xs:string Action, Definitions Definitions,) 
      Query(QueryRequest QueryRequest,) 
      Retrieve(RetrieveRequest RetrieveRequest,) 
      Schedule(ScheduleOptions Options, xs:string Action, ScheduleDefinition Schedule, Interactions Interactions,) 
      Update(UpdateOptions Options, APIObject[] Objects,) 
      VersionInfo(xs:boolean IncludeVersionHistory,) 
     Types (285): 
      ns1:APIFault 
      APIObject 
      APIProperty 
      Account 
      AccountDataItem 
      AccountPrivateLabel 
      AccountTypeEnum 
      AccountUser 
      AddressStatus 
      ... 

任何类型都可以使用factory.create()创建。