2017-06-27 1 views
1

J'essaie de créer une relation entre un module personnalisé et un contact mais après la création (la réponse est {"deleted": 0, "created": 1, "failed" : 0}) Je n'ai pas trouvé d'annotation dans le panneau de l'application et la table de relation de base de données aussi (un seul enregistrement créé manuellement). Où est ma faute?Sugarcrm set_relationship entre le module personnalisé et les contacts en Java

le code exemple:

String sessioneID = "xxxxx"; 
String contactId = "yyyyyy"; 

Map<String, String> nameValueList = new LinkedHashMap<String, String>(); 

List<String> relatedIds = new ArrayList<String>(); 
relatedIds.add(customId); 

Map<String, Object> request = new LinkedHashMap<String, Object>(); 
request.put("session", sessioneID); 
request.put("module_name", "Contacts"); 
request.put("module_id", contactId); 
request.put("link_field_name", "custom_contacts"); 
request.put("related_ids", relatedIds); 
request.put("deleted", "0"); 

List<NameValuePair> formParams = new ArrayList<NameValuePair>(); 
formParams.add(new BasicNameValuePair("method", "set_relationships")); 
formParams.add(new BasicNameValuePair("input_type", "JSON")); 
formParams.add(new BasicNameValuePair("response_type", "JSON")); 
formParams.add(new BasicNameValuePair("rest_data", JSONObject.toJSONString(request))); 

HttpPost httpPost = new HttpPost("http://kkkk.com/rest.php"); 
httpPost.setEntity(new UrlEncodedFormEntity(formParams)); 
CloseableHttpClient httpClient = HttpClients.createDefault(); 
HttpResponse execute = httpClient.execute(httpPost); 

Merci

Répondre

0

Vous utilisez l'appel au pluriel set_relationships, mais avec les arguments singuliers d'appel , par exemple module_name.

Peut-être que vous voulez utiliser set_relationship? (au singulier)

Comparez la documentation de set_relationship et set_relationships.

+0

désolé j'ai mal écrit. J'utilise set_relationship – user2053994