2013-07-29 41 views
2

我写了应用程序使用动态crm 2011,一个在c#中,另一个在php中的Web服务。他们都完美地工作。他们在crm中创造了新的领导者。 但有时,当我要铅直接在CRM创建一个错误出现:“您的订阅有可用的最大存储量对于额外的存储,......。”从crm 2011捕获错误与nusoap

我的问题是这样的错误是与C#应用程序处理,但与PHP应用程序没有异常或错误抛出。

我用DynamicsCRM类(http://phpmscrm.codeplex.com/)延伸nusaop_client和createEntity()方法使用来自的NuSOAP()的调用方法:

//Create lead 
$crmSoap = new DynamicsCRM("$login","$pass"); 
if ($crmSoap->client->fault) { 
    header('Location: index.php?return=Fault'); 
} 
else{ 
    $err = $crmSoap->client->getError(); 
    if ($err) 
    { 
     header("Location: index.php?return=Error: $err"); 
    } 
    else { 
     $aLead=array(); 
     $aLead['subject'] = $_POST['topic']; 
     $aLead['firstname'] = $_POST['fname']; 
     $aLead['lastname'] = $_POST['lname']; 
     $aLead['companyname'] = $_POST['company']; 
     $aLead['emailaddress1'] = $_POST['email']; 
     $result = $crmSoap->createEntity('lead', $aLead); 
     header('Location: index.php?return=Lead created'); 
    } 
} 

我想知道如何从呼叫抓误差( )方法:

$result = $crmSoap->createEntity('lead', $aLead); 
+0

你检查过你的crm在线空间是否用完了吗? –

回答

1

我正在使用相同的客户端。它提供了一个可用于检查错误的getError。因此,在每次检查后:

if ($err= $crmSoap->getError()) 
    print_r($err) 

当然,您可能想要做的事情不只是回应错误,但这就是主意。