You need to sign in to do that
Don't have an account?

Integration - SOAP and Classic Email Template
Hi all,
i'm trying to build this solution (if it has sense).
Scenario: generate a default Mail for quote on Case Feed using web service SOAP and Classic Email Template.
I already have the web service and a classic email template, but i don't know how handle the soap response to generate the mail with data obtained.
Callout Method to external service
Bye,
Paolo.
i'm trying to build this solution (if it has sense).
Scenario: generate a default Mail for quote on Case Feed using web service SOAP and Classic Email Template.
I already have the web service and a classic email template, but i don't know how handle the soap response to generate the mail with data obtained.
Callout Method to external service
public void callQuoteService(Datetime dateFrom, Datetime dateTo, String npaxString, String tipoRisorsa, String extraString, String idLingua, String campingCode){ String body = generateRequestBody(dateFrom, dateTo, npaxString, tipoRisorsa, extraString, idLingua); //Note: it is not possible to use the standard WSDL2APEX generator because the WSDL from SGS contains s:any blocks, //whìch are not supported HttpRequest soapRequest = this.createSoapRequest(campingCode,body); Http http = new Http(); HTTPResponse res = http.send(soapRequest); if (res.getStatusCode()==200){ Trattamento result = TrattamentoXmlParser.parser(res.getBody()); System.debug(result); } }
global class JK_AutomaticCaseMail implements QuickAction.QuickActionDefaultsHandler { Case currentCase = new Case(); // Constructor public JK_AutomaticCaseMail() { SERVICE_GenerateQuote requestData = new SERVICE_GenerateQuote(); currentCase = [SELECT CaseNumber, data_di_partenza__c, data_di_arrivo__c, Tipologia_Richiesta__c, Campeggio__r.IdSGS__c FROM Case WHERE Id=:sendEmailDefault.getContextId()]; Date dateFrom = currentCase.data_di_partenza__c; Date dateTo = currentCase.data_di_arrivo__c; // npax String tipoRisorsa = currentCase.Tipologia_Richiesta__c; // extraString // idLingua String campingCode = current.Case.Campeggio__r.IdSGS__c; requestData.callQuoteService(dateFrom, dateTo, npaxString, tipoRisorsa, extraString, idLingua, campingCode); /** i don't know how to handle the response after callQuoteService. **/ } // Init mail template global void onInitDefaults(QuickAction.QuickActionDefaults[] defaults) { QuickAction.SendEmailQuickActionDefaults sendEmailDefault = (QuickAction.SendEmailQuickActionDefaults)defaults.get(0); EmailTemplate em = [Select Id,HtmlValue from EmailTemplate where name ='JK_Template_MailToCustomer']; if (sendEmailDefaults != null && currentCase.CaseNumber != null) { EmailMessage emailMessage = (EmailMessage)sendEmailDefaults.getTargetSObject(); emailMessage.BccAddress = c.ContactEmail; if (sendEmailDefault.getInReplyToId() == null) { Integer emailCount = [SELECT count() FROM EmailMessage WHERE ParentId=:sendEmailDefaults.getContextId()]; if (emailCount!= null && emailCount > 0) { sendEmailDefault.setTemplateId( getTemplateIdHelper('Automatic_Response')); } else { sendEmailDefault.setTemplateId( getTemplateIdHelper('New_Case_Created')); } sendEmailDefault.setInsertTemplateBody(false); sendEmailDefault.setIgnoreTemplateSubject(false); } else { sendEmailDefault.setTemplateId( getTemplateIdHelper('Default_reply_template')); sendEmailDefault.setInsertTemplateBody(false); sendEmailDefault.setIgnoreTemplateSubject(true); } } } }
Bye,
Paolo.