2013-05-14 56 views
0

我正在使用sforce-php工具包从salesforce中获取一些对象。我有以下代码:salesforce不期望对象返回呼叫查询

$mySforceConnection = new SforcePartnerClient(); 
$mySoapClient = $mySforceConnection->createConnection(SOAP_CLIENT_BASEDIR.'/partner.wsdl.xml'); 
$mylogin = $mySforceConnection->login(USERNAME, PASSWORD.SECURITY_TOKEN); 
$query = "SELECT FirstName from Contact"; 
$response = $mySforceConnection->query($query); 
$queryResult = new QueryResult($response); 

foreach ($queryResult->records as $record) { 
    print_r($record); 
    echo "<br/>"; 
} 

,我希望以这种形式返回的对象:

stdClass Object 
(
[type] = Contact 
[Id] = Array 
    (
     [0] =&gt; 003i0000009GZVzAAO 
     [1] =&gt; 003i0000009GZVzAAO 
    ) 
[FirstName] = "Some String" 
[any] = <sf:firstname>Some String</sf:firstname> 
) 

这样我就可以获取对象的名字一样 $ record->姓

但我得到的是:

stdClass Object 
(
[type] = Contact 
[Id] = Array 
    (
     [0] =&gt; 003i0000009GZVzAAO 
     [1] =&gt; 003i0000009GZVzAAO 
    ) 
[any] = <sf:firstname>Some String</sf:firstname> 
) 

所以我不能得到名字。我有权访问的唯一属性是'任何'。我如何获得预期的对象?我应该在哪里关注?

+0

这不是一个PHP数据问题,你恰好在使用salesforce?难道你不能解析[any]并获取你的数据 - 毕竟它在那里。 – 2013-05-15 02:53:37

+0

您是否使用过Partner或Enterprise WSDL?看起来对我来说是合作伙伴(通用的,但你没有得到强类型的领域=你没有得到明确的XML节点,你需要解析“任何” – eyescream 2013-05-17 06:55:17

回答

0

确保您的帐户有权通过webservice调用访问FirstName自定义字段。