• TesterInSky
  • NEWBIE
  • 0 Points
  • Member since 2008

  • Chatter
    Feed
  • 0
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 15
    Questions
  • 12
    Replies

I am doing a test with the login operation. And recently, my password is exired. So I noticed that, the login call could return a sessionId and my user information, but if I use this session id to trigger another soap call, say query for example, it will be failed because of the password is expired.

 

I wonder, if the main purpose of this login call is to get a valid session for later use, why it does not throw an error when the password is expired, so we could caught the error at an earlier stage without checking the returned 'passwordExpired' status?

I set up a server to accept Salesforce Outbound Message. The cert issuer is Thawte which is in the Outbound Msg SSL CA Certificates list (http://wiki.developerforce.com/index.php/Outbound_Messaging_SSL_CA_Certificates).

 

The server could accept the message through SSL, but caught the error:

 

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

 

if the Client Authentication is enabled. I used  the cert provided by Salesforce for the client authentication part.

 

I did another test on my side. I extracted root and intermediate CAs from the sfdc-client.cert. If I set these two certs for Client Authentication, then it passed. I find this a little weird, because it seems that the salesforce leaf certificate is not involved in this process.

Message Edited by TesterInSky on 05-31-2009 09:57 PM
Message Edited by TesterInSky on 05-31-2009 09:57 PM

I noticed that, for delete call, there is a AllowFieldTruncation header defined in WSDL. But when checking the API document, the delete call is not in the API Calls list when describing the AllowFieldTruncation header.

 

So I wonder is there something wrong with the document or the 15 pre-release API? Will this header be appeared on delete call in the v15 final version? If it will, then how could I use this header with delete?

 

I noticed that Salesforce provides ID whose length is 15 but not 18. Does this header on delete call has something to do with this?

I checked the Enterprise WSDL, but could not find 'AccountNumber' in 'Account' which could be see on Web UI, under Setup->Customize->Accounts->Fields

 

Is this a tempory issue for pre-release editions? What's the final behavior for v15 release?

 

 

P.S.:

But if I generate the Enterprise WSDL from a Developer Edition, and I could find the definition of AccountNumber in this WSDL. So I got a little confused.

When using Axis API to send xsd:time or xsd:base64Binary type data in a SOAP call, there is a org.apache.axis.message.MessageElement class, I need to call its 'setObjectValue(Object newValue)' method to set the value for a element node. 

 

If this 'Object newValue' is in Java boolean type, then the element will be created as the xsd:boolean. But for now, I do not know what Java type is used for representing xsd:time and xsd:base64Binary. I looked up the Internet and tried for xsd:time to use java.sql.Time, but failed, the API call convered the created java.sql.Time to java.Util.Date, then the created element node is in the type of xsd:datetime.

 

Could any one give some advice on this, thanks!

does upsert support more than one 'external id field'? Because We have a scnario where we have a composite key comprising of 2 fields in salesforce Object, which should form the basis for deciding Update/Insert Operation.

We may have asked this question a year ago, at that time we have been told that this feature had not been supported.

Since Salesforce v15 is around the corner, we would like to know if this feature has been included in this coming release. If it has been included, would you please give us any information on how to use this new feature? It is better if you could create us a pre-release testing account. But if it has not been included, would you please tell us is there any workaround for this situation?
We noticed that in Enterprise and Partner WSDL, it uses UTF-8 as the encoding char set. Is this the only encoding used by Salesforce.com API call? Is there a configuration for us to change this encoding?


Message Edited by TesterInSky on 01-19-2009 07:39 PM
I am doing some testing on my side.

I noticed that if I delete an Account, then the Contacts belong to it will also be deleted. But for custom sObject, the one with look-up field created on it, if I delete the parent sObject, the children attached to it seems not deleted.

Is this a difference between standard sObjects and custom sObjects?

I also found this in document:
"Lookup
This type of relationship links two objects together, but it has no effect on deletion, record ownership, or security"
Could anyone from Saleforce could confirm me on this:
    When using Partner wsdl, I remember that Salesforce will reply me with a new Session Id each time I call the Login.But when I do some test with v14 Partner wsdl, it seems that the Session Id will not be changed unless the old one has expired.
 
Are there any change on Salesforce side for this issue? Since when or which version.
 
Thanks and Regards
I am trying to get all the sObject type names by calling 'describeGlobal', then pass the string array to 'describeSObjects' call to get all the detailed information for all the sObjects.

But when doing the test, I noticed that 'OpportunityFieldHistory' was not returned by the 'describeGlobal' call. So I would like to know why, and want to know if there is way for me can guarantee that I could get all the sObjects.

Thanks in advance!
When calling 'describeSObjects' in Java to get the sObject fields information to form the concrete schema on local, I  noticed that the type returned as 'referenceTo' for some sObjects may have more than one 'referenceTo' node. Thus I was confused how could I set referece type for such kind of fields.
 
my question is:
    1. Base on my analysis, I noticed that there are many fields may have more then one 'referenceTo', please confirm me whether I was right.
    take the sObject 'ActivityHistory' for example, there is a field named 'What' with the type of 'ens:Name', but in the soap message there are more than one 'referenceTo' node including the 'ens:Asset' among these 'referenceTo' nodes, which you may noticed that it is neither a 'ens:User' nor a 'ens:Group'. I also saw some other sObject names (the field 'Who' in 'ActivityHistory' is set to 'ens:Name' as its type, but with more than one reference To including 'ens:Contact' ) appeared in this 'referenceTo'.

    2. If the No.1 above can be confirmed, then I would like to know is this muti-referenctTo thing only relates to 'ens:User'? I mean is it correct if I set the type for all fields who have more than one 'referenceTo' node derectly to 'ens:Name'?
 
Thanks
by saying 'nested' update, I mean update the sub-sObject nested in a particular sOjbect.
 
For example, from the Enterprise WSDL, I see sObject 'Account' has a field named 'Contacts', which means that an Account may have a bunch of Contacts. So my question is, can I update a particular 'Account' sObject by not only update its simple string fields but also fields in its nested sObjects like 'Contacts' in a single SOAP Update call?
 
I came up with this question because I saw Salesforce supports Relationship Queries which can return data of a particular sObject and its nested sObjects.
 
Thanks!
When using the Partner WSDL, trying to parse the schema information for a particular SObject, I noticed that there are more than one 'referenceTo' node being returned. One is: Group, and the other one is: User . For I need to gather the reference type information from this node, so I got confused by this, I do not know which one I need to use.

I would like to know if this is an expected behavior. And is there a good way for me to know the actual reference type for a particular element.

I analyzed the schema defined in Enterprise WSDL, I noticed that for some of SObjects, the Owner is refer to 'User', but for some other Owner elements, they refer to 'Name'. My guess is, when there are two 'referenceTo' nodes for Owner, then I should set the type to 'Name', and I need to set it to 'User' when there is only one 'referenTo' Node with the 'User' as the its value.

Please confirm me whether the above assumption is correct. And I would also like to know is there any build-in logic I could follow to generate my own SObject schema? And how many fields are there that I need to take care of by using the same way I mentioned above or follow the logic of Salesforce to do the handling.

Thanks Very Much, Please Reply As Soon As Possible.
I try to query by using both Partner or Enterprise WSDL to get information of a particular SObject on Owner or CreatedBy, but got a 'invalid query' exception.

Would you tell me how to get such information
I am now trying to implement Relationship Queries by using JAVA on my side, but encountering some problems.

I did the following test:
In a clear Salesforce (SF) database, which have no TestParent__c or TestChild__c sObjects in it:
1. Create a TestParent__c sObject (which is a custom sOjbect to simulate the parent object in a relationship query) in my SF database, filling the necessary values;
2. Create more than 300 TestChild__c sObjects (which is a custom sOjbect to simulate the children object related to the parent in a relationship query) in my SF database, filling the necessary values;
3. Then I set the batch size to 200, and do query by using JAVA code. The query string is as follow:
"select id, Company__c, (select Id, ChildName__c from TestChildren__r) from TestParent__c"

After I invoke the ‘query’ SOAP operation at the first time, I noticed that, though there is only one TestParent__c in my SF database, the ‘done’ for the queryResult of TestParent__c is ‘false’, and the ‘queryLocator’ has value ‘01g80000004rjaMAAQ-1’.

So in this situation, I do not only need to call queryMore for the nested TestChildren__r query (which actually should return 300 sObjects but the batch size is 200, so…), but also need to call queryMore for TestParent__c, the original query as well. And the sequence of these two queryMore callings seems to be restricted, that is I HAVE TO call the queryMore for the original query after any other nested queryMore has been called.

And I also noticed one thing, which is though I set the batch size to 200, the count of the data returned in the nested TestChildren__r is not 200, it is 199.

So confirm me with whether the behaviors that I illustrated above are expected. And if the SF is designed in this way, is there any reason for this? Can it provide any special ways to handle the data more convenience?
I am now trying to implement Relationship Queries by using JAVA on my side, but encountering some problems.

I did the following test:
In a clear Salesforce (SF) database, which have no TestParent__c or TestChild__c sObjects in it:
1. Create a TestParent__c sObject (which is a custom sOjbect to simulate the parent object in a relationship query) in my SF database, filling the necessary values;
2. Create more than 300 TestChild__c sObjects (which is a custom sOjbect to simulate the children object related to the parent in a relationship query) in my SF database, filling the necessary values;
3. Then I set the batch size to 200, and do query by using JAVA code. The query string is as follow:
"select id, Company__c, (select Id, ChildName__c from TestChildren__r) from TestParent__c"

After I invoke the ‘query’ SOAP operation at the first time, I noticed that, though there is only one TestParent__c in my SF database, the ‘done’ for the queryResult of TestParent__c is ‘false’, and the ‘queryLocator’ has value ‘01g80000004rjaMAAQ-1’.

So in this situation, I do not only need to call queryMore for the nested TestChildren__r query (which actually should return 300 sObjects but the batch size is 200, so…), but also need to call queryMore for TestParent__c, the original query as well. And the sequence of these two queryMore callings seems to be restricted, that is I HAVE TO call the queryMore for the original query after any other nested queryMore has been called.

And I also noticed one thing, which is though I set the batch size to 200, the count of the data returned in the nested TestChildren__r is not 200, it is 199.

So confirm me with whether the behaviors that I illustrated above are expected. And if the SF is designed in this way, is there any reason for this? Can it provide any special ways to handle the data more convenience?

Is it possible to include child records in outbound messages?

 

For example, Opportunity object has a parent-child relationship with OpportunityHistory. However, when I define the outbound message for Opportunity object, the OpportunityHistories field (relationship field) is not availble for me to pick as part of the outbound message. Another example is Account-Contact. Contacts field is not available for me to pick when defining outbound message on Account object.

 

Thanks

  • May 04, 2009
  • Like
  • 0

I checked the Enterprise WSDL, but could not find 'AccountNumber' in 'Account' which could be see on Web UI, under Setup->Customize->Accounts->Fields

 

Is this a tempory issue for pre-release editions? What's the final behavior for v15 release?

 

 

P.S.:

But if I generate the Enterprise WSDL from a Developer Edition, and I could find the definition of AccountNumber in this WSDL. So I got a little confused.

does upsert support more than one 'external id field'? Because We have a scnario where we have a composite key comprising of 2 fields in salesforce Object, which should form the basis for deciding Update/Insert Operation.

We may have asked this question a year ago, at that time we have been told that this feature had not been supported.

Since Salesforce v15 is around the corner, we would like to know if this feature has been included in this coming release. If it has been included, would you please give us any information on how to use this new feature? It is better if you could create us a pre-release testing account. But if it has not been included, would you please tell us is there any workaround for this situation?
We noticed that in Enterprise and Partner WSDL, it uses UTF-8 as the encoding char set. Is this the only encoding used by Salesforce.com API call? Is there a configuration for us to change this encoding?


Message Edited by TesterInSky on 01-19-2009 07:39 PM
Could anyone from Saleforce could confirm me on this:
    When using Partner wsdl, I remember that Salesforce will reply me with a new Session Id each time I call the Login.But when I do some test with v14 Partner wsdl, it seems that the Session Id will not be changed unless the old one has expired.
 
Are there any change on Salesforce side for this issue? Since when or which version.
 
Thanks and Regards
When calling 'describeSObjects' in Java to get the sObject fields information to form the concrete schema on local, I  noticed that the type returned as 'referenceTo' for some sObjects may have more than one 'referenceTo' node. Thus I was confused how could I set referece type for such kind of fields.
 
my question is:
    1. Base on my analysis, I noticed that there are many fields may have more then one 'referenceTo', please confirm me whether I was right.
    take the sObject 'ActivityHistory' for example, there is a field named 'What' with the type of 'ens:Name', but in the soap message there are more than one 'referenceTo' node including the 'ens:Asset' among these 'referenceTo' nodes, which you may noticed that it is neither a 'ens:User' nor a 'ens:Group'. I also saw some other sObject names (the field 'Who' in 'ActivityHistory' is set to 'ens:Name' as its type, but with more than one reference To including 'ens:Contact' ) appeared in this 'referenceTo'.

    2. If the No.1 above can be confirmed, then I would like to know is this muti-referenctTo thing only relates to 'ens:User'? I mean is it correct if I set the type for all fields who have more than one 'referenceTo' node derectly to 'ens:Name'?
 
Thanks
I try to query by using both Partner or Enterprise WSDL to get information of a particular SObject on Owner or CreatedBy, but got a 'invalid query' exception.

Would you tell me how to get such information
Hi All,
 
We are implementing Outbound messaging to one of our endpoint. The workflow is giving the following error :
 
 javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated.
 
What kind of Server certificates are supported by Outbound messaging. Can we import our certs in trusted store ?.
 
Any help is appreciated.
 
Thanks
Manish