• kerlvine dussoye
  • NEWBIE
  • 0 Points
  • Member since 2015

  • Chatter
    Feed
  • 0
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 4
    Replies
Hi, 
The content of my WSDL is as such:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www........">
<soapenv:Header/>
<soapenv:Body>
<sch:InsertValueRequest>
<credential>
<userName> </userName>
<password> </password>
</credential>
<ActorVO>
    <value1> </value1>
    <value2> </value2>
    <value3> </value3>
    <value4> </value4>    
</ActorVO>
<sch:InsertValueRequest>
All the apex class was generated successfully with the WSDL. A class was created which contain the credential parameter and one which contain the values.

The problem I am facing is that when I send the request, the request is generated without the credential part, hence no request is done between the external service and salesforce. How can I modify my request being it is send?

Viewed from the debug log, i noticed the request is generated as such : 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www........">
<soapenv:Header/>
<soapenv:Body>
<sch:InsertValueRequest>
<values>
<value1> </value1>
<value2> </value2>
<value3> </value3>
<value4> </value4>
</values>
<sch:InsertValueRequest>

Below is my sample class: 

public class ActorSchema {
    public class Credential {
            public String userName;
            public String password;
            private String[] userName_type_info = new String[]{'userCode','http://.......',null,'0','1','true'};
            private String[] password_type_info = new String[]{'password','http://.....',null,'0','1','true'};        
            private String[] field_order_type_info = new String[]{'userName','password'};
        }
        
    public class ActorVO {
        public String value1;
        public String value1;
        public String value1;
        public String value1;
        private String[] apex_schema_type_info = new String[]{'http://......','false','false'};
        private String[] field_order_type_info = new String[]{'value1','value2','value3','value4'};
    }    
}


public class ActorActorimport {
    public class InsertActorResponse_element {
        public ActorSchema.ActorVO actorVO;        
        private String[] actorVO_type_info = new String[]{'actorVO','http://......',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://......','true','false'};
        private String[] field_order_type_info = new String[]{'actorVO'};
    }
    public class InsertActorRequest_element {
        public ActorSchema.ActorVO actorVO;
        private String[] actorVO_type_info = new String[]{'actorVO','http://.....',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://.....','false','false'};
        private String[] field_order_type_info = new String[]{'actorVO'};            
    }
    
    public ActorSchema.ActorVO InsertActor(ActorSchema.ActorVO actorVO) {
                ActorActorimport.InsertActorRequest_element request_x = new ActorActorimport.InsertActorRequest_element();                        
                request_x.actorVO = actorVO;           
                ActorActorimport.InsertActorResponse_element response_x;
                Map<String, ActorActorimport.InsertActorResponse_element> response_map_x = new Map<String, ActorActorimport.InsertActorResponse_element>();            
                response_map_x.put('response_x', response_x);
                WebServiceCallout.invoke(
                  this,
                  request_x,
                  response_map_x,
                  new String[]{endpoint_x, '','http://......', 'InsertActorRequest', 'http://......','InsertActorResponse','ActorActorimport.InsertActorResponse_element'}
                );
                response_x = response_map_x.get('response_x');            
                return response_x.actorVO;
            }
}

=============My Request==========
ActorActorImport.ActorImportServicePort test1 = new ActorActorImport.ActorImportServicePort();
test1.clientCert_x = ' ';
//test1.clientCertName_x = ' ';
test1.clientCertPasswd_x = ' ';
test1.endpoint_x = 'http://......';
test1.timeout_x = 50000;
 
ActorSchema.ActorVO actorVo = new ActorSchema.ActorVO();
actorVo.value1 = 'val1';
actorVo.value2 = 'val2';
actorVo.value3 = 'val3';
actorVo.value4 = 'val4';

test1.InsertActor(actorVo);

Please help!!!
Hi,

I don't received email verification code anymore and this is troublesome for me. Something must have changed some days ago cause I did received email notification code before.  Email-Based Identity Confirmation is uncheck on my admin profile.
I tried to activate it by permission set. I created a custom admin profile. Nothing works!!! What should I do? Email verification code is important for me. Please advice.
Thanks.
Hi, 
The content of my WSDL is as such:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www........">
<soapenv:Header/>
<soapenv:Body>
<sch:InsertValueRequest>
<credential>
<userName> </userName>
<password> </password>
</credential>
<ActorVO>
    <value1> </value1>
    <value2> </value2>
    <value3> </value3>
    <value4> </value4>    
</ActorVO>
<sch:InsertValueRequest>
All the apex class was generated successfully with the WSDL. A class was created which contain the credential parameter and one which contain the values.

The problem I am facing is that when I send the request, the request is generated without the credential part, hence no request is done between the external service and salesforce. How can I modify my request being it is send?

Viewed from the debug log, i noticed the request is generated as such : 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www........">
<soapenv:Header/>
<soapenv:Body>
<sch:InsertValueRequest>
<values>
<value1> </value1>
<value2> </value2>
<value3> </value3>
<value4> </value4>
</values>
<sch:InsertValueRequest>

Below is my sample class: 

public class ActorSchema {
    public class Credential {
            public String userName;
            public String password;
            private String[] userName_type_info = new String[]{'userCode','http://.......',null,'0','1','true'};
            private String[] password_type_info = new String[]{'password','http://.....',null,'0','1','true'};        
            private String[] field_order_type_info = new String[]{'userName','password'};
        }
        
    public class ActorVO {
        public String value1;
        public String value1;
        public String value1;
        public String value1;
        private String[] apex_schema_type_info = new String[]{'http://......','false','false'};
        private String[] field_order_type_info = new String[]{'value1','value2','value3','value4'};
    }    
}


public class ActorActorimport {
    public class InsertActorResponse_element {
        public ActorSchema.ActorVO actorVO;        
        private String[] actorVO_type_info = new String[]{'actorVO','http://......',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://......','true','false'};
        private String[] field_order_type_info = new String[]{'actorVO'};
    }
    public class InsertActorRequest_element {
        public ActorSchema.ActorVO actorVO;
        private String[] actorVO_type_info = new String[]{'actorVO','http://.....',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://.....','false','false'};
        private String[] field_order_type_info = new String[]{'actorVO'};            
    }
    
    public ActorSchema.ActorVO InsertActor(ActorSchema.ActorVO actorVO) {
                ActorActorimport.InsertActorRequest_element request_x = new ActorActorimport.InsertActorRequest_element();                        
                request_x.actorVO = actorVO;           
                ActorActorimport.InsertActorResponse_element response_x;
                Map<String, ActorActorimport.InsertActorResponse_element> response_map_x = new Map<String, ActorActorimport.InsertActorResponse_element>();            
                response_map_x.put('response_x', response_x);
                WebServiceCallout.invoke(
                  this,
                  request_x,
                  response_map_x,
                  new String[]{endpoint_x, '','http://......', 'InsertActorRequest', 'http://......','InsertActorResponse','ActorActorimport.InsertActorResponse_element'}
                );
                response_x = response_map_x.get('response_x');            
                return response_x.actorVO;
            }
}

=============My Request==========
ActorActorImport.ActorImportServicePort test1 = new ActorActorImport.ActorImportServicePort();
test1.clientCert_x = ' ';
//test1.clientCertName_x = ' ';
test1.clientCertPasswd_x = ' ';
test1.endpoint_x = 'http://......';
test1.timeout_x = 50000;
 
ActorSchema.ActorVO actorVo = new ActorSchema.ActorVO();
actorVo.value1 = 'val1';
actorVo.value2 = 'val2';
actorVo.value3 = 'val3';
actorVo.value4 = 'val4';

test1.InsertActor(actorVo);

Please help!!!
Hi, 
The content of my WSDL is as such:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www........">
<soapenv:Header/>
<soapenv:Body>
<sch:InsertValueRequest>
<credential>
<userName> </userName>
<password> </password>
</credential>
<ActorVO>
    <value1> </value1>
    <value2> </value2>
    <value3> </value3>
    <value4> </value4>    
</ActorVO>
<sch:InsertValueRequest>
All the apex class was generated successfully with the WSDL. A class was created which contain the credential parameter and one which contain the values.

The problem I am facing is that when I send the request, the request is generated without the credential part, hence no request is done between the external service and salesforce. How can I modify my request being it is send?

Viewed from the debug log, i noticed the request is generated as such : 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www........">
<soapenv:Header/>
<soapenv:Body>
<sch:InsertValueRequest>
<values>
<value1> </value1>
<value2> </value2>
<value3> </value3>
<value4> </value4>
</values>
<sch:InsertValueRequest>

Below is my sample class: 

public class ActorSchema {
    public class Credential {
            public String userName;
            public String password;
            private String[] userName_type_info = new String[]{'userCode','http://.......',null,'0','1','true'};
            private String[] password_type_info = new String[]{'password','http://.....',null,'0','1','true'};        
            private String[] field_order_type_info = new String[]{'userName','password'};
        }
        
    public class ActorVO {
        public String value1;
        public String value1;
        public String value1;
        public String value1;
        private String[] apex_schema_type_info = new String[]{'http://......','false','false'};
        private String[] field_order_type_info = new String[]{'value1','value2','value3','value4'};
    }    
}


public class ActorActorimport {
    public class InsertActorResponse_element {
        public ActorSchema.ActorVO actorVO;        
        private String[] actorVO_type_info = new String[]{'actorVO','http://......',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://......','true','false'};
        private String[] field_order_type_info = new String[]{'actorVO'};
    }
    public class InsertActorRequest_element {
        public ActorSchema.ActorVO actorVO;
        private String[] actorVO_type_info = new String[]{'actorVO','http://.....',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://.....','false','false'};
        private String[] field_order_type_info = new String[]{'actorVO'};            
    }
    
    public ActorSchema.ActorVO InsertActor(ActorSchema.ActorVO actorVO) {
                ActorActorimport.InsertActorRequest_element request_x = new ActorActorimport.InsertActorRequest_element();                        
                request_x.actorVO = actorVO;           
                ActorActorimport.InsertActorResponse_element response_x;
                Map<String, ActorActorimport.InsertActorResponse_element> response_map_x = new Map<String, ActorActorimport.InsertActorResponse_element>();            
                response_map_x.put('response_x', response_x);
                WebServiceCallout.invoke(
                  this,
                  request_x,
                  response_map_x,
                  new String[]{endpoint_x, '','http://......', 'InsertActorRequest', 'http://......','InsertActorResponse','ActorActorimport.InsertActorResponse_element'}
                );
                response_x = response_map_x.get('response_x');            
                return response_x.actorVO;
            }
}

=============My Request==========
ActorActorImport.ActorImportServicePort test1 = new ActorActorImport.ActorImportServicePort();
test1.clientCert_x = ' ';
//test1.clientCertName_x = ' ';
test1.clientCertPasswd_x = ' ';
test1.endpoint_x = 'http://......';
test1.timeout_x = 50000;
 
ActorSchema.ActorVO actorVo = new ActorSchema.ActorVO();
actorVo.value1 = 'val1';
actorVo.value2 = 'val2';
actorVo.value3 = 'val3';
actorVo.value4 = 'val4';

test1.InsertActor(actorVo);

Please help!!!
Hi,

I don't received email verification code anymore and this is troublesome for me. Something must have changed some days ago cause I did received email notification code before.  Email-Based Identity Confirmation is uncheck on my admin profile.
I tried to activate it by permission set. I created a custom admin profile. Nothing works!!! What should I do? Email verification code is important for me. Please advice.
Thanks.
Hello,

I am working on integrating Salesforce.com and external system (ERP).  I am making a call out using SOAP API

What I have provided to third party?
- Create a user for integration and shared the username,password&securitytoken
-Created an global apex class with webservice methods.
-Generated WSDL from above class
-Generated Enterprise WSDL

What I received from third party?
-WSDL (https end point)
-.PEM certificate and .pfx format certifcate

Development process on Salesforce side

I have generated a single Apex class (Gnerate from WSDL) from the WSDL I recieved from third party.

One of the classes generated is below

public class HTTPS_Port {
        public String endpoint_x = ‘bhla bhla…’;
        public Map<String,String> inputHttpHeaders_x;
        public Map<String,String> outputHttpHeaders_x;
        public String clientCertName_x;
        public String clientCert_x;
        public String clientCertPasswd_x;
        public Integer timeout_x;



            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://sap.com/xi/WebService/soap1.1',
              'urn:sap-com:document:sap:soap:functions:mc-style',
              'YRequest',
              'urn:sap-com:document:sap:soap:functions:mc-style',
              'YRequestResponse',
              'WebServiceClient.YRequestResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.FStatus;
        }
    }


I have generated an apex class to call the third party service (above generated class). In this class I have to provide the following

public String clientCertName_x;// may be this is required if the certificate is generated with in SAlesforce org. So I might not need to pass this info.
        public String clientCert_x; // This is the certifcate which has based64. I am good with this
        public String clientCertPasswd_x; // what is the password i need to enter  here. I asked third party to give this password but they say don't have it. Where do i get this password from?

My call fails if I don't enter the password. Error is - CertPasswd cannot be null
If the give a blank string for the password, the Error is "Error MessageIO Exception: DER input, Integer tag error"

I am stuck with the password issue here. Can someone help me out if there is something to be on Salesforce side? Am I missing something?

Any help is greatly appreciated.

Thank you!