Domanda

Sto lavorando con i servizi del modulo 3 (D7) e sto chiamando il metodo Drupal da un client Java. Posso entrare (e mantenere la sessione in un cookie) e posso creare un nodo semplice.

Ma non posso impostare un campo di riferimento del nodo.

Per trovare il modo di farlo, ho guardato alla struttura nodo (con il campo di riferimento) nel mio sito Drupal:

 [field_presta_presta_suivi] => Array
    (
        [und] => Array
            (
                [0] => Array
                    (
                        [nid] => 43
                    )

            )

    )

Quindi, a mio client Java, ho creato una funzione per riprodurre questo struttura:

public  static HashMap addReferenceField(String field, String language, String type_ref,Object value, HashMap node, int delta ){
        HashMap f = new HashMap();
        HashMap p = new HashMap();      
        Object[] i = new Object[delta+1];           
        HashMap val = new HashMap();

        val.put(type_ref, value);
        i[delta] = val;
        p.put(language, i);
        f.put(field, p);
        return f;
    }

Questa funzione viene utilizzata per creare un HashMap che sarà aggiunta al parametro del servizio 'node.create'.

Questa funzione opera con un utente refence campo (che ha lo stesso struture nodo), ma quando l'ho usato per un riferimento nodo, il server ha restituito "inaccettabile".

Ho già passato un sacco di tempo su di esso e non ha trovato alcun esempio o caso simile, ecco la mia domanda:

Come si utilizzano i servizi 3 (D7) per creare un nodo con un campo di riferimento nodo?

È stato utile?

Soluzione

Le risorse di default di servizi sono tutti abbastanza rotto, perché si basano sulla simulazione di un invio di form ( blah! ). Mi consiglia di utilizzare quelli forniti da Servizi Entity .

Altri suggerimenti

Non c'è bisogno di andare per un altro modulo, seguente struttura JSON vi aiuterà a creare campo di riferimento del nodo,

"field_specialization": 
{
  "und": 
       {
         "value":"10" 
       }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a drupal.stackexchange
scroll top