Tuesday, September 10, 2013

creating SOAP fault

Force.com Custom Web Services - How to create a SOAP fault
Question:

The standard salesforce.com web services defines fault and exception code when there is an error calling the services. Can I define my own fault code and exception code when writing my custom web services? If so, can you provide some samples? Thanks a lot.

Answer:

Using Apex, you cannot explicitly create your own SOAP faults. However, SOAP faults are automatically created when an Exception is thrown. So, to create your own SOAP fault, you simply throw an Exception.

Of course, Apex doesn't allow you to throw a standard exception, so you need to create your own custom exception class to throw an exception. This isn't very hard to do. Here is very simple code to create your own exception class:

public class SOAPException extends Exception {}

That is it.

To throw the exception, you simply write:

throw new SOAPException();

Salesforce.com provides plenty of documentation on how to create the classes and throw the exceptions. The biggest thing to remember is that the custom exception class must actually have the name Exception in it. Why, I don't know, but that is the way it is.

Here is a good starting point to the documentation on custom exception classes.
http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_exception.htm

Labels

visualforce page ( 13 ) apex integration ( 5 ) apex trigger ( 4 ) csv file from vf page ( 4 ) javascript ( 4 ) csv visualforce page ( 3 ) Too many ( 2 ) call out ( 2 ) integration ( 2 ) rest api ( 2 ) salesforce rest api ( 2 ) salesforce to salesforce integration ( 2 ) sfdc rest api ( 2 ) trigger ( 2 ) 15 digit to 18 digit ( 1 ) DML rows in Apex ( 1 ) Date Conversion ( 1 ) Date/Time conversion ( 1 ) Deploy ( 1 ) Objects to Future Annotated Methods ( 1 ) SFDC limits ( 1 ) Sobject to Future Annotated Methods ( 1 ) Test Class ( 1 ) TimeZone Conversion ( 1 ) Too many dml rows ( 1 ) Too many future calls ( 1 ) annotations ( 1 ) apex code ( 1 ) closed opportunities ( 1 ) commit ( 1 ) convert ( 1 ) create records ( 1 ) csv create records ( 1 ) custom setting ( 1 ) deployment ( 1 ) deployment changeset ( 1 ) disable apex class ( 1 ) disable apex trigger ( 1 ) disable in production ( 1 ) document ( 1 ) download ( 1 ) field name ( 1 ) formula fields ( 1 ) iframe ( 1 ) inactive ( 1 ) intellisense ( 1 ) jsforce ( 1 ) limits ( 1 ) matrix report in vf page ( 1 ) multi select ( 1 ) multi select salesforce ( 1 ) multiselect ( 1 ) paypal ( 1 ) picklist ( 1 ) record type ( 1 ) rollback ( 1 ) salesforce limits ( 1 ) salesforce list ( 1 ) salesforce map ( 1 ) salesforce rest ( 1 ) salesforce set ( 1 ) salesforce1 ( 1 ) sandbox deployment ( 1 ) sfdc collection ( 1 ) sfdc list ( 1 ) sfdc map ( 1 ) sfdc rest ( 1 ) sfdc set ( 1 ) uncommitted ( 1 ) updated field ( 1 ) user ( 1 ) validation rule opportunity ( 1 ) validation rules opportunities ( 1 ) vf page ( 1 )

Ad