В jQuery UI v1.12 вы можете использовать обработчик beforeLoad:
$('#tabs').tabs({
beforeLoad: function(event, ui) {
ui.panel.html('Loading')
}
});
Мне удалось заставить это работать с помощью Nusoap и после создания XML-сообщения в виде серии строк с использованием метода отправки вместо вызов. Теперь это работает, как ожидалось. Казалось, что использование метода call возвращало XML, отличный от того, который требовал веб-сервис ms crm 3.
Любой достойный инструментарий SOAP автоматически выдаст правильный XML. Посмотрите на этого парня:
require_once ('/var/mtp/lib/vendor/nusoap/lib/nusoap.php');
$login ='domain\username';
$pass ='password';
$useCURL = true;
$client = new nusoap_client('http://server:5555/mscrmservices/2006/crmservice.asmx?wsdl', 'wsdl');
$client->setCredentials($login, $pass, 'ntlm');
$client->setUseCurl($useCURL);
$client->useHTTPPersistentConnection();
$client->soap_defencoding = 'UTF-8';
$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
exit();
}
$soapHeader='<soap:Header>' .
'<CallerId xmlns="http://schemas.microsoft.com/crm/2006/WebServices">'.
'<CallerGuid xmlns="http://schemas.microsoft.com/crm/2006/CoreTypes">00000000-0000-0000-0000-000000000000</CallerGuid></CallerId>' .
'</soap:Header>';
$soapBody='<soap:Body>' .
'<entity xmlns="http://schemas.microsoft.com/crm/2006/WebServices" xsi:type="lead">' .
'<ownerid type="Owner">2408c7dc-c0a3-dd11-b3cd-001a4bd3009a</ownerid>' .
'<firstname>Fred</firstname>' .
'<lastname>Bloggs</lastname>' .
'</entity>' .
'</soap:Body>';
$xml = '<?xml version="1.0" encoding="utf-8"?>' .
'<soap:Envelope' .
' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' .
' xmlns:xsd="http://www.w3.org/2001/XMLSchema"' .
' xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' .
$soapHeader .
$soapBody .
'</soap:Envelope>';
//SOAP call
$result = $client->send($xml,'http://schemas.microsoft.com/crm/2006/WebServices/Create' );
//result
if ($client->fault) { //check for fault
echo '<p><b>Fault: ';
print_r($result);
echo '</b></p>';
}
else { //no fault
$err = $client->getError();
if ($err) { // error
echo 'Error: ' . $err . '';
echo "\n\n# # # # # # # Request # # # # # # #\n";
var_dump($client->request);
echo "\n\n# # # # # # Response # # # # # # #\n";
var_dump($client->response);
}
else { // display the result
print_r($result);
}
}
Я также изо всех сил пытался заставить Dynamics CRM SOAP работать с PHP, но через некоторое время мне удалось заставить его работать; http://www.ifc0nfig.com/working-with-microsoft-dynamics-crm-4-0-soap-interface-with-php-and-nusoap/ - Вы можете скачать небольшой класс I создано, что может быть полезно :)