• David VP
  • SMARTIE
  • 1214 Points
  • Member since 2008

  • Chatter
    Feed
  • 47
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 7
    Questions
  • 386
    Replies

I want to use my CMSForce form to create a new record.

Is there anyway for me to get the Id for the just created record?

 

Im thinking use CMSForce for the 'basic' form fields then forward the Id to another page with

more custom form items to finish the process.

Hi,

 

When i try to installa the CRMForce 2 to my salesforce account i get the following error notification via e-mail.

 

What seems to be the error? I can't install CRMForce 2

 

Problem:

1. Apex Classes(01p200000003dCm) cmsforcesetupcontroller.t1()
System.AssertException: Assertion Failed
Class.CMSForceSetupController.t1: line 94, column 3
External entry point

2. Apex Classes(01p200000003dCv) homepagecontroller.t1()
System.NullPointerException: Attempt to de-reference a null object
Class.HomePageController.t1: line 69, column 51
External entry point



Validation Errors While Saving Record(s)

There were custom validation error(s) encountered while saving the affected
record(s). The first validation error encountered was "00D20000000IjTj:
APEX_TEST_FAILED [01p200000003dCm: cmsforcesetupcontroller.t1():
System.AssertException: Assertion Failed
Class.CMSForceSetupController.t1: line 94, column 3
External entry point, 01p200000003dCv: homepagecontroller.t1():
System.NullPointerException: Attempt to de-reference a null object
Class.HomePageController.t1: line 69, column 51
External entry point]".
  • January 26, 2011
  • Like
  • 0

I know this is silly and very novice, but I am just getting my feet wet with creating page templates and I accidently edited and saved the TestTemplate code that comes with CMS Force and now I cannot remember how to get it back to the way it was.

 

Can someone take a second to copy and paste the code here for me so I can bring it back to the original 4 contentblockitem layout?


Thank you!

Does anyone know if/how one can change the style of a web form's font, point size, alignment, etc when using CMSForce?

 

You can currently only select bg color and text color.  Would it be possible to override default appearance of web form with tables or divs?

 

Any input is appreciated!

 

Thanks,

Brian

  • May 28, 2010
  • Like
  • 0

Can I change the background color on a CMSForce template? Not just the table color - the whole background?

Thanks

 

A

I am using CMSForce to build a Web Form in a Force.com site. The problem I am running across is that I am utilizing the Opportunity object and a custom field I have created in there that is a a Long Text Area (32000). When I use that field in my Web Form I get an error when I put too many characters in, that the field cannot exceed 255 characters. Is this a default form setting I am missing somewhere because obviously the field can hold way more characters than that?

Hello,

 

I'm using CMSForce to create a web form for a custom object (which has a look up field for Contacts). Is there a way to automatically link the custom object to the correct contact when he saves the record in the web form? Maybe using his email address?

 

Thanks!

Hi,

 

I have placed the VF pages on the home page of cstomer portal. when we logged in through sites to customer portal, the VF componets on the home page are not visible.

  • March 09, 2010
  • Like
  • 0

Does Salesforce provide any way to authenticate apex WebService methods in Sites?  If not, are there any feasible ways to self-authenticate these types of requests?

 

Thanks,
Jon 

So I have created my first site.  I have configured login and customer portal access.  everything is working great.

 

EXCEPT...

 

in my controller I am creating a list of reservations

 

 

List<reservation__c> reservations = [SELECT id, name, Departure_Time__c, Return_Time__c, allDay__c, Required_Services__c, Notes__c FROM Reservation__c WHERE Account__c =: getAccountID() ORDER BY Name];

 

 I am displaying that list in my visual force page

 

 

<apex:repeat value="{!reservations}" var="i" id="reservationList"> {!i.allday__c} </apex:repeat>

 

 

 allDay__c is a Checkbox (boolean)

 

When I login as a regular salesforce user (not through customer portal) and run the page all my reservations return TRUE for allDay__c (which is correct according to their value in the database)

 

When I login as a customer portal user (through the customer portal i setup through sites) and run the page, all my reservations return FALSE for allDay__c (which is NOT correct according to their value in the database)

 

So as I was playing around I tried manually setting the value of the field after I retrieved it from the DB.  Still same thing. All values display false.

 

MY WORK AROUND: I ended up creating a Wrapper class and assigning the value of allDay__c to a Boolean inside the Wrapper.  I then read the value from the wrapper in Visualforce.  This Worked.

 

Kind of weird huh?  Any light on this subject would be awesome.

 

Thank You

 

 

  • February 20, 2010
  • Like
  • 0
I have created a page Template, and then a page using CMSforce. I have read in the usage guide how to set that page as my Home page in my site. My problem is that I need to use that page, but not as a Home page. How could I use it as a visualforce page for my site and set it in any place of my site?
  • February 17, 2010
  • Like
  • 0

Hi, I hope someone can help me with this app because I'm so excited to have found it. 

 

I downloaded it to my sandbox and am carefully following the instructions but am completely stumped when it comes to Content Blocks. 

 

If I create a new page item, it requires an entry for "ContentBlockItem" which is a lookup field but for the life of me I can't figure out where the lookup table is. 

 

Does anyone know the answer to this 

  • February 04, 2010
  • Like
  • 0

Hi Everyone,
 
   I am trying to display error msg on visualforce page when a var may cause exception.          Using <ApexPages.addMessage>  in the controller, and  <Apex:pageMessages/> on the page  is working fine when I check the value first like this.
   
    

i = 0;

if (i==0){

ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'works in if'));

return null;

}

return 5/i;

 


 
     But what I really want is to catch the exception and display this message instead of checking value first.
 
    

i = 0;

try{

return 5/i;

}catch(Exception ex){

ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'why not working here?'+ex));

return null;

}

 

 

 

      Seems this is not working, and I still get the standard error msg page complaining divided by 0. Did I miss anything here or this is how visualforce page error msg should work?

 

Thanks,

Dawn 

Message Edited by dawnzdy on 11-23-2009 07:40 PM
I'm trying to create a webform that includes product line items, but haven't been able to figure out how.  Any suggestions?

Hi,

 

I hope someone can help me with my problem concerning CMSForce and Customer Portal.

 

I have set HomePage as default Tab within Customer Portal. After login with a customer portal user I can see  the visual force page but not the content block items of the page. If I am using the same with sites everything works (without any login).

 

 It seems that the customer portal user with his profile can't see the content block items. I have no more idea what to change to make the content block items appear.

 

I have checked the debug protocol and can see that the items were queried, so the controllers run.

 

Does anyone know this issue and can help me with it?

 

Thanks,

Jochen 

Hello Sites Gurus,

 

I have a basic query regarding the Storage/Memory limitation that is enforced on a per User basis developing a Site.

 

Reading the documentation i understand that for an unlimited platform edition, 120MB is the storage limit enforced per user.

 

Now, if i have a Site which is running on a Guest login and the users can upload attachments using this Site page, then will the size keeps adding up for the Guest user in the org?

 

In this way, 120MB will be consumed in no time!! is there a way in which i can provide the upload functionality avoiding the memory limit?

 

Please correct if my understanding is wrong anywhere!

 

Thanks in advance....

Cool_D

Hi,

 

I just changed my update code from a trigger to a future class to avoid governor limits.

The trigger calls the Future Class.

Now i am getting the following error: Future method cannot be called from a future method: sluiten(LIST:Id)

I don't call a future method from a future method ... or am i ??

The trigger is not FUTURE....!?

 

TRIGGER:

trigger Sluiten_AF_Taken on Achterstallige_factuur__c (before update) { //haal Id van SYSTEM op User sys = [SELECT Id FROM User WHERE Alias =: 'SYSTE']; //Hulplijst List<Id> afact=new List<Id>(); for(Achterstallige_factuur__c af: Trigger.new){ if(af.status__c == 'Afgehandeld'){ afact.add(af.Id); } } Sluiten_AF_Taken_Handler.Sluiten(afact); }

 

FUTURE CLASS:

 

public class Sluiten_AF_Taken_Handler{ //Trigger Sluiten_AF_Taken kan niet worden gebruikt voor de bulkupdate // vandaar dat we vanuit de trigger naar deze @Future Class springen // alwaar we wel bulkupdates kunnen uitvoeren ! @Future(callout=false) public static void sluiten(List<Id> AFIDS){ //haal Id van SYSTEM op User sys = [SELECT Id FROM User WHERE Alias =: 'SYSTE']; //Hulplijst List<Task> toUpdate = new List<Task>(); List<Task> t=new List<Task>([SELECT Id, WhatId FROM Task WHERE CreatedById =: sys.Id and status != 'Afgesloten' ]); for(Id aft: AFIDS){ for(Task tk: t){ if(tk.WhatId==aft){ tk.status = 'Afgesloten'; tk.IsReminderSet = false; toUpdate.add(tk); } } } update toUpdate; } }

 

On a case we have an account name and a location name. I have set up my custom activity new butto to bring over the location name into one field

 

00T/e?
what_id={!Case.Id}
&00N80000003Au8R={!Case.Location__c}

 

This works great.

 

I want the field that I am updating to have the location name and the account name (Location - Account)

 

I tried

 

00T/e?
what_id={!Case.Id}
&00N80000003Au8R={!Case.Location__c}&&{!Case.Account}

 

This did not bring over the account. How do you concatenate two separate fields into one with Apex? 

 

Thank you in advance

  • November 04, 2009
  • Like
  • 0
SiteLogin  
SiteRegister  
SiteRegisterConfirm
 
Hello,
a few questions:
  1. may I customize graphically these std pages and apply to them the site template?
  2. If reply to 1 is 'yes': may I duplicate and rename these std pages in order to use different layouts & portals in different sites?
  3. If reply to 2 is 'yes': what that can involve? I mean, any warning?
thanks

I can embed a Visualiforce list in a dashboard.

 

I can embed a hyperlink in a visualforce page.

 

Is it possible to embed a list with a hyperlink in a visualforce component that you want to include in a Dashboard?  Specifcally I want to show a list of case numbers and their status, and have the case number be a hyperlink to the case itself, right from the dashboard........

 

I haven't seen anything that say I cannot do that, but nothing that appears to lead me to believe I can yet either.......

 

Thanks for any help on this one....

  • October 27, 2009
  • Like
  • 0

Hi all,

 

Quite a few of you have asked me about the availability of CMSForce 2.

I'm very happy to announce that you can now find it on the AppExchange. On the listing you'll find a short demo video that will get you up to speed on the new features. (central management console, folders to organize your content, in-site editing, friendly urls, ...)

 

I'll also include a shameless plug here : If you want to see it in action 'live', come to my 'Increase Lead Volume with Compelling Landing Pages' session on wed 8 at DreamForce.

 

Hope to see you there! In the meantime : if you have questions, just drop them in community boards.

 

David

 

 

Hi,

In a visualforce page I have a need for displaying picklist entries. The problem is that this field depends on another picklist field. Is there a way to get to the dependencies somehow ?

I'm stranded at :

Code:
for(Schema.PicklistEntry p:Schema.sObjectType.Case.fields.getMap().get('Dependent_Field__c').getDescribe().getPicklistValues()) {
     System.debug(p.getValue());
}

 
This gives me all the values. However, I would like to be able to single out the values that correspond to a certain value in the controlling field ...



Thanks for your help,


David
This is probably one for the guru's :

Is there any support for DIME attachments in Apex ? (I'm trying to achieve an 'Apex only' integration with Amazon S3)

So far a can list buckets, have users download files etc ... but for sending the files from the SFDC server to Amazon it looks my only valid option would be using DIME attachments in the SOAP calls.


David
Hi,


Does anyone know how to generate the correct signature for Amazon S3's soap services ?
I'm going with their docs :
http://docs.amazonwebservices.com/AmazonS3/2006-03-01/index.html?SOAPAuthentication.html

and so far I've got :

Code:
S3.AmazonS3 as3 = new S3.AmazonS3();
Datetime now = Datetime.now();


//format should be like 2006-01-01T12:00:00.000Z
String formattednow = now.formatGmt('yyyy-MM-dd')+'T'+now.formatGmt('HH:mm:ss')+'.000Z';
System.Debug('Formatted date : '+formattednow);

String canonical = 'AmazonS3'+'ListAllMyBuckets'+formattednow; //"AmazonS3" + OPERATION + Timestamp

System.debug('CANONICAL = '+canonical);

Blob bsig = Crypto.generateMac('HmacSHA1', Blob.valueOf(canonical), Blob.valueOf('myS3secretkey'));


String signature = EncodingUtil.base64Encode(bsig);

System.debug('SIGNATURE = ' + signature);

S3.ListAllMyBucketsResult result = as3.ListAllMyBuckets('myS3accesskey',now,signature);

 
I'm getting a SOAP exception back :
'SOAP Fault: The request signature we calculated does not match the signature you provided. Check your key and signing method.'


thanks,


David

Hello,


We need to make a call from apex code to an external webservice. This webservice is secured by a BASIC Http username/password and requires a client certificate. The IIS server right now trusts the salesforce client certificate.
I was wondering how (or if ?) we could use the salesforce client certificate to present to the webservice. The (pseudo) code we have right now is :

Code:
String encodedusernameandpassword;
  String HelloWorld;
  
        myStub.TestServiceSoap soap = new myStub.TestServiceSoap();
               
        soap.inputHttpHeaders_x = new Map<String, String>();
                
        String myData = 'username:password';
        Blob hash = Crypto.generateDigest('SHA1',Blob.valueOf(myData));       
        encodedusernameandpassword = EncodingUtil.base64Encode(hash);
        
        //Setting a basic authentication header
        soap.inputHttpHeaders_x.put('Authorization', 'Basic '+ encodedusernameandpassword);
        soap.clientCert_x = ????
        soap.clientCertPasswd_x = 'passwd';

        HelloWorld = soap.HelloWorld();

 
Apparently you can set the client certificate using the .inputHttpHeaders_x(...) method. Can we use the Salesforce client certificate here somehow ? (if yes : how) or do we need to create our own private certificate and have the webservice trust that one ?

thanks for your thoughts,


David
Hi,

When you use pageBlockButtons in a pageBlock, the page will display the buttons at both the top and the bottom of the pageBlock to which these buttons belong.

I wanted to disable the 'Save' button in a page untill some conditions were met using the 'disabled' attribute and rerender the button as 'enabled' whenever all checks in the controller come back ok.
Unfortunately, it seems that only the button at the top gets rerendered.

Looking at the attributes in the page I notice that both buttons got the same id but the Ajax javascript probably doesn't look for more than one match to rerender.

You can see this behaviour in the page and controller below :

<apex:page controller="buttontestController">
 
  <apex:form>
      <apex:pageblock>         
          <apex:pageblockButtons>
              <apex:commandButton value="Save" disabled="{!saveButtonDisabled}" id="savebutton"></apex:commandButton>
          </apex:pageblockButtons>
          <apex:outputlabel value="some page info"></apex:outputlabel>
          <apex:commandbutton value="Switch Save Button Rendering" action="{!someMethod}" rerender="savebutton"></apex:commandbutton>
      </apex:pageblock>
  </apex:form>
 
</apex:page>



public class buttontestController {
   
    Boolean saveButtonDisabled = false;
   
    public Boolean getSaveButtonDisabled() {
        return saveButtonDisabled;
    }
   
    public void someMethod() {
        if(saveButtonDisabled) {saveButtonDisabled = false;}
        else {saveButtonDisabled = true;}
    }

}

I guess this isn't supposed to happen ?
It's not urgent for me right now but if I come up with a workaround I'll post it here. If you've got one, feel free to do so too.


David
A simple example based on what's in the VF docs :


<apex:page standardController="Account" extensions="myControllerExtension">
    <apex:form >
        <apex:PageBlock >
            <apex:pageblockSection >
                <apex:inputField value="{!account.name}"/>  
                <apex:inputfield value="{!account.website}"/>
            </apex:pageblockSection>
            <apex:commandButton value="Custom Action" action="{!customsave}"></apex:commandButton>
        </apex:PageBlock>
    </apex:form>
</apex:page>

... and the controller extensions :


public class myControllerExtension {

    private final Account acct;
   
    // The extension constructor initializes the private member
    // variable acct by using the getRecord method from the standard
    // controller.
    public myControllerExtension(ApexPages.StandardController stdController) {
        this.acct = (Account)stdController.getRecord();
    }
   
    public PageReference customsave() {
        acct.website = 'somenewvalue';
        return null;
    }
}

I would image that the account object that's being held in the viewstate would get updated and that after the page refresh it would simply display the new in-memory value ... but it doesn't. In fact this code does nothing at all.

Am I thinking too much in 'managed beans' terms here ? What am I missing ?


Thanks,

David





Hi,


Does anyone know how to generate the correct signature for Amazon S3's soap services ?
I'm going with their docs :
http://docs.amazonwebservices.com/AmazonS3/2006-03-01/index.html?SOAPAuthentication.html

and so far I've got :

Code:
S3.AmazonS3 as3 = new S3.AmazonS3();
Datetime now = Datetime.now();


//format should be like 2006-01-01T12:00:00.000Z
String formattednow = now.formatGmt('yyyy-MM-dd')+'T'+now.formatGmt('HH:mm:ss')+'.000Z';
System.Debug('Formatted date : '+formattednow);

String canonical = 'AmazonS3'+'ListAllMyBuckets'+formattednow; //"AmazonS3" + OPERATION + Timestamp

System.debug('CANONICAL = '+canonical);

Blob bsig = Crypto.generateMac('HmacSHA1', Blob.valueOf(canonical), Blob.valueOf('myS3secretkey'));


String signature = EncodingUtil.base64Encode(bsig);

System.debug('SIGNATURE = ' + signature);

S3.ListAllMyBucketsResult result = as3.ListAllMyBuckets('myS3accesskey',now,signature);

 
I'm getting a SOAP exception back :
'SOAP Fault: The request signature we calculated does not match the signature you provided. Check your key and signing method.'


thanks,


David

This looks like a great app.  I installed it successfully, but when I got to page 8 of the installation guide “Using the CMSForce Console,” I ran into a problem.  The “Development Mode” checkboxes are not checked in my user profile, yet the CMS Console will not load.  Instead, it just says “Loading”, with a spinning refresh icon.  Does anyone know you have any idea why this would happen? 

 

Thanks

I'm running into an error installing CMSForce for a client and saw that you're an active and knowledgable member of the boards so I thought to contact you directly. We were able to install and use CMSForce in the sandbox environment and then tried to install it in Production but ran into the issue of getting an Authentication Error when trying to view the Main Template within the CMSForce Console.

 

We uninstalled at this point since we were performing other migration tasks last night and this was holding us up.

 

This morning we went back in, tried to install CMSForce again, but then ran into the error that "CMSForce" Static Resource was already in the system. (This was brought in from our UI Designer last night as part of his migration of files). When we tried to delete the CMSForce Static Resource, we got the error that it was being referenced by a Component and Pages in the system. We went ahead an commented out any time the "Resource.CMSForce" was being called. At this point we were able to delete the CMSForce Static Resource.

 

We installed again and ignored the APEX test errors (it's a common error as you probably know). We followed the customization guide to a "T" and then tried to access the CMSForce App (top-right corner of SFDC). We got an error here as well, stating that there was a Duplicate Reference 3 error? At this point we don't know what to do and need to install this for the client today. ANY help would be more than appreciated!

 

Thanks!!

Rodney

I want to use my CMSForce form to create a new record.

Is there anyway for me to get the Id for the just created record?

 

Im thinking use CMSForce for the 'basic' form fields then forward the Id to another page with

more custom form items to finish the process.

Hi,

 

I am trying to insert content into my web-page that is using a custom template. The <c:contentblock> has been defined

in the template and i can see the place to put in the conent when starting a new page.

 

The problem i that when click on this insert new content link i am redirected to the under construction page.

 

Thanks in advance Filipp

  • January 27, 2011
  • Like
  • 0

I am trying to develop a webform for a custom object and have the following situation.  The custom object is linked to multiple standard objects and other custom objects.  We have a set group of people that will be using this form.  Each person is a contact in our salesforce system and this custom object has a master-detail relationship to that contact record type.  My dilemma at this point is that I need to have an Id value associated with this reference field(master-detail to contact) in the webform and I am at a loss as to what needs to go in there.  Ideally it would be based on the person entering the data, but not the same person would be entering the data as it is a general access form.  Each of these records will be "approved" by someone internally and can make the master-detail assignment at that point if necessary, but can't figure out a way around the field as it is a required field and it won't let me create the webform without it.  Is it possible to create a webform where these people can go put a number that is associated with only them in and it pulls certain pieces of information from SF?

 

I know this is a lot in one message, but I need help desperately.

Hi,

 

When i try to installa the CRMForce 2 to my salesforce account i get the following error notification via e-mail.

 

What seems to be the error? I can't install CRMForce 2

 

Problem:

1. Apex Classes(01p200000003dCm) cmsforcesetupcontroller.t1()
System.AssertException: Assertion Failed
Class.CMSForceSetupController.t1: line 94, column 3
External entry point

2. Apex Classes(01p200000003dCv) homepagecontroller.t1()
System.NullPointerException: Attempt to de-reference a null object
Class.HomePageController.t1: line 69, column 51
External entry point



Validation Errors While Saving Record(s)

There were custom validation error(s) encountered while saving the affected
record(s). The first validation error encountered was "00D20000000IjTj:
APEX_TEST_FAILED [01p200000003dCm: cmsforcesetupcontroller.t1():
System.AssertException: Assertion Failed
Class.CMSForceSetupController.t1: line 94, column 3
External entry point, 01p200000003dCv: homepagecontroller.t1():
System.NullPointerException: Attempt to de-reference a null object
Class.HomePageController.t1: line 69, column 51
External entry point]".
  • January 26, 2011
  • Like
  • 0

Hello,

 

I'm new to the use of sites, although experienced with the salesforce.com platform generally.

 

I have followed the installation notes to install CMS Force2 and double checked to ensure it is correct.

 

I can't seem to get the links or web form submission to work. For example if I create two pages one called application form and the other called thankyou. Then on the application form I have a link to the thankyou page, linked via the lookup server and selecting the thankyou page. When I click the link I get a page not found error.

 

The same occurs when I add a webform to the application page and click the submit/save button.

 

I have scoured the forums and cannot find anything related to this error, any urgent help needed as I have a tight deadline.

 

Cheers

 

Michael

Hi,

 

I installed CMSForce on our sandbox last week and have been struggling to configure it for use since then. I see CMSForce setup page, however I do not see any buttons to submit the information regarding Site Configuration or Your Organusation. I have two sites active on my sandbox.

 

Can someone help me with finishing the setup so that I can start using CMSForce.

 

Regards,

-MrTik.

  • December 27, 2011
  • Like
  • 0

Hi,

 

I just installed the CMSForce application in our sandbox environment after initial struggle. After getting installed when I select the app from the apps dropdown, the application does not get selected. I am not sure how to fix this. David have you seen things like this in the past? How to get over this issue?

 

TIA.

 

  • December 20, 2010
  • Like
  • 0

Hi all,

 

Quite a few of you have asked me about the availability of CMSForce 2.

I'm very happy to announce that you can now find it on the AppExchange. On the listing you'll find a short demo video that will get you up to speed on the new features. (central management console, folders to organize your content, in-site editing, friendly urls, ...)

 

I'll also include a shameless plug here : If you want to see it in action 'live', come to my 'Increase Lead Volume with Compelling Landing Pages' session on wed 8 at DreamForce.

 

Hope to see you there! In the meantime : if you have questions, just drop them in community boards.

 

David

 

 

I just installed CMSForce in development as a trail before I go forth with production...

The first 6 steps of the installation process are concerning. We have way too many documents, dashboards, letterheads, workflows etc that we already have set up in Salesforce. I do not want any existing settings changed that would impact their current function.  Can you verify before I install to production? Thanks!

  1. Change the visibility settings for any installed documents, reports, dashboards, letterheads, email templates, and custom fields on standard objects. By default, these components are visible to all users. Set the Running User for any installed dashboards or analytic snapshots; by default, it is set to you.
  2. Set the Running User for any installed dashboards or analytic snapshots; by default, it is set to you.
  3. Specify the appropriate recipients for any installed workflow tasks.
  4. Specify the appropriate assignees for any installed workflow alerts.
  5. Specify the appropriate user for workflow field updates that modify the Owner field or user lookups; by default, it is set to you.
  6. Create a schedule for any installed analytic snapshots.
  7. Configure any additional settings for this package from the package detail page.
  8. Deploy the package by clicking Deploy Now below. You can also do this at any time in the future from the package detail page.
This is probably one for the guru's :

Is there any support for DIME attachments in Apex ? (I'm trying to achieve an 'Apex only' integration with Amazon S3)

So far a can list buckets, have users download files etc ... but for sending the files from the SFDC server to Amazon it looks my only valid option would be using DIME attachments in the SOAP calls.


David
Hi all,

When connecting to an external web service importing the WSDL in Apex, I get the error:

"uncaught exception: {faultcode:'soapenv:Client', faultstring:'System.CalloutException: IO Exception: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"

The problem is that the certificate of the site server is not totally valid or not widely recognized. The web service belongs to the Tax Department of the Government of Argentina, and they approve their own SSL certificates. To emit electronic invoicing in Argentina, you have to approve each invoice sending it to the web service and you get a response with an authorization number which has to be included in the invoice.

Furthermore, I need also to access another web service that is only for testing purpose and it has the same issue.

Apart from Salesforce Apex Code, this exception also happens in .NET and Java, but these environments have their own ways to bypass the exception (import and install the certificate in the local machine, parameters to accept the ssl connection anyway, and so on...).
In Salesforce Apex documentation, I only found the "Remote Site Settings" option (Setup-Security Options) where the security protocol can be disable, but the exception occurs the same.

Please if someone know if there is a way to force the connection between Salesforce and the web service. I also wonder how tests of connection between Salesforce and not full deployed web services (with own signed or no valid certificates yet) should be performed.

Thanks in advance!