function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
rjkrjk 

Perl implementation: Sforce::Sfdc v0.04

Here's the new version of the Sforce::Sfdc module.

http://www.focalex.com/sforce/Sforce-Sfdc-0.04.tar.gz

Changes:

Added $Sforce::Sfdc::err and the err() method for access to Sforce numeric fault codes
Added print_error and raise_error options, as in DBI
Added private _error() method for setting errors and handling print_error and raise_error
Added wantarray() support to query() method
Added and updated tests
Updated documentation


Please download it, try it out, and send me your feedback.

Issues I'm currently thinking about:

1) Switching from XML-RPC to SOAP, as Salesforce has said they'll be focusing development on the SOAP API from now on.

2) Should the error message resulting from raise_error and print_error include the numeric fault code in addition to the error string? That will make looking up errors in the documentation easier.

3) More featues that I should add. Suggestions?


Thanks to Ron Hess and anagram for feedback and patches!
adamgadamg
Take a look at Byrne's SOAP based toolkit - it would be great to combine efforts as you move to SOAP.
rjkrjk

adamg wrote:
Take a look at Byrne's SOAP based toolkit - it would be great to combine efforts as you move to SOAP.



Thanks. Where would I find that?
adamgadamg

http://www.majordojo.com/salesforce/

You'll need to take a look at the salesforce.pm module and update the SOAP endpoint; I've got it working and can post some samples in a bit.

anagramanagram
Hi Ronald-
Have been using 0.04 for a while now with no problems but something just came up. A user tried to log in who has a password that is entirely numeric and salesforce reported "password must be a string". The solution was to add

$args{'password'} = type(string => $args{'password'});

in sub login() to set the type appropriately. I also added
$args{'username'} = type(string => $args{'username'});
for kicks.

There probably aren't any other places that this needs to be done since autotype should take care of it, but its worth a look.

Regarding your other questions:
1) SOAP is the way to go. Everyone I speak with at SF tells me the same thing.
2) I don't use these, but I think the fault codes would be useful. The more info the better.

Best regards,
Nicholas