• ryan_mm
  • NEWBIE
  • 0 Points
  • Member since 2007

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 7
    Questions
  • 4
    Replies

Our app is composed of a Flex front-end and a .NET web service. The .NET web service does all of the querying from the salesforce API, processes some of the returned queries, and then passes it back to the Flex app for presentation/use.

 

Recently we've noticed a strange error that is disruptive and occurs inconsistently:

1. We will be querying for data related to opportunities, accounts, tasks and the like. The queries will be returning back results just fine.

2. All of a sudden, one of the queries will return with an error such as INVALID_FIELD, INVALID_QUERY_LOCATOR, INVALID_SESSION_ID, INVALID_TYPE, MALFORMED_QUERY. The errors about fields and malformed/invalid query will usually state that an invalid column, object, or unsupported call like convertCurrency doesn’t exist for the org - even though it does. Yes - we can be querying data from an organization using multi-currency, and all of a sudden one of the queries will say that multi-currency is not supported for that org.

3. We can then re-run the same query that failed, and sometimes it will work immediately. Other times, it will fail for a few minutes, and then start working again.

 

Could it be something to do with the fact that multiple users from many different companies are using our app concurrently, and even though they each have unique session parameters, the fact that they`re all appearing to come from the same IP (our server) is causing some to collide and fail.

 

Right now, we`re stumped and hoping someone can point us in the right direction.

We were explicitly referencing the v15.0 endpoint for a while in our app, which calls the API from a .NET app. We noticed in our logs that some calls were being handled by the 14.0 URL endpoint, and some by the 15.0, even though we had explicitly set the 15.0 endpoint in our app.

 

We're noticing some other weird errors (I will post those separately), but are curious as to why this could be happening?

Hi folks - We are implementing a system that requires that we store our customer's admin credentials on our server. We know we need to encrypt these an decrypt them at runtime. We also know that we're not allowed to store the decryption key within our code. It's been suggested to us that we use a "keystore" to store the decryption key - but this is a new concept for us so we're unsure how to proceed. How have the rest of you handled this situation?
 
Any pointers would be very much appreciated.
 
Ryan
Hi folks - We found an Opportunity record that has a set of cooresponding OpportunityHistory records with something strange: there are two OpportunityHistory records with the exact same CreatedDate (including seconds) but the one that comes back second when querying and doing an ORDER BY CreatedDate doesn't seem to have the right values. It looks something like this:

Opportunity Table
ID                  StageName
00640000009sJMSAA2  Proof of Concept

OpportunityHistory Table
ID                 OpportunityID      CreatedDate          StageName
0084000000GIjuzAAD
00640000009sJMSAA2 2008-06-10 4:31:48PM Proof of Concept
0084000000GIjvCAAT
00640000009sJMSAA2 2008-06-10 4:31:48PM Demo Scheduled 

As far as we know the user just clicked the Save button once and had changed from Demo Scheduled to Proof of Concept. Shouldn't the last record in the OpportunityHistory table ALWAYS match the current value of the cooresponding opportunity record?  At first we thought that the two OpportunityHistory records were out of order maybe due to a rounding error on the time or something. But the IDs seem to the imply that the second record was in fact created last because it has a "larger" ID. So we're confused.

This is messing up our calculations because our logic that looks through the OpportunityHistory table determines that this Opportunity is now at the Demo Completed stage which is wrong.

Any ideas on why this would happen or how to work-around it?

Ryan
I understand the scenario where I can update my package when I have a new version. I upload a new version and send the link to my installers and they can do the upgrade. But what if I find a bug that I need to fix (eg: in a SWF, JS file, etc)? Do I need to use the same process? i.e. Every person who has installed my application needs to manually install my new version to get my bug fix? I thought the whole idea of managed packages was to make it easier for developers to update components in customer orgs?

Ryan
Hi,

Our product uses the API to query data from SF. We're trying to build a feature into our product that deals with opportunities and territory management. We got territory management enabled for one of our developer orgs. We then found it straight-forward to get the master list of territories and their hierarchy by querying for the Id, Name, and ParentTerritoryId from the Territory table. The issue we're having is it's unclear to us how to figure out which territory an opportunity (or associated account) is in.

The documentation (from link below) says that there should be a TerritoryId field on the Opportunity object but this doesn't seem to be the case. That field doesn't exist. How can we figure out which territory an opportunity is in?

http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_erd_territory.htm

One of our guys posted a similar question in another thread here (link below) but we weren't really clear on the response. Going through several of these "sharing" tables seemed like an overly complex approach. Isn't there just a TerritoryId field on the Opportunity object?

http://community.salesforce.com/sforce/board/message?board.id=apex&thread.id=1996

Ryan
Hi folks - I've got mixed answers on this one. If I create an AppExchange application that uses Apex Code as part of it, can I install that application into a customer's professional edition org?

If not, that would severely reduce the chance that we could actually use Apex Code since it would mean that we couldn't sell to a big chunk of customers.

Ryan

We were explicitly referencing the v15.0 endpoint for a while in our app, which calls the API from a .NET app. We noticed in our logs that some calls were being handled by the 14.0 URL endpoint, and some by the 15.0, even though we had explicitly set the 15.0 endpoint in our app.

 

We're noticing some other weird errors (I will post those separately), but are curious as to why this could be happening?

Hi folks - We found an Opportunity record that has a set of cooresponding OpportunityHistory records with something strange: there are two OpportunityHistory records with the exact same CreatedDate (including seconds) but the one that comes back second when querying and doing an ORDER BY CreatedDate doesn't seem to have the right values. It looks something like this:

Opportunity Table
ID                  StageName
00640000009sJMSAA2  Proof of Concept

OpportunityHistory Table
ID                 OpportunityID      CreatedDate          StageName
0084000000GIjuzAAD
00640000009sJMSAA2 2008-06-10 4:31:48PM Proof of Concept
0084000000GIjvCAAT
00640000009sJMSAA2 2008-06-10 4:31:48PM Demo Scheduled 

As far as we know the user just clicked the Save button once and had changed from Demo Scheduled to Proof of Concept. Shouldn't the last record in the OpportunityHistory table ALWAYS match the current value of the cooresponding opportunity record?  At first we thought that the two OpportunityHistory records were out of order maybe due to a rounding error on the time or something. But the IDs seem to the imply that the second record was in fact created last because it has a "larger" ID. So we're confused.

This is messing up our calculations because our logic that looks through the OpportunityHistory table determines that this Opportunity is now at the Demo Completed stage which is wrong.

Any ideas on why this would happen or how to work-around it?

Ryan
When I see an Account detail screen, I'd like to be able to only show Contacts based on some kind of criteria.

Can this be done? Is there an override, or controller extension that could do it? Or, could it be done via security rights?

Thanks,
Hi folks - I've got mixed answers on this one. If I create an AppExchange application that uses Apex Code as part of it, can I install that application into a customer's professional edition org?

If not, that would severely reduce the chance that we could actually use Apex Code since it would mean that we couldn't sell to a big chunk of customers.

Ryan