Позвольте мне установить сцену:
Я разработчик PHP, которому нужно взять информацию из веб-формы и отправить ее клиентам Salesforce. Сначала я думал, что это так же просто, как использовать Web2Lead. Однако у клиента есть разработчик Salesforce.
Внутренний разработчик отправил мне файлы partner.wsdl
и CatalystWebservice.wsdl
вместе с данными для входа в свою песочницу, чтобы запустить все это. Собственный разработчик в основном сказал, что мне нужно использовать SOAP API Salesforce, и после подключения и входа в систему мне нужно позвонить ->makeContact("FormField1", "FormField2", "etc...");
Так что, потратив целый день на многие вещи и решив множество проблем, я, наконец, врезался в стену, которую я не могу подняться. Вот мой PHP-код, который у меня сейчас есть:
<code><pre>
<?php
define("SOAP_CLIENT_BASEDIR", "../soapclient");
$USERNAME = '******@********' ;
$PASSWORD = '******************************' ;
require_once (SOAP_CLIENT_BASEDIR.'/SforcePartnerClient.php');
require_once (SOAP_CLIENT_BASEDIR.'/SforceHeaderOptions.php');
try {
$mySforceConnection = new SforcePartnerClient();
$mySoapClient = $mySforceConnection->createConnection(SOAP_CLIENT_BASEDIR.'/partner2.wsdl.xml');
$loginResult = $mySforceConnection->login($USERNAME, $PASSWORD);
$location = $mySforceConnection->getLocation();
$session_ID = $mySforceConnection->getSessionId();
$client = new SoapClient(SOAP_CLIENT_BASEDIR.'/CatalystWebservice.wsdl.xml');
$sforce_header = new SoapHeader("http://soap.sforce.com/schemas/class/CatalystWebservice", "SessionHeader", array( "sessionId" => $session_ID ) );
$client->__setSoapHeaders( array( $sforce_header ) );
$client->makeContact("*****", "*****", "Address1", "Address2", "London", "****", "no-one@****", "0123456789", "07891236456", "New Build Homebuy", "This is my question\n\nAnd an other line", "1", "Test");
} catch (Exception $e) {
print_r($e);
}
?>
Я снял секретную информацию для здесь. Когда я запускаю приведенный выше код, я получаю следующий вывод:
SoapFault Object
(
[message:protected] => UNKNOWN_EXCEPTION: An unexpected error occurred. Please include this ErrorId if you contact support: ***********-*** (***********)
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => /home/******/public_html/********/test/partner.php
[line:protected] => 23
[trace:Exception:private] => Array
(
[0] => Array
.....
И файл CatalystWebservice.wsdl.xml
Внутренний разработчик разработал что-то на C # для тестирования своего WebService, и он прекрасно работает, поэтому, должно быть, я что-то не так делаю. Что я делаю неправильно?