2016-05-18 4 views
0

Попытка выполнить запрос к серверу мыла, необходимо добавить адрес электронной почты, это формат, необходимо:PHP мыло клиента добавить информацию

  <EmailAddresses> 
     <Home xsi:nil="true" /> 
     <Invoice xsi:nil="true" /> 
     <Primary xsi:nil="true" /> 
     <Work xsi:nil="true" /> 
     <Alternative xsi:nil="true" /> 
     </EmailAddresses> 
      <PhoneNumbers> 
     <Home xsi:nil="true" /> 
     <Fax xsi:nil="true" /> 
     <Mobile xsi:nil="true" /> 
     <Primary xsi:nil="true" /> 
     <Work xsi:nil="true" /> 
     </PhoneNumbers> 

У меня есть этот кусок кода для создания параметров:

$username = "www; 
$password = "ddd"; 
$applicationid = "ggg"; 
$options = array('trace' => true); 
$params ["credential"]["Username"] = $username; 
$encodedPassword = md5(mb_convert_encoding($password, 'utf-16le', 'utf-8')); 
$params ["credential"]["Password"] = $encodedPassword; 
$params ["credential"]["ApplicationId"] = $applicationid; 
$params ["credential"]["IdentityId"] = "xxx"; 

try { 
$authentication = new SoapClient("https://api.24sevenoffice.com/authenticate/v001/authenticate.asmx?wsdl", $options); 
$login = true; 
if (!empty($_SESSION['ASP.NET_SessionId'])) { 
    $authentication->__setCookie("ASP.NET_SessionId",  $_SESSION['ASP.NET_SessionId']); 
    try { 
     $login = !($authentication->HasSession()->HasSessionResult); 
    } catch (SoapFault $fault) { 
     $login = true; 
    } 
    } 
    if ($login) { 
    $result = ($temp = $authentication->Login($params)); 
    $_SESSION['ASP.NET_SessionId'] = $result->LoginResult; 
    $authentication->__setCookie("ASP.NET_SessionId", $_SESSION['ASP.NET_SessionId']); 
    // throw an error if the login is unsuccessful 
    if ($authentication->HasSession()->HasSessionResult == false) 
     throw new SoapFault("0", "Invalid credential information."); 
    } 

$superService = new SoapClient("https://api.24sevenoffice.com/CRM/Company/V001/CompanyService.asmx?wsdl", $options); 
$superService->__setCookie("ASP.NET_SessionId", $_SESSION['ASP.NET_SessionId']);  

$datosCompania = array("Type" => "Business", 
        "Name" => "Trying with all parameters again 4", 
        "Address" => "Libertad 1320, Vicente Lopez, Buenos Aires, Argentina", 
        "PhoneNumbers" => array("Primary" =>"41771296","Work"=>"47910936","Home"=>"47955678"), 
        "EmailAddresses" => array("Primary" =>"[email protected]"), 
        "OrganizationNumber" => "987987654"); 

    $result = $superService->SaveCompanies(array("companies" =>array("Company"=>$datosCompania))); 

} catch (SoapFault $fault) { 
echo 'Exception: ' . $fault->getMessage(); 
} 
echo "<pre>"; 
print_r($result); 

И это ответ я получаю:

stdClass Object 
(
[SaveCompaniesResult] => stdClass Object 
    (
     [Company] => stdClass Object 
      (
       [Id] => 90036 
       [OrganizationNumber] => 987987654 
       [Name] => Trying with all parameters again 4 
       [PhoneNumbers] => stdClass Object 
        (
         [Home] => stdClass Object 
          (
          ) 

         [Primary] => stdClass Object 
          (
          ) 

         [Work] => stdClass Object 
          (
          ) 

        ) 

       [EmailAddresses] => stdClass Object 
        (
         [Primary] => stdClass Object 
          (
          ) 

        ) 

       [Type] => Business 
      ) 

    ) 

) 

Когда я запускаю запрос, я получаю сообщение ОК, но ни адрес электронной почты или номера телефонов, вы можете помочь мне в том, что я делаю неправильно?

Link to the soap structure

+0

Вы должны воспитывать больше информации, т.е. весь код запроса, код сервера, сообщение, которое получают прислала Теперь. –

+0

Там Юджин, весь код на вопрос сейчас, спасибо –

ответ

0

Наконец я нашел, как это сделать, это линия, чтобы добавить электронную почту

"EmailAddresses" => array("Work" => array("Description" => "this is test","Name" =>"name", "Value" => "[email protected]")),