Salesforce a une fonction de fusion, mais je ne pense pas qu'il ait une fonction pour générer systématiquement des documents candidats pour l'identification de nom.J'ai écrit un mémo lorsque j'ai créé un outil d'identification de nom très simple en Java.
Connectez-vous à Salesforce, configurez, téléchargez WSDL depuis l'API (nommé wsdl.xml)
Accédez au site suivant et téléchargez le fichier du projet https://github.com/forcedotcom/wsc
Démarrez Eclipse et importez le fichier téléchargé
Exécutez, sélectionnez Maven Build et entrez Goal Package pour créer Jar
Après la création, entrez la commande suivante. inputwsdlfile spécifie le fichier WSDL téléchargé ci-dessus
Commande Java
java -jar target/force-wsc-42.0.0-uber.jar <inputwsdlfile> <outputjarfile>
Exemple) java-jar target/force-wsc-42.0.0-uber.jar wsdl.xml original.jar
Créez un nouveau projet dans Eclipse, sélectionnez le projet Maven
Placez le fichier jar créé ci-dessus dans le projet (Cette fois, j'ai créé un fichier lib et l'ai placé directement en dessous)
Ajoutez le Jar créé ci-dessus et les bibliothèques associées à pom.xml
pom.xml
<dependency>
<groupId>net.original</groupId>
<artifactId>originalJar</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/original.jar</systemPath>
</dependency>
<dependency>
<groupId>com.force.api</groupId>
<artifactId>force-wsc</artifactId>
<version>42.0.0</version>
</dependency>
<dependency>
<groupId>com.force.api</groupId>
<artifactId>force-partner-api</artifactId>
<version>42.0.0</version>
</dependency>
App.java
package sfdc.api;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Calendar;
import com.sforce.soap.enterprise.EnterpriseConnection;
import com.sforce.soap.enterprise.QueryResult;
import com.sforce.soap.enterprise.sobject.Account;
import com.sforce.soap.enterprise.sobject.SObject;
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;
/**
* Salesforce Connect
*
*/
public class App
{
public static void main( String[] args )
{
ConnectorConfig config = new ConnectorConfig();
config.setUsername("Identifiant de connexion");
config.setPassword("Mot de passe + jeton de sécurité");
//La version du service Soap sera mise à jour, donc reportez-vous au site suivant
// https://help.salesforce.com/articleView?id=000126966&language=ja&type=1
String soapEndpoint = "https://login.salesforce.com/services/Soap/c/40.0";
config.setAuthEndpoint(soapEndpoint);
System.out.println("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
try {
EnterpriseConnection connection = new EnterpriseConnection(config);
QueryResult queryResults = connection.query("SELECT Id,Name,LastModifiedDate FROM Account Order by Name");
SObject[] records = queryResults.getRecords();
String beforeId = "";
String beforeName = "";
for(SObject record : records) {
String name = ((Account) record).getName();
String id = ((Account) record).getId();
Calendar lastModifiedDate = ((Account) record).getLastModifiedDate();
System.out.println("sfid{" + id + "}");
if(name.equals(beforeName)) {
fileWriter("Dupliquer[" + beforeName + "], sfid{" + beforeId + "}");
fileWriter("Dupliquer[" + name + "], sfid{" + id + "}");
}
beforeId = id;
beforeName = name;
}
System.out.println("\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
private static void fileWriter(String name) {
try {
File f = new File("nayose.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(f, true));
bw.write(name);
bw.newLine();
bw.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
Dupliquer[Taro Tanaka], sfid{0017F10xxxxxxxxxx}
Dupliquer[Taro Tanaka], sfid{0015A02xxxxxxxxxx}
Recommended Posts