1

I am struggling with a weird issue. I have a Soap webservice fired from a after insert/ after update Trigger. i made my function @future to be able to make the call but the response that i have is my request. i should see the object i sent with 2 fields populated from the distant server but instead the only thing i have is the exact same object i sent with the 2 fields at null. I have tried it on Soap ui and it works like a charm. here is my code :

can any one tell me please why i dont see the response?

public class RDPRojectAndOppTriggerHelper { 
@future (callout=true)
public static void sendRdProjByWebService(Set<Id> projIds){
    Map<String,solinaGroupComEaiSalesforceSchemas.Opportunity> oppSafIdsMap = new  Map<String,solinaGroupComEaiSalesforceSchemas.Opportunity>(); 
    integer codeSafProjet = 0;
    Integer oppSafId;
    List<RDProject__c> projList = [SELECT Id,Opportunity__c FROM RDProject__c WHERE ID IN: projIds];
    Set<String> projOppIds = new Set<String>();
    String safUserId = '';
    solinaGroupComEaiSalesforceWs.BasicHttpBinding_ITwoWayAsync port = new solinaGroupComEaiSalesforceWs.BasicHttpBinding_ITwoWayAsync();
    port.clientCertName_x = 'biztalk_certificate';
    List<User> safUser = [SELECT SAF_USER_ID__c FROM User WHERE Id =: UserInfo.getUserId()];
    System.debug(loggingLevel.Error, '*** projList: ' + projList);
    for(RDProject__c proj: projList) {
        projOppIds.add(proj.Opportunity__c);
    }


    Map<ID, Opportunity> oppMap = new Map<ID, Opportunity>([SELECT Id,Account.Account_Code__c,TechHasRdProject__c,Account.IDMDM__c,Account.Name,
     Action_type__c,Amount,CloseDate,CreatedById,CreatedDate,CurrencyIsoCode,
     Description,Feasability__c,InitialEstimatedFirstOrderDate__c,LastModifiedById,
     LastModifiedDate,Name,OpportunityCode__c,Probability,OpportunityStatusReason__c,
     SAF_Opportunity_ID__c,StageName,StatusRemarks__c,Type,Predicted_Solution_Group_Family__r.Family_Code__c,
     Predicted_Solution_Group_Family__r.Global_family_type__c,Predicted_Solution_Group_Family__r.IDMDM__c,
     Predicted_Solution_Main_Family__r.Family_Code__c,Predicted_Solution_Main_Family__r.IDMDM__c
     FROM Opportunity WHERE Id IN: projOppIds]); 

    for(Opportunity opp: oppMap.Values()) {
        if (!safUser.isEmpty()) {
          safUserId = safUser[0].SAF_USER_ID__c;
      }  
      System.debug(loggingLevel.Error, '*** opp: ' + opp);
      if (opp.SAF_Opportunity_ID__c != null) {
          oppSafId = Integer.valueOf(opp.SAF_Opportunity_ID__c);
      }
      if (opp.TechHasRdProject__c>0) {
          //try {
            solinaGroupComEaiSalesforceSchemas.Opportunity output = port.ProcessOpportunityIn(
                opp.Account.Account_Code__c,
                opp.Account.IDMDM__c,
                opp.Account.Name,
                opp.Action_type__c,
                opp.Amount,
                opp.CloseDate,
                String.ValueOf(opp.CreatedById),
                opp.CreatedDate,
                opp.CurrencyIsoCode,
                false,
                opp.Description,
                opp.Feasability__c,
                String.ValueOf(opp.Id),
                opp.InitialEstimatedFirstOrderDate__c,
                String.ValueOf(opp.LastModifiedById),
                opp.LastModifiedDate,
                opp.Name,
                opp.OpportunityCode__c,
                opp.OpportunityStatusReason__c,
                String.ValueOf(opp.Probability),
                opp.Predicted_Solution_Group_Family__r.Family_Code__c,
                String.valueOf(opp.Predicted_Solution_Group_Family__r.Global_family_type__c),
                Integer.valueOf(opp.Predicted_Solution_Group_Family__r.IDMDM__c),
                opp.Predicted_Solution_Main_Family__r.Family_Code__c,
                Integer.valueOf(opp.Predicted_Solution_Main_Family__r.IDMDM__c),
                oppSafId,
                safUserId,
                opp.StageName,
                opp.StatusRemarks__c,
                opp.Type);
            if (output.SAF_Opportunity_Id != null) {
                oppSafIdsMap.put(output.Id,output);
            }    
            System.debug(loggingLevel.Error, '*** output: ' + output.SAF_Opportunity_Id); 
            System.debug(loggingLevel.Error, '*** output: ' + output.Id);      
          //}
          //catch (exception e) {  
          //}    
      }
  }
  if (!oppSafIdsMap.isEmpty()) {
    Set<String> oppSafIds = new Set<String>();
    Set<String> idset = oppSafIdsMap.keySet();
    for(String sObj: oppSafIds) {
        oppSafIds.add(String.valueOf(oppSafIdsMap.get(sObj).SAF_Opportunity_Id));
    }
    List<Opportunity> oppToUpdate = [SELECT Id,SAF_Opportunity_ID__c FROM Opportunity WHERE Id IN:idset AND SAF_Opportunity_ID__c NOT IN: oppSafIds];
    if (!oppToUpdate.isEmpty()) {
        for(Opportunity sObj: oppToUpdate) {
            sObj.SAF_Opportunity_ID__c = String.valueOf(oppSafIdsMap.get(sObj.Id).SAF_Opportunity_Id);
            sObj.OpportunityCode__c = String.valueOf(oppSafIdsMap.get(sObj.Id).OPPORTUNITYCODE_xC);
        }
        update oppToUpdate; 
    }
} 

List<RDProject__c> projList2 = [SELECT Id,CreatedById,CreatedDate,Opportunity__c,LastModifiedById,Name,Opportunity__r.OpportunityCode__c,ProjectCode__c,SAF_Project_ID__c FROM RDProject__c WHERE ID IN: projIds];

for(RDProject__c proj: projList2) {
    if (proj.SAF_Project_ID__c != null) {
        codeSafProjet = Integer.ValueOf(proj.SAF_Project_ID__c);
    }
        if (oppMap.get(proj.Opportunity__c).SAF_Opportunity_ID__c != null) {
          oppSafId = Integer.ValueOf(oppMap.get(proj.Opportunity__c).SAF_Opportunity_ID__c);
      }
    solinaGroupComEaiSalesforceSchemas.Project outputproj = port.ProcessProjectIn(
        String.ValueOf(proj.CreatedById),
        proj.CreatedDate,
        String.ValueOf(proj.Opportunity__c),
        String.ValueOf(proj.Id),
        safUserId,
        proj.Name,
        proj.Opportunity__r.OpportunityCode__c,
        proj.ProjectCode__c,
        oppSafId,
        codeSafProjet);
System.debug(loggingLevel.Error, '*** outputproj: ' + outputproj);
}

}

@future (callout=true)
public static void sendOppByWebService(Set<Id> oppIds){
Map<String,solinaGroupComEaiSalesforceSchemas.Opportunity> oppSafIdsMap = new  Map<String,solinaGroupComEaiSalesforceSchemas.Opportunity>();
integer codeSafProjet = 0;
Integer oppSafId;
String safUserId = '';
solinaGroupComEaiSalesforceWs.BasicHttpBinding_ITwoWayAsync port = new solinaGroupComEaiSalesforceWs.BasicHttpBinding_ITwoWayAsync();
port.clientCertName_x = 'biztalk_certificate';
List<User> safUser = [SELECT SAF_USER_ID__c FROM User WHERE Id =: UserInfo.getUserId()];


Map<ID, Opportunity> oppMap = new Map<ID, Opportunity>([SELECT Id,TechHasRdProject__c,Account.Account_Code__c,Account.IDMDM__c,Account.Name,
   Action_type__c,Amount,CloseDate,CreatedById,CreatedDate,CurrencyIsoCode,
   Description,Feasability__c,InitialEstimatedFirstOrderDate__c,LastModifiedById,
   LastModifiedDate,Name,OpportunityCode__c,Probability,OpportunityStatusReason__c,
   SAF_Opportunity_ID__c,StageName,StatusRemarks__c,Type,Predicted_Solution_Group_Family__r.Family_Code__c,
   Predicted_Solution_Group_Family__r.Global_family_type__c,Predicted_Solution_Group_Family__r.IDMDM__c,
   Predicted_Solution_Main_Family__r.Family_Code__c,Predicted_Solution_Main_Family__r.IDMDM__c
   FROM Opportunity WHERE Id IN: oppIds]); 

for(Opportunity opp: oppMap.Values()) {
    if (!safUser.isEmpty()) {
      safUserId = safUser[0].SAF_USER_ID__c;
  }  
  if (opp.SAF_Opportunity_ID__c != null) {
      oppSafId = Integer.valueOf(opp.SAF_Opportunity_ID__c);
  }
  if (opp.TechHasRdProject__c>0) {
          //try {
            solinaGroupComEaiSalesforceSchemas.Opportunity output = port.ProcessOpportunityIn(
                opp.Account.Account_Code__c,
                opp.Account.IDMDM__c,
                opp.Account.Name,
                opp.Action_type__c,
                opp.Amount,
                opp.CloseDate,
                String.ValueOf(opp.CreatedById),
                opp.CreatedDate,
                opp.CurrencyIsoCode,
                false,
                opp.Description,
                opp.Feasability__c,
                String.ValueOf(opp.Id),
                opp.InitialEstimatedFirstOrderDate__c,
                String.ValueOf(opp.LastModifiedById),
                opp.LastModifiedDate,
                opp.Name,
                opp.OpportunityCode__c,
                opp.OpportunityStatusReason__c,
                String.ValueOf(opp.Probability),
                opp.Predicted_Solution_Group_Family__r.Family_Code__c,
                String.valueOf(opp.Predicted_Solution_Group_Family__r.Global_family_type__c),
                Integer.valueOf(opp.Predicted_Solution_Group_Family__r.IDMDM__c),
                opp.Predicted_Solution_Main_Family__r.Family_Code__c,
                Integer.valueOf(opp.Predicted_Solution_Main_Family__r.IDMDM__c),
                oppSafId,
                safUserId,
                opp.StageName,
                opp.StatusRemarks__c,
                opp.Type);
            if (output.SAF_Opportunity_Id != null) {
                oppSafIdsMap.put(output.Id,output);
            }    
            System.debug(loggingLevel.Error, '*** output: ' + output.SAF_Opportunity_Id); 
            System.debug(loggingLevel.Error, '*** output: ' + output.Id);      
          //}
          //catch (exception e) {  
          //}    
      }
  }
  if (!oppSafIdsMap.isEmpty()) {
    Set<String> oppSafIds = new Set<String>();
    Set<String> idset = oppSafIdsMap.keySet();
    for(String sObj: oppSafIds) {
        oppSafIds.add(String.valueOf(oppSafIdsMap.get(sObj).SAF_Opportunity_Id));
    }
    List<Opportunity> oppToUpdate = [SELECT Id,SAF_Opportunity_ID__c FROM Opportunity WHERE Id IN:idset AND SAF_Opportunity_ID__c NOT IN: oppSafIds];
    if (!oppToUpdate.isEmpty()) {
        for(Opportunity sObj: oppToUpdate) {
            sObj.SAF_Opportunity_ID__c = String.valueOf(oppSafIdsMap.get(sObj.Id).SAF_Opportunity_Id);
            sObj.OpportunityCode__c = String.valueOf(oppSafIdsMap.get(sObj.Id).OPPORTUNITYCODE_xC);
        }
        update oppToUpdate; 
    }
} 

} }

//Generated by wsdl2apex
public class solinaGroupComEaiSalesforceWs {
public class BasicHttpBinding_ITwoWayAsync {
    public String endpoint_x = 'https://service1-dev.solina-group.fr/EAI-Salesforce-WS/WcfService_Solina_EAI_Salesforce.svc';
    public Map<String,String> inputHttpHeaders_x;
    public Map<String,String> outputHttpHeaders_x;
    public String clientCertName_x = 'biztalk_certificate';
    public String clientCert_x;
    public String clientCertPasswd_x;
    public Integer timeout_x;
    private String[] ns_map_type_info = new String[]{'http://solina-group.com/EAI/Salesforce/WS', 'solinaGroupComEaiSalesforceWs', 'http://solina-group.com/EAI/Salesforce/schemas/', 'solinaGroupComEaiSalesforceSchemas', 'http://solina-group.com/EAI/Salesforce/WS/Imports', 'solinaGroupComEaiSalesforceWsImpor', 'http://schemas.microsoft.com/Message', 'schemasMicrosoftComMessage'};

    public solinaGroupComEaiSalesforceSchemas.Opportunity ProcessOpportunityIn(String Account_Code_xc,String Account_IDMDM,String AccountName,String ActionType,Decimal AMOUNT,Date CLOSEDATE,String CREATEDBYID,DateTime CREATEDDATE,String CURRENCYISOCODE,Boolean DEACTIVATED,String DESCRIPTION,String FEASIBILITY_xC,String ID,Date INITIALESTIMATEDFIRSTORDERDATE_xC,String LASTMODIFIEDBYID,DateTime LASTMODIFIEDDATE,String NAME,String OPPORTUNITYCODE_xC,String OPPORTUNITYSTATUSREASON_xC,String PROBABILITY,String PROPOSEDSOLUTIONCLUSTER_xCODE,String PROPOSEDSOLUTIONCLUSTER_xGLOBALFAMTYPE,Integer PROPOSEDSOLUTIONCLUSTER_xIDMDM,String PROPOSEDSOLUTIONFAMILY_xCODE,Integer PROPOSEDSOLUTIONFAMILY_xIDMDM,Integer SAF_Opportunity_Id,String SAF_USER_ID_xC,String STAGENAME,String STATUSREMARKS_xC,String TYPE_x) {
        solinaGroupComEaiSalesforceSchemas.Opportunity request_x = new solinaGroupComEaiSalesforceSchemas.Opportunity();
        request_x.Account_Code_xc = Account_Code_xc;
        request_x.Account_IDMDM = Account_IDMDM;
        request_x.AccountName = AccountName;
        request_x.ActionType = ActionType;
        request_x.AMOUNT = AMOUNT;
        request_x.CLOSEDATE = CLOSEDATE;
        request_x.CREATEDBYID = CREATEDBYID;
        request_x.CREATEDDATE = CREATEDDATE;
        request_x.CURRENCYISOCODE = CURRENCYISOCODE;
        request_x.DEACTIVATED = DEACTIVATED;
        request_x.DESCRIPTION = DESCRIPTION;
        request_x.FEASIBILITY_xC = FEASIBILITY_xC;
        request_x.ID = ID;
        request_x.INITIALESTIMATEDFIRSTORDERDATE_xC = INITIALESTIMATEDFIRSTORDERDATE_xC;
        request_x.LASTMODIFIEDBYID = LASTMODIFIEDBYID;
        request_x.LASTMODIFIEDDATE = LASTMODIFIEDDATE;
        request_x.NAME = NAME;
        request_x.OPPORTUNITYCODE_xC = OPPORTUNITYCODE_xC;
        request_x.OPPORTUNITYSTATUSREASON_xC = OPPORTUNITYSTATUSREASON_xC;
        request_x.PROBABILITY = PROBABILITY;
        request_x.PROPOSEDSOLUTIONCLUSTER_xCODE = PROPOSEDSOLUTIONCLUSTER_xCODE;
        request_x.PROPOSEDSOLUTIONCLUSTER_xGLOBALFAMTYPE = PROPOSEDSOLUTIONCLUSTER_xGLOBALFAMTYPE;
        request_x.PROPOSEDSOLUTIONCLUSTER_xIDMDM = PROPOSEDSOLUTIONCLUSTER_xIDMDM;
        request_x.PROPOSEDSOLUTIONFAMILY_xCODE = PROPOSEDSOLUTIONFAMILY_xCODE;
        request_x.PROPOSEDSOLUTIONFAMILY_xIDMDM = PROPOSEDSOLUTIONFAMILY_xIDMDM;
        request_x.SAF_Opportunity_Id = SAF_Opportunity_Id;
        System.debug(loggingLevel.Error, '*** request_x.SAF_Opportunity_Id: ' + request_x.SAF_Opportunity_Id);
        request_x.SAF_USER_ID_xC = SAF_USER_ID_xC;
        request_x.STAGENAME = STAGENAME;
        request_x.STATUSREMARKS_xC = STATUSREMARKS_xC;
        request_x.TYPE_x = TYPE_x;
        solinaGroupComEaiSalesforceSchemas.Opportunity response_x;
        Map<String, solinaGroupComEaiSalesforceSchemas.Opportunity> response_map_x = new Map<String, solinaGroupComEaiSalesforceSchemas.Opportunity>();
        response_map_x.put('response_x', response_x);
        WebServiceCallout.invoke(
          this,
          request_x,
          response_map_x,
          new String[]{endpoint_x,
          'ProcessOpportunityIn',
          'http://solina-group.com/EAI/Salesforce/schemas/',
          'Opportunity',
          'http://solina-group.com/EAI/Salesforce/schemas/',
          'Opportunity',
          'solinaGroupComEaiSalesforceSchemas.Opportunity'}
        );
        System.debug(loggingLevel.Error, '*** response_map_x: ' + response_map_x);
        response_x = response_map_x.get('response_x');
        System.debug(loggingLevel.Error, '*** response_x opp: ' + response_x.SAF_Opportunity_Id);
        System.debug(loggingLevel.Error, '*** response_x OPPORTUNITYCODE_xC opp: ' + response_x);
        return response_x;
    }
    public solinaGroupComEaiSalesforceSchemas.Project ProcessProjectIn(String CreatedById,DateTime CreatedDate,String IdOpportunity,String IdProject,String LastModifiedById,String Name,String OpportunityCode_xc,String ProjectCode_xc,Integer SAF_Id_opportunity,Integer SAF_Id_project) {
        solinaGroupComEaiSalesforceSchemas.Project request_x = new solinaGroupComEaiSalesforceSchemas.Project();
        request_x.CreatedById = CreatedById;
        request_x.CreatedDate = CreatedDate;
        request_x.IdOpportunity = IdOpportunity;
        request_x.IdProject = IdProject;
        request_x.LastModifiedById = LastModifiedById;
        request_x.Name = Name;
        request_x.OpportunityCode_xc = OpportunityCode_xc;
        request_x.ProjectCode_xc = ProjectCode_xc;
        request_x.SAF_Id_opportunity = SAF_Id_opportunity;
        request_x.SAF_Id_project = SAF_Id_project;
        solinaGroupComEaiSalesforceSchemas.Project response_x;
        Map<String, solinaGroupComEaiSalesforceSchemas.Project> response_map_x = new Map<String, solinaGroupComEaiSalesforceSchemas.Project>();
        response_map_x.put('response_x', response_x);
        WebServiceCallout.invoke(
          this,
          request_x,
          response_map_x,
          new String[]{endpoint_x,
          'ProcessProjectIn',
          'http://solina-group.com/EAI/Salesforce/schemas/',
          'Project',
          'http://solina-group.com/EAI/Salesforce/schemas/',
          'Project',
          'solinaGroupComEaiSalesforceSchemas.Project'}
        );
        response_x = response_map_x.get('response_x');
        System.debug(loggingLevel.Error, '*** response_x proj: ' + response_x);
        return response_x;
    }
    public solinaGroupComEaiSalesforceSchemas.ProjectVersion ProcessProjectVersionIn(wrapper projVersion) {
        solinaGroupComEaiSalesforceSchemas.ProjectVersion request_x = new solinaGroupComEaiSalesforceSchemas.ProjectVersion();
        request_x.Application_xc = projVersion.Application;
        request_x.CompanyRDCenter_xc = projVersion.CompanyRDCenter;
        request_x.CreatedBy = projVersion.CreatedBy;
        request_x.CurrencyIsoCode = projVersion.CurrencyIsoCode;
        request_x.CustomerExclusivity_xc = projVersion.CustomerExclusivity;
        request_x.CustomerProductDescription_xc = projVersion.CustomerProductDescription;
        request_x.DeadLine_xc = projVersion.DeadLine;
        request_x.EndDate_xc = projVersion.EndDate;
        request_x.ExtensionofDeadLine_xc = projVersion.ExtensionofDeadLine;
        request_x.GateKeeper_xc = projVersion.GateKeeper;
        request_x.IdOpportunity = projVersion.IdOpportunity;
        request_x.IdProject = projVersion.IdProject;
        request_x.IdProjectVersion = projVersion.IdProjectVersion;
        request_x.Imperativedeadline_xc = projVersion.Imperativedeadline;
        request_x.LastModifiedBy = projVersion.LastModifiedBy;
        request_x.MDM_ID_ITEM_ToBeModified = projVersion.MDM_ID_ITEM_ToBeModified;
        request_x.Name = projVersion.Name;
        request_x.OpportunityCode_xc = projVersion.OpportunityCode;
        request_x.Owner = projVersion.Owner;
        request_x.PotentialCurrency_xc = projVersion.PotentialCurrency;
        request_x.PotentialVolume_xc = projVersion.PotentialVolume;
        request_x.ProductMatchProducer_xc = projVersion.ProductMatchProducer;
        request_x.ProductMatchProductName_xc = projVersion.ProductMatchProductName;
        request_x.ProductMatchProductReference_xc = projVersion.ProductMatchProductReference;
        request_x.ProductMatchSampledate_xc = projVersion.ProductMatchSampledate;
        request_x.ProductMatchsamplegivenby_xc = projVersion.ProductMatchsamplegivenby;
        request_x.ProductMatchsamplegivento_xc = projVersion.ProductMatchsamplegivento;
        request_x.ProductMatchSpecification_xc = projVersion.ProductMatchSpecification;
        request_x.ProjectDetail_xc = projVersion.ProjectDetail;
        request_x.ProjectStatus_xc = projVersion.ProjectStatus;
        request_x.Raw_material_cost_xc = projVersion.Raw_material_cost;
        request_x.ReasonofExtensionofDeadLine_xc = projVersion.ReasonofExtensionofDeadLine;
        request_x.Requirements_xc = projVersion.Requirements;
        request_x.SAF_Id_opportunity = projVersion.SAF_Id_opportunity;
        //request_x.SAF_Id_project = projVersion.SAF_Id_project;
        //request_x.SAF_Id_project_version = projVersion.SAF_Id_project_version;
        request_x.Saf_Project_Code_xc = projVersion.Saf_Project_Code;
        request_x.SAFProjectVersionCode_xc = projVersion.SAFProjectVersionCode;
        //request_x.Sampleleft_xc = projVersion.Sampleleft;
        request_x.SamplepreparationImperative_xc = projVersion.SamplepreparationImperative;
        request_x.SamplepreparationOtherdocument_xc = projVersion.SamplepreparationOtherdocument;
        request_x.SamplepreparationOtherdocumentText_xc = projVersion.SamplepreparationOtherdocumentText;
        request_x.SamplepreparationPriceoffer_xc = projVersion.SamplepreparationPriceoffer;
        request_x.SamplepreparationQuantity_xc = projVersion.SamplepreparationQuantity;
        request_x.SamplepreparationQuantityUnit_xc = projVersion.SamplepreparationQuantityUnit;
        request_x.SamplepreparationSolinaSpec_xc = projVersion.SamplepreparationSolinaSpec;
        request_x.SamplePreparationSpecifictext_xc = projVersion.SamplePreparationSpecifictext;
        request_x.SolinaProductFunctionnality_xc = projVersion.SolinaProductFunctionnality;
        request_x.SolinaProducttobemodified_xc = projVersion.SolinaProducttobemodified;
        //request_x.TotalRDhours_xc = projVersion.TotalRDhours;
        request_x.TypeofRDProject_xc = projVersion.TypeofRDProject;
        request_x.Typeofshipmentletter_xc = projVersion.Typeofshipmentletter;
        request_x.Unit_xc = projVersion.Unit;
        solinaGroupComEaiSalesforceSchemas.ProjectVersion response_x;
        Map<String, solinaGroupComEaiSalesforceSchemas.ProjectVersion> response_map_x = new Map<String, solinaGroupComEaiSalesforceSchemas.ProjectVersion>();
        response_map_x.put('response_x', response_x);
        WebServiceCallout.invoke(
          this,
          request_x,
          response_map_x,
          new String[]{endpoint_x,
          'ProcessProjectVersionIn',
          'http://solina-group.com/EAI/Salesforce/schemas/',
          'ProjectVersion',
          'http://solina-group.com/EAI/Salesforce/schemas/',
          'ProjectVersion',
          'solinaGroupComEaiSalesforceSchemas.ProjectVersion'}
        );
        response_x = response_map_x.get('response_x');
        return response_x;
    }
}

   public class wrapper {
    public String Application;
    public String CompanyRDCenter;
    public String CreatedBy;
    public String CurrencyIsoCode;
    public Boolean CustomerExclusivity;
    public String CustomerProductDescription;
    public Date DeadLine;
    public Date EndDate;
    public Date ExtensionofDeadLine;
    public String GateKeeper;
    public String IdOpportunity;
    public String IdProject;
    public String IdProjectVersion;
    public Boolean Imperativedeadline;
    public String LastModifiedBy;
    public Integer MDM_ID_ITEM_ToBeModified;
    public String Name;
    public String OpportunityCode;
    public String Owner;
    public Decimal PotentialCurrency;
    public Decimal PotentialVolume;
    public String ProductMatchProducer;
    public String ProductMatchProductName;
    public String ProductMatchProductReference;
    public Date ProductMatchSampledate;
    public String ProductMatchsamplegivenby;
    public String ProductMatchsamplegivento;
    public Boolean ProductMatchSpecification;
    public String ProjectDetail;
    public String ProjectStatus;
    public Decimal Raw_material_cost;
    public String ReasonofExtensionofDeadLine;
    public String Requirements;
    public Integer SAF_Id_opportunity;
    public String SAF_Id_project;
    public String SAF_Id_project_version;
    public String Saf_Project_Code;
    public String SAFProjectVersionCode;
    public Date Sampleleft;
    public Boolean SamplepreparationImperative;
    public Boolean SamplepreparationOtherdocument;
    public String SamplepreparationOtherdocumentText;
    public Boolean SamplepreparationPriceoffer;
    public Double SamplepreparationQuantity;
    public String SamplepreparationQuantityUnit;
    public Boolean SamplepreparationSolinaSpec;
    public String SamplePreparationSpecifictext;
    public String SolinaProductFunctionnality;
    public String SolinaProducttobemodified;
    public Decimal TotalRDhours;
    public String TypeofRDProject;
    public String Typeofshipmentletter;
    public String Unit;
}

}

  • I don't think you can call @Future method from trigger. – Rohit Mourya Mar 2 '17 at 10:10
  • everything until getting the response works quite fine. in the logs i can see that the callouts are made. and when i send the same webservice with a field to the wrong format i see an error sent by the distant server telling me that the format is wrong. so my guess is i am able to receive a response but i don't know why i can read it in my logs – user3660692 Mar 2 '17 at 10:18
0

after hours of reading hundreds of logs i have found the answer. since i am mapping my Opportunity fieds to the object i am sending via Webservice, When my Opportunity field is empty the object field is sent with a null value. In the other side they are not handeling null values only empty fields. for that the webservice works fine but since the value is not empty it is sent back with the value i have sent.

I hope this issue will help others

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.