Monday 23 February 2015

DISPLAY ONE VISUAL FORCE PAGE DATA IN TO ANOTHER VISUAL FORCE PAGE

This can be done using attribute include.


 We have to just specify the name of the visual force page and include this attribute in our visual force page.

<apex:insert>
<apex:composition>
<apex:define>


EX:
VF 1:
----

                 VF page name Template.

                <apex:page >
<apex:outputText >Welcome to Accord</apex:outputText><br/><br/>
<apex:insert name="header"/><br/><br/>
<apex:outputtext >We are Pioneer in training students</apex:outputtext><br/><br/>
<apex:insert name="body"/><br/><br/>
<apex:outputtext >Thank You</apex:outputtext>
</apex:page>

VF 2:
----

<apex:page sideBar="false">
<apex:composition template="Template">
<apex:define name="header">
Accord welcomes you!
</apex:define>
</apex:composition>
</apex:page>

SALESFORCE INTEGRATION WITH .NET USING SOAP API

SALESFORCE INTEGRATION WITH .NET USING SOAP API  PART - 1
Required
1. .Net end point (or) WSDL wile 
NOTE : If client provides WSDL file no need to follow STEP 1 
STEP 1 :

Copy the .Net Endpoint given by the client (https://xxxxxxxxxxxx/gw/xxxx/nextgencrm/ldap.getpicture.dev)
Go to the web browser open new tap paste it and add (?wsdl
EX: https://xxxxxxxxxxxx/gw/xxxx/nextgencrm/ldap.getpicture.dev?wsdl 
Copy the XML data and paste in notepad or notepad++
Remove one binding and related port in that XML because sales force support only one binding
EX: 
Remove second binding and related port
Binding:
-------
<wsdl:binding name="LdapSoap12" type="tns:LdapSoap">
.
.
.</wsdl:binding>
Port:
-----
<wsdl:port2 name="LdapSoap" binding="tns:LdapSoap">
<soap:address location="xxxxxxxxxxxx" />
</wsdl:port2>
Save the file as MyService.wsdl on your desktop 
STEP 2:
Login in to your sales force account
Go to setup > Build > Develop > Apex
Click on Generated Apex

Browser and select MyService.wsdl file and Parse it
If successfully parse Change the name of class as MyDotnetService and save it

STEP 3 :

Open the class MyDotnetService it look like below example 
EX: 
public class MyDotnetService {
public class HelloWorld_element {
private String[] apex_schema_type_info = new String[]{'http://tempuri.org/','true','false'};
private String[] field_order_type_info = new String[]{};
}
public class HelloWorldResponse_element {
public String HelloWorldResult;
private String[] HelloWorldResult_type_info = new String[]{'HelloWorldResult','http://tempuri.org/',null,'0','1','false'};
private String[] apex_schema_type_info = new String[]{'http://tempuri.org/','true','false'};
private String[] field_order_type_info = new String[]{'HelloWorldResult'};
}
public class LdapSoap {
public String endpoint_x = 'https://xxxxxxxxxxxxxxxxxxxxxx/gw/xxxxxxxxxx/nextgencrm/ldap.getpicture.dev';
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;
private String[] ns_map_type_info = new String[]{'http://tempuri.org/', 'MyDotnetService'};
public String HelloWorld() {
MyDotnetService.HelloWorld_element request_x = new MyDotnetService.HelloWorld_element();
MyDotnetService.HelloWorldResponse_element response_x;
Map<String, MyDotnetService.HelloWorldResponse_element> response_map_x = new Map<String, MyDotnetService.HelloWorldResponse_element>();
response_map_x.put('response_x', response_x);
WebServiceCallout.invoke(
this,
request_x,
response_map_x,
new String[]{endpoint_x,
'http://tempuri.org/HelloWorld',
'http://tempuri.org/',
'HelloWorld',
'http://tempuri.org/',
'HelloWorldResponse',
'MyDotnetService.HelloWorldResponse_element'}
);
response_x = response_map_x.get('response_x');
return response_x.HelloWorldResult;
}
}
STEP 4
Go > setup > Administer > Security Controls > Remote Site Settings > New Remote Site
Add Endpoint URL given by client
If client given WSDL file , Go to generated class ( MyDotnetService )

MyDotnetService > LdapSoap > endpoint_x

copy the end point and paste in remote site settings

STEP 5 :

Open the workbench or developer console

Copy class Name , sub class name , and method name like below example 
EX:

MyDotnetService.LdapSoap ldap = new MyDotnetService.LdapSoap();
String response = ldap.HelloWorld();
System.debug('response--------'+response); 
NOTE :

If time out error came, Add below code
ldap.TimeOut_x = 60000;

Now you successfully integrated sales force with .Net using SOAP API 
NOTE : This process is works only when client end point has no Authorization