Monthly Archives: January 2013

Salesforce wsc hacking: new committer

Ok, things change rapidly sometimes. The short story is that I wrote directly to the Owners of the WSC tool in order to get some information about when changes could be expected. The response was basically that they no longer … Continue reading

Posted in Personal, Salesforce | Tagged , , | Leave a comment

Salesforce wsc hacking: getting rid of SessionTimedOutException

The SoapConnection java class sports a private static inner Exception, the SessionTimedOutException. This Exception is used internally only to quickly pass control from the parseDetail() method back to the send() method. This is bad practice, using an Exception to control … Continue reading

Posted in Java, Salesforce | Tagged , , , | Leave a comment

Salesforce wsc hacking: adding RequestTimedOutException

I have a number of situations where a RequestTimedOutException would be appropriate instead of just a ConnectionException when SoapConnection.send() encounters a SocketTimeoutException. This would ease retry implementations (related to timeouts) in that they would only have to consider a special … Continue reading

Posted in Java, Salesforce | Tagged , , , | Leave a comment

Salesforce wsc hacking: removing compiler warnings

I hate compiler warnings. These little yellow warning signs in Eclipse annoys me. I will go far to avoid compiler warnings in my own code. But what about generated code? Actually generated code is the worst as it does not … Continue reading

Posted in Java, Salesforce | Tagged , , , | Leave a comment

Unit-testing time/timing dependent components

I’m often faced with developing components that are depending on time or timing, one way or the other. An example can be a query that returns all “active” rows, given current date/time and where the rows have effective and expiry … Continue reading

Posted in Java | Tagged , , , , , , | Leave a comment

SimpleDateFormat instances are not thread-safe

It comes as a surprise to many developers that SimpleDateFormat instances are not thread-safe. Sometimes I encounter utility classes like below: public class DateUtil { public static final SimpleDateFormat ISO_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd"); public static final SimpleDateFormat SQL_TIMESTAMP_FORMAT = new … Continue reading

Posted in Java | Tagged | 5 Comments

Salesforce JAXB: Using wsimport to generate client artifacts

The Salesforce developer documentation provides JAVA examples based on WSC. WSC is a nice tool that makes interfacing to SFDC simple and easy, providing an EnterpriseConnection hiding all the details in calling SFDC. But, WSC might not be for you: … Continue reading

Posted in Java, Salesforce | Tagged , , , | 2 Comments

Salesforce wsc: upsert null fields

  The salesforce upsert() callĀ  is brilliant for interfacing legacy systems with Salesforce, especially if the data you are going to replicate into already contains some sort of unique identification. It will create records that does not exist, and update … Continue reading

Posted in Java, Salesforce | Tagged , , , | Leave a comment

Salesforce wsc: ConnectionException should have been Fault

This is the first article where I discuss details or issues using wsc (JAVA) on an Oracle WebLogic platform to integrate Customer Legacy systems with Salesforce CRM. In some environments (specifically the WLS 10.3.5 used as production environment at my … Continue reading

Posted in Java, Salesforce | Tagged , , , , , | 2 Comments