• dn6184
  • NEWBIE
  • 0 Points
  • Member since 2011

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 11
    Questions
  • 6
    Replies

We have inline edit functionality in our system that waits for a response back from our integration on whether the edit was valid or not.
What its supposed to do is send the record with the newly edited value to our apex controller class, then if our system responds with an error, it throws an exception in salesforce that in turn causes the actual edit not to be committed.
That's at least what it used to do. Sometime around March this stopped working and it started just allowing the edit and didnt actually throw the error even though the error was coming back from our system.
I've tweaked it to where its actually throwing the error on the page now, but I have a new issue.
When it calls the "actionSave" function, I'm needing the values for "theObject" to have the values AFTER the inline edit, but currently I don't have any way of getting that. All I can get is the record and its values when it was first loaded (i.e. the constructor for IntegratedObjectController)
If I can somehow push the changed fields values to actionSave, it would fix my issue.
Any ideas?
heres the code for both the opportunity VF page, and the IntegratedObjectController class
OPPORTUNITY VF PAGE:

<apex:page id="page1" standardController="Opportunity" extensions="IntegratedObjectController" >

<apex:includeScript value="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" />

<script>

var $j = jQuery.noConflict();

$j(function() {

    var saved = InlineEditData.prototype.save;

    InlineEditData.prototype.save = function(responseText) {

        //saved.apply(this, arguments);

        $j('input[id$=cmdBtnSave]').click(); 

    };

});

function saved() {

    var errorMessage = $j("#page1\\:form1\\:dynamicOutput").html();

    if (errorMessage.length > 0) {

        alert(errorMessage);

    }

}

function InitializeButtons()

{

   

}   

</script>

<apex:form id="form1">

    <apex:commandButton id="cmdBtnSave" value="Save1" action="{!actionSave}" style="display: none"/>

    <apex:pageMessages />

    <!--<apex:actionFunction name="actionSave" action="{!actionSave}" reRender="dynamicOutput"  oncomplete="saved();"

        />-->

    <apex:outputPanel id="dynamicOutput" layout="block" style="display:none">

    {!ErrorMessage}

    </apex:outputPanel>

    <apex:detail id="currentData" subject="{!Opportunity.Id}" relatedList="true" inlineEdit="true" relatedListHover="true"

        showChatter="true" title="true" />

        <apex:outputText value="{!Opportunity.StageName} {!Opportunity.CloseDate} {!Opportunity.Name} {!Opportunity.CreatedDate} {!Opportunity.Account.FswAccountID__c} {!Opportunity.Account.FswAccountID__c} {!Opportunity.Account.RecordTypeId} {!Opportunity.Owner.FswUserID__c} {!Opportunity.CreatedBy.FswUserID__c} {!Opportunity.LastModifiedBy.FswUserID__c} {!Opportunity.LastModifiedDate} {!Opportunity.IsCommissionable__c}" rendered="false"/>

</apex:form>

<script>

function addLoadEvent(func) {

  var oldonload = window.onload;

  if (typeof window.onload != 'function') {

    window.onload = func;

  } else {

    window.onload = function() {

      if (oldonload) {

        oldonload();

      }

      func();

    }

  }

}

addLoadEvent(InitializeButtons);

</script>

</apex:page>

 

INTEGRATEDOBJECTCONTROLLER CLASS:

/*

** Page Controller for "view" pages. Currently supports Account, Contact and Opportunity.

** Pages must call actionSave() when an inline edit is made.

*/

public with sharing class IntegratedObjectController {

    public sObject theObject {get; private set; }

    private Schema.Sobjecttype sObjectType;

    public String ErrorMessage { get; set; }

    public IntegratedObjectController(ApexPages.StandardController controller) {

        theObject = controller.getRecord();

        sObjectType = theObject.getSObjectType();

        Map<String, String> currentPageParameters =  ApexPages.currentPage().getParameters();

        String ErrorMessage = (String)currentPageParameters.get(Constants.ERROR_MESSAGE);

        if (ErrorMessage != null)

        {

            ErrorMessage = (String)EncodingUtil.urlDecode(ErrorMessage, Constants.UTF_8);

            ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,ErrorMessage));

        }

    }

    public PageReference actionSave() {

        PostEditController pe = new PostEditController();

        try

        {

            pe.doIntegration((String)theObject.Id);

        }

        catch (Exception ex) {

 

        }

        return null;

    }

   

}

 

  • August 09, 2012
  • Like
  • 0

Hi, 

 

We just discovered that our triggers are not firing at all when inserts or updates are originated from Salesforce pages.  There are no validation errors and the upde / insert operations go through as usual, just no triggers fire.  We have place system.debug statements in the trigger code at the first line and monitored the logs.  We tested the triggers using apex test classes and they fire fine in that scenerio.  Does anyone have any ideas?

 

Thanks, Dave

We have an apex integration set up in SalesForce with our system and through this service we update our records when we update them in SalesForce. We have set up a way to halt a SalesForce record update if our system responds with an issue updating the record on our end. It throws an exception that SalesForce in turn showed on the page. However, sometime in the last 2 months we have noticed an issue where an exception thrown from the main apex classes no longer shows on the page, and the record gets updated anyway. No apex code has changed on our end and even our old sandboxes (some of which haven't been update since February) are displaying the same odd behavior. The only conclusion we can come up with is that something was changed in the way salesforce handles those exceptions. 
 
Desired Behavior:
When a record is edited (inline included) it sends a request to our system to check if the edit is valid. Our system responds saying that the edit is invalid. The apex class checks the response and if the response is valid it updates the record, if the response is not valid, it does not update the record and throws an exception which is displayed on the screen.
 
Current Behavior: Same as above except that when the respons is not valid, it updates the record anyway, and the exception (which is still thrown according to the logs) does not show anywhere on the page.
Any assistance would be appreciated.
Here's a sample of the log:

14:27:44.437 (437424000)|SYSTEM_METHOD_EXIT|[60]|LIST<AdminServiceAbstract.OperationResult>.add(Object)
14:27:44.437 (437433000)|SYSTEM_METHOD_ENTRY|[58]|system.ListIterator.hasNext()
14:27:44.437 (437444000)|SYSTEM_METHOD_EXIT|[58]|system.ListIterator.hasNext()
14:27:44.437 (437455000)|METHOD_EXIT|[146]|01p60000000Gzxf|AdminServiceAbstract.upsertContacts(LIST<Contact>)
14:27:44.437 (437503000)|METHOD_ENTRY|[163]|01p60000000Gzxd|AdminIntegrationImpl.CreateIntegrationLogEntry(String, String, String, String, Boolean)
14:27:44.437 (437547000)|METHOD_ENTRY|[366]|01p60000000H90N|IntegrationLogManager.stageLogEntry(String, String, String, String)
14:27:44.437 (437690000)|SYSTEM_METHOD_ENTRY|[21]|LIST<IntegrationError__c>.add(Object)
14:27:44.437 (437704000)|SYSTEM_METHOD_EXIT|[21]|LIST<IntegrationError__c>.add(Object)
14:27:44.437 (437713000)|METHOD_EXIT|[366]|01p60000000H90N|IntegrationLogManager.stageLogEntry(String, String, String, String)
14:27:44.437 (437728000)|METHOD_ENTRY|[372]|01p60000000H90N|IntegrationLogManager.persistStagedLogEntries()
14:27:44.437 (437760000)|SYSTEM_METHOD_ENTRY|[25]|LIST<IntegrationError__c>.size()
14:27:44.437 (437784000)|SYSTEM_METHOD_EXIT|[25]|LIST<IntegrationError__c>.size()
14:27:44.437 (437843000)|SYSTEM_METHOD_ENTRY|[28]|Database.insert(LIST<SObject>, Boolean)
14:27:44.437 (437879000)|DML_BEGIN|[28]|Op:Insert|Type:IntegrationError__c|Rows:2
14:27:44.492 (492650000)|DML_END|[28]
14:27:44.492 (492842000)|SYSTEM_METHOD_EXIT|[28]|Database.insert(LIST<SObject>, Boolean)
14:27:44.492 (492925000)|SYSTEM_METHOD_ENTRY|[31]|LIST<Database.SaveResult>.iterator()
14:27:44.493 (493099000)|SYSTEM_METHOD_EXIT|[31]|LIST<Database.SaveResult>.iterator()
14:27:44.493 (493124000)|SYSTEM_METHOD_ENTRY|[31]|system.ListIterator.hasNext()
14:27:44.493 (493140000)|SYSTEM_METHOD_EXIT|[31]|system.ListIterator.hasNext()
14:27:44.493 (493196000)|SYSTEM_METHOD_ENTRY|[31]|system.ListIterator.hasNext()
14:27:44.493 (493206000)|SYSTEM_METHOD_EXIT|[31]|system.ListIterator.hasNext()
14:27:44.493 (493226000)|SYSTEM_METHOD_ENTRY|[31]|system.ListIterator.hasNext()
14:27:44.493 (493235000)|SYSTEM_METHOD_EXIT|[31]|system.ListIterator.hasNext()
14:27:44.493 (493251000)|SYSTEM_METHOD_ENTRY|[41]|LIST<IntegrationError__c>.clear()
14:27:44.493 (493281000)|SYSTEM_METHOD_EXIT|[41]|LIST<IntegrationError__c>.clear()
14:27:44.493 (493293000)|METHOD_EXIT|[372]|01p60000000H90N|IntegrationLogManager.persistStagedLogEntries()
14:27:44.493 (493302000)|METHOD_EXIT|[163]|01p60000000Gzxd|AdminIntegrationImpl.CreateIntegrationLogEntry(String, String, String, String, Boolean)
14:27:44.493 (493319000)|SYSTEM_METHOD_ENTRY|[164]|System.debug(ANY)
14:27:44.493 (493342000)|USER_DEBUG|[164]|DEBUG|Everything failed
14:27:44.493 (493349000)|SYSTEM_METHOD_EXIT|[164]|System.debug(ANY)
14:27:44.496 (496944000)|METHOD_ENTRY|[5]|01p60000000Gzxk|ApplicationException.ApplicationException()
14:27:44.496 (496959000)|METHOD_EXIT|[5]|ApplicationException
14:27:44.497 (497017000)|CONSTRUCTOR_ENTRY|[165]|01p60000000Gzxk|<init>(String)
14:27:44.497 (497158000)|CONSTRUCTOR_EXIT|[165]|01p60000000Gzxk|<init>(String)
14:27:44.497 (497206000)|EXCEPTION_THROWN|[165]|ApplicationException: UpsertContacts: Error updating Contact:
Email: A contact with this email already exists.

14:27:44.497 (497231000)|EXCEPTION_THROWN|[168]|ApplicationException: UpsertContacts: Error updating Contact:
Email: A contact with this email already exists. Exception Thrown

14:27:44.497 (497242000)|METHOD_EXIT|[117]|01p60000000Gzxd|AdminIntegrationImpl.upsertContact(Id)
14:27:44.497 (497416000)|SYSTEM_METHOD_ENTRY|[134]|ApexPages.addMessage(ApexPages.Message)
14:27:44.497 (497451000)|VF_PAGE_MESSAGE|Error while synching data. Please make any necessary corrections and re-try. UpsertContacts: Error updating Contact:
Email: A contact with this email already exists. Supposed to have outputted to the page, but doesn't anymore

14:27:44.497 (497461000)|SYSTEM_METHOD_EXIT|[134]|ApexPages.addMessage(ApexPages.Message)
14:27:44.497 (497471000)|METHOD_EXIT|[27]|01p60000000Gzxv|PostEditController.doIntegration(String)
14:27:44.497 (497478000)|SYSTEM_MODE_EXIT|false
14:27:44.500 (500549000)|CODE_UNIT_FINISHED|IntegratedObjectController invoke(actionSave)
14:27:44.500 (500587000)|VF_APEX_CALL|j_id2|{!actionSave}|PageReference: none
14:27:44.515 (515999000)|CODE_UNIT_STARTED|[EXTERNAL]|01p60000000Gzxt|IntegratedObjectController get(ErrorMessage)
14:27:44.516 (516016000)|SYSTEM_MODE_ENTER|true
14:27:44.516 (516029000)|CODE_UNIT_STARTED|[EXTERNAL]|01p60000000Gzxt|ErrorMessage
14:27:44.516 (516044000)|CODE_UNIT_FINISHED|ErrorMessage
14:27:44.516 (516050000)|CODE_UNIT_FINISHED|IntegratedObjectController get(ErrorMessage)
14:27:44.516 (516405000)|VF_SERIALIZE_VIEWSTATE_BEGIN|06660000000TSh9
14:27:44.518 (518187000)|VF_SERIALIZE_VIEWSTATE_END
14:27:44.769 (522279000)|CUMULATIVE_LIMIT_USAGE
14:27:44.769|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 3 out of 100
Number of query rows: 3 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 1 out of 150
Number of DML rows: 2 out of 10000
Number of script statements: 190 out of 200000
Maximum heap size: 0 out of 6000000
Number of callouts: 1 out of 10
Number of Email Invocations: 0 out of 10
Number of fields describes: 0 out of 100
Number of record type describes: 0 out of 100
Number of child relationships describes: 0 out of 100
Number of picklist describes: 0 out of 100
Number of future calls: 0 out of 10

14:27:44.769|CUMULATIVE_LIMIT_USAGE_END

14:27:44.522 (522313000)|CODE_UNIT_FINISHED|VF: /apex/ContactPage
14:27:44.522 (522321000)|EXECUTION_FINISHED

Is it possible to somehow create a trigger on Account Activity?  My end goal is to fire off integration when a new Account Activity is created.

  • February 03, 2012
  • Like
  • 0

I see there are javascript remoting examples in the docs but understand this is still a developer preview.  Is that true, and if so what are the requirements?  I have tried to run a couple of samples but have not had it work for me yet - do I need to contact sfdc and is this an upgrade, etc?

 

Thanks, Dave

 

  • September 14, 2011
  • Like
  • 0

Hi,  

 

We would like to be able to search our apex class and trigger source code.   The purpose would be to locate code routines that might be useful in current work and to speed the resolution of bugs and other issues.  Please let me know if this is possible.  I wrote code to iterate through our apex class objects and found the source code line property on the object to contain obfuscated or truncated data.  Please let me know if there is any way to accomplish this.

 

Thanks, Dave

 

We would like to have our Weekly Data Export zip file placed on an FTP server so we can pick it up for download automatically by monitoring the path. Please let me if this is possible.

 

Thanks, Dave

 

Hi,

 

I would like to programmatically consume the emailed link generated by the weekly export service and download the backup data automatically.  Is there an existing facility for doing this or code available?  We are using .Net 4.0.

 

Thanks in advance.

 

 

 

We have about 50 apex classes in our dev environment.  When we refresh the list, it takes about 20 seconds to display.  Is there anything we can do in our configuration. etc to speed it up?  I tried creating a view but this did not help.

 

Thanks, Dave

 

  • April 27, 2011
  • Like
  • 0

Hi,

 

Re: Account Detail

 

I am trying to restrict the user from access to the list of activities shown below when the Account Ownership [change] link is clicked.

 

Transfer open opportunities not owned by the existing account owner
Transfer closed opportunities
Transfer open tickets owned by the existing account owner
Transfer closed tickets
Keep Account Team
Send Notification Email

 

I would like to know how to override this button to provide an alternate destination or alter what the use sees on this screen. 

 

Our Account Page is provided below:

 

<apex:page id="page1" standardController="Account" extensions="IntegratedObjectController" >
<apex:includeScript value="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" />
<script>
var $j = jQuery.noConflict();
$j(function() {
    var saved = InlineEditData.prototype.handleResponse;
    InlineEditData.prototype.handleResponse = function(responseText) {
        saved.apply(this, arguments);
        actionSave();
    };
});

function saved() {
    var errorMessage = $j("#page1\\:form1\\:dynamicOutput").html();
    if (errorMessage.length > 0) {
        alert(errorMessage);
    }
}
</script>
<apex:form id="form1">
    <apex:actionFunction name="actionSave" action="{!actionSave}" oncomplete="saved();"
        rerender="dynamicOutput " />
    <apex:outputPanel id="dynamicOutput" layout="block" style="display:none">
    {!ErrorMessage}
    </apex:outputPanel>
    <apex:detail subject="{!account.Id}" relatedList="true" inlineEdit="true" relatedListHover="true"
        showChatter="true" title="true" />
</apex:form>
</apex:page>

 

I would like to know to modify / override the content in the detail section of this form.

 

Thanks in advance, Dave

 

  • April 13, 2011
  • Like
  • 0

Hi,

 

For the purposes of integration, we created overrides for pages related to our standard objects (i.e. Account) as shown below:

 

<apex:page id="page1" standardController="Account" extensions="IntegratedObjectController" >
<apex:includeScript value="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" />
<script>
var $j = jQuery.noConflict();
$j(function() {
    var saved = InlineEditData.prototype.handleResponse;
    InlineEditData.prototype.handleResponse = function(responseText) {
        saved.apply(this, arguments);
        actionSave();
    };
});

function saved() {
    var errorMessage = $j("#page1\\:form1\\:dynamicOutput").html();
    if (errorMessage.length > 0) {
        alert(errorMessage);
    }
}
</script>
<apex:form id="form1">
    <apex:actionFunction name="actionSave" action="{!actionSave}" oncomplete="saved();"
        rerender="dynamicOutput " />
    <apex:outputPanel id="dynamicOutput" layout="block" style="display:none">
    {!ErrorMessage}
    </apex:outputPanel>
    <apex:detail subject="{!account.Id}" relatedList="true" inlineEdit="true" relatedListHover="true"
        showChatter="true" title="true" />
</apex:form>
</apex:page>

 

This approach has worked well (using exact same markup/code) until we tried it for a custom object (Order__c) as shown below:

 

<apex:page id="page1" standardController="Order__c" extensions="IntegratedObjectController" >
<apex:includeScript value="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" />
<script>
var $j = jQuery.noConflict();
$j(function() {
    var saved = InlineEditData.prototype.handleResponse;
    InlineEditData.prototype.handleResponse = function(responseText) {    
        saved.apply(this, arguments);
        actionSave();
        alert('actionSave');
    };
});

function saved() {
    var errorMessage = $j("#page1\\:form1\\:dynamicOutput").html();
    if (errorMessage.length > 0) {
        alert(errorMessage);
    }
}
</script>
<apex:form id="form1">
    <apex:actionFunction name="actionSave" action="{!actionSave}" oncomplete="saved();"
        rerender="dynamicOutput" />
    <apex:outputPanel id="dynamicOutput" layout="block" style="display:none">
    {!ErrorMessage}
    </apex:outputPanel>
    <apex:detail subject="{!Order__c.Id}" relatedList="true" inlineEdit="true" relatedListHover="true"
        showChatter="true" title="true" />
</apex:form>
</apex:page>

 

We now get the order object saved but the base controller never returns control so the butten remains "Pressed" and our extension never executes to the system.debug('Running updateOrder') statement you see in the controller extension shown below:

 

public with sharing class IntegratedObjectController {

    private sObject theObject;
    private Schema.Sobjecttype sObjectType;
    public String ErrorMessage { get; set; }

    public IntegratedObjectController(ApexPages.StandardController controller) {
        theObject = controller.getRecord();
        sObjectType = theObject.getSObjectType();
        System.debug('Order constructor');
     
    }

    public PageReference actionSave() {
        AdminIntegration admin = DependencyManager.getAdminIntegration();
        try {
            if (sObjectType == Account.sObjectType) {
                admin.upsertAccount(theObject.Id);
            }
            else if (sObjectType == Contact.sObjectType) {
                admin.upsertContact(theObject.Id);
            }
            else if (sObjectType == Opportunity.sObjectType) {
                admin.upsertOpportunity(theObject.Id);
            }
            else if (sObjectType == Order__c.sObjectType) {
                System.debug('Running updateOrder');
                //admin.updateOrder(theObject.Id);
            }
            else {
                throw new ApplicationException('Unsupport object type: ' + sObjectType.getDescribe().getName());
            }
        }
        catch (Exception ex) {
            ErrorMessage = 'Integration Error: \r' + (ex.getMessage() != null ?
                ex.getMessage() : '');
        }
        return null;
    }
 
}

 

Is there a known issue with cloning a standard object (i.e. Account) detail page and then using the controller extension technique for a custom object?  This technique works fine for our standard objects.

 

Thanks, Dave

  

  • April 08, 2011
  • Like
  • 0

Hi, 

 

We just discovered that our triggers are not firing at all when inserts or updates are originated from Salesforce pages.  There are no validation errors and the upde / insert operations go through as usual, just no triggers fire.  We have place system.debug statements in the trigger code at the first line and monitored the logs.  We tested the triggers using apex test classes and they fire fine in that scenerio.  Does anyone have any ideas?

 

Thanks, Dave

We have an apex integration set up in SalesForce with our system and through this service we update our records when we update them in SalesForce. We have set up a way to halt a SalesForce record update if our system responds with an issue updating the record on our end. It throws an exception that SalesForce in turn showed on the page. However, sometime in the last 2 months we have noticed an issue where an exception thrown from the main apex classes no longer shows on the page, and the record gets updated anyway. No apex code has changed on our end and even our old sandboxes (some of which haven't been update since February) are displaying the same odd behavior. The only conclusion we can come up with is that something was changed in the way salesforce handles those exceptions. 
 
Desired Behavior:
When a record is edited (inline included) it sends a request to our system to check if the edit is valid. Our system responds saying that the edit is invalid. The apex class checks the response and if the response is valid it updates the record, if the response is not valid, it does not update the record and throws an exception which is displayed on the screen.
 
Current Behavior: Same as above except that when the respons is not valid, it updates the record anyway, and the exception (which is still thrown according to the logs) does not show anywhere on the page.
Any assistance would be appreciated.
Here's a sample of the log:

14:27:44.437 (437424000)|SYSTEM_METHOD_EXIT|[60]|LIST<AdminServiceAbstract.OperationResult>.add(Object)
14:27:44.437 (437433000)|SYSTEM_METHOD_ENTRY|[58]|system.ListIterator.hasNext()
14:27:44.437 (437444000)|SYSTEM_METHOD_EXIT|[58]|system.ListIterator.hasNext()
14:27:44.437 (437455000)|METHOD_EXIT|[146]|01p60000000Gzxf|AdminServiceAbstract.upsertContacts(LIST<Contact>)
14:27:44.437 (437503000)|METHOD_ENTRY|[163]|01p60000000Gzxd|AdminIntegrationImpl.CreateIntegrationLogEntry(String, String, String, String, Boolean)
14:27:44.437 (437547000)|METHOD_ENTRY|[366]|01p60000000H90N|IntegrationLogManager.stageLogEntry(String, String, String, String)
14:27:44.437 (437690000)|SYSTEM_METHOD_ENTRY|[21]|LIST<IntegrationError__c>.add(Object)
14:27:44.437 (437704000)|SYSTEM_METHOD_EXIT|[21]|LIST<IntegrationError__c>.add(Object)
14:27:44.437 (437713000)|METHOD_EXIT|[366]|01p60000000H90N|IntegrationLogManager.stageLogEntry(String, String, String, String)
14:27:44.437 (437728000)|METHOD_ENTRY|[372]|01p60000000H90N|IntegrationLogManager.persistStagedLogEntries()
14:27:44.437 (437760000)|SYSTEM_METHOD_ENTRY|[25]|LIST<IntegrationError__c>.size()
14:27:44.437 (437784000)|SYSTEM_METHOD_EXIT|[25]|LIST<IntegrationError__c>.size()
14:27:44.437 (437843000)|SYSTEM_METHOD_ENTRY|[28]|Database.insert(LIST<SObject>, Boolean)
14:27:44.437 (437879000)|DML_BEGIN|[28]|Op:Insert|Type:IntegrationError__c|Rows:2
14:27:44.492 (492650000)|DML_END|[28]
14:27:44.492 (492842000)|SYSTEM_METHOD_EXIT|[28]|Database.insert(LIST<SObject>, Boolean)
14:27:44.492 (492925000)|SYSTEM_METHOD_ENTRY|[31]|LIST<Database.SaveResult>.iterator()
14:27:44.493 (493099000)|SYSTEM_METHOD_EXIT|[31]|LIST<Database.SaveResult>.iterator()
14:27:44.493 (493124000)|SYSTEM_METHOD_ENTRY|[31]|system.ListIterator.hasNext()
14:27:44.493 (493140000)|SYSTEM_METHOD_EXIT|[31]|system.ListIterator.hasNext()
14:27:44.493 (493196000)|SYSTEM_METHOD_ENTRY|[31]|system.ListIterator.hasNext()
14:27:44.493 (493206000)|SYSTEM_METHOD_EXIT|[31]|system.ListIterator.hasNext()
14:27:44.493 (493226000)|SYSTEM_METHOD_ENTRY|[31]|system.ListIterator.hasNext()
14:27:44.493 (493235000)|SYSTEM_METHOD_EXIT|[31]|system.ListIterator.hasNext()
14:27:44.493 (493251000)|SYSTEM_METHOD_ENTRY|[41]|LIST<IntegrationError__c>.clear()
14:27:44.493 (493281000)|SYSTEM_METHOD_EXIT|[41]|LIST<IntegrationError__c>.clear()
14:27:44.493 (493293000)|METHOD_EXIT|[372]|01p60000000H90N|IntegrationLogManager.persistStagedLogEntries()
14:27:44.493 (493302000)|METHOD_EXIT|[163]|01p60000000Gzxd|AdminIntegrationImpl.CreateIntegrationLogEntry(String, String, String, String, Boolean)
14:27:44.493 (493319000)|SYSTEM_METHOD_ENTRY|[164]|System.debug(ANY)
14:27:44.493 (493342000)|USER_DEBUG|[164]|DEBUG|Everything failed
14:27:44.493 (493349000)|SYSTEM_METHOD_EXIT|[164]|System.debug(ANY)
14:27:44.496 (496944000)|METHOD_ENTRY|[5]|01p60000000Gzxk|ApplicationException.ApplicationException()
14:27:44.496 (496959000)|METHOD_EXIT|[5]|ApplicationException
14:27:44.497 (497017000)|CONSTRUCTOR_ENTRY|[165]|01p60000000Gzxk|<init>(String)
14:27:44.497 (497158000)|CONSTRUCTOR_EXIT|[165]|01p60000000Gzxk|<init>(String)
14:27:44.497 (497206000)|EXCEPTION_THROWN|[165]|ApplicationException: UpsertContacts: Error updating Contact:
Email: A contact with this email already exists.

14:27:44.497 (497231000)|EXCEPTION_THROWN|[168]|ApplicationException: UpsertContacts: Error updating Contact:
Email: A contact with this email already exists. Exception Thrown

14:27:44.497 (497242000)|METHOD_EXIT|[117]|01p60000000Gzxd|AdminIntegrationImpl.upsertContact(Id)
14:27:44.497 (497416000)|SYSTEM_METHOD_ENTRY|[134]|ApexPages.addMessage(ApexPages.Message)
14:27:44.497 (497451000)|VF_PAGE_MESSAGE|Error while synching data. Please make any necessary corrections and re-try. UpsertContacts: Error updating Contact:
Email: A contact with this email already exists. Supposed to have outputted to the page, but doesn't anymore

14:27:44.497 (497461000)|SYSTEM_METHOD_EXIT|[134]|ApexPages.addMessage(ApexPages.Message)
14:27:44.497 (497471000)|METHOD_EXIT|[27]|01p60000000Gzxv|PostEditController.doIntegration(String)
14:27:44.497 (497478000)|SYSTEM_MODE_EXIT|false
14:27:44.500 (500549000)|CODE_UNIT_FINISHED|IntegratedObjectController invoke(actionSave)
14:27:44.500 (500587000)|VF_APEX_CALL|j_id2|{!actionSave}|PageReference: none
14:27:44.515 (515999000)|CODE_UNIT_STARTED|[EXTERNAL]|01p60000000Gzxt|IntegratedObjectController get(ErrorMessage)
14:27:44.516 (516016000)|SYSTEM_MODE_ENTER|true
14:27:44.516 (516029000)|CODE_UNIT_STARTED|[EXTERNAL]|01p60000000Gzxt|ErrorMessage
14:27:44.516 (516044000)|CODE_UNIT_FINISHED|ErrorMessage
14:27:44.516 (516050000)|CODE_UNIT_FINISHED|IntegratedObjectController get(ErrorMessage)
14:27:44.516 (516405000)|VF_SERIALIZE_VIEWSTATE_BEGIN|06660000000TSh9
14:27:44.518 (518187000)|VF_SERIALIZE_VIEWSTATE_END
14:27:44.769 (522279000)|CUMULATIVE_LIMIT_USAGE
14:27:44.769|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 3 out of 100
Number of query rows: 3 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 1 out of 150
Number of DML rows: 2 out of 10000
Number of script statements: 190 out of 200000
Maximum heap size: 0 out of 6000000
Number of callouts: 1 out of 10
Number of Email Invocations: 0 out of 10
Number of fields describes: 0 out of 100
Number of record type describes: 0 out of 100
Number of child relationships describes: 0 out of 100
Number of picklist describes: 0 out of 100
Number of future calls: 0 out of 10

14:27:44.769|CUMULATIVE_LIMIT_USAGE_END

14:27:44.522 (522313000)|CODE_UNIT_FINISHED|VF: /apex/ContactPage
14:27:44.522 (522321000)|EXECUTION_FINISHED

We have generated a self-signed certificate from SFDC and provided to our client network team which we are expecting them to install at their application to authorize us accessing their application. Network team rejected the certificate with the reason as the certificate has no information on private key.

Based on my research was able to figure out private key should be known by the owner of the certificate which is used by the server to validate against the public key and confirm the identity of the source.

Could someone please guide on how we can get the private key from SFDC as I dont see any interface for the same?

Hi,

 

I overrided case view button with a visualforce page. When I created  a service cloud console app, and opened a case record, it displays External Page. Is there a way to rename the page with the case number.

 

Thanks in advance.

 

  • June 10, 2011
  • Like
  • 0

Hi,

 

I would like to programmatically consume the emailed link generated by the weekly export service and download the backup data automatically.  Is there an existing facility for doing this or code available?  We are using .Net 4.0.

 

Thanks in advance.

 

 

 

We have about 50 apex classes in our dev environment.  When we refresh the list, it takes about 20 seconds to display.  Is there anything we can do in our configuration. etc to speed it up?  I tried creating a view but this did not help.

 

Thanks, Dave

 

  • April 27, 2011
  • Like
  • 0