Frage

Ich verwende Drupal 6 und Services 6.3x -Modul, kann dieses Modul jedoch nicht vollständig verwenden. Ich habe auch das REST -Server -Modul aktiviert. Ich habe einen neuen Service hinzugefügt und Ressourcen hinzugefügt. Ich habe die Knotenressource hinzugefügt und kann alle Knoten im JSON -Format abrufen

Was ich nicht verstehen kann ist:-

  1. Die genaue URI oder das Verfahren, um die GetTree -Methode in der Ressource taxonomy_vocabulary aufzurufen

  2. Wie man alle Methoden (CRUD) -Funktionen unter allen aktivierten Ressourcen bezieht

  3. Die URL -> mydomain.com/service/rest/node.json funktioniert für mich, aber wie kann ich auf die GetTree -Methode zugreifen?

Ich bin festgefahren wie für immer. Ich habe sogar Jobs auf der Drupal -Website gepostet, aber ich denke, es gibt sehr seltene Menschen, die Kenntnisse darüber haben.

Bearbeiten :-

Live Link ist http://delvelogic.com/merchant/drupal-6.22/services/rest/taxonomy_vocabulary

Das Folgende ist der Java-Code, den ich verwende:-

    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpResponse response = null;  
    HttpPost postMethod = new HttpPost("http://delvelogic.com/merchant/drupal-6.22/rest/taxonomy_vocabulary/getTree.json");
    postMethod.addHeader("Content-type", "application/x-www-form-urlencoded");
    postMethod.addHeader("Accept","application/json");
  //  postMethod.addHeader("Authorization", "basic " + Base64.encodeBytes(("admin"+":"+"admin123").getBytes()));
 //   httpClient.getCredentialsProvider().setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT));

     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();  
     nameValuePairs.add(new BasicNameValuePair("vid", ""+1));
     nameValuePairs.add(new BasicNameValuePair("parent", ""+1));
     nameValuePairs.add(new BasicNameValuePair("maxdepth",""+1));
    // nameValuePairs.add(new BasicNameValuePair())
    try{
     postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));  
     response = httpClient.execute(postMethod); 

     InputStream input = response.getEntity().getContent();
      BufferedReader rd = new BufferedReader(new InputStreamReader(input),input.toString().length());
     String line;
     StringBuilder sb =  new StringBuilder();
     while ((line = rd.readLine()) != null) {
            sb.append(line);
     }
     rd.close();
     uploadresponse = sb.toString();

     Log.d("Response", ""+uploadresponse);
    }catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }

Auch wenn es Firefox hinzufügt, damit ich die Methode tatsächlich funktioniert?

Noch einmal bearbeiten:-

Ich habe diesen Hinzufügen zu RastClient gefunden, um an Firefox zu arbeiten

Ich wähle die Methode als Beitrag in der URL, die ich eingegeben habe http://delvelogic.com/merchant/drupal-6.22/services/rest/taxonomy_vocabulary/gettree

Header hinzugefügt:-

Inhaltstyp: Anwendung/x-www-form-rencoded

Akzeptieren: Anwendung/JSON

Anfrage Körperschaft:-

& vid = 1 & parent = 1 & maxdepth = 1

Es gibt mir 404 nicht ohne Vokabular mit ID 1 gefunden, der sich im Voraus bedankt

War es hilfreich?

Lösung

Nach der Dokumentation sollten die URLs am Ende nicht unbedingt .json haben, aber ich denke, dies ist eine Einstellung, die Sie geändert haben, wenn sie für die Knotenfunktionen funktioniert. Ich weiß, dass Ihnen diese Antwort nicht gefallen wird (ich bin mir ziemlich sicher, dass Sie es schon einmal ausprobiert haben), aber die URL ist: mydomain.com/service/rest/taxonomy_vocabulary/getTree. Ich habe sogar den jeweiligen Code von Service und REST_SERVER -Modulen durchgemacht und das sollte definitiv sein.

Weitere Beweise für das (gültige, bestandene) Testmodul für Dienstleistungen Taxonomy_Vocabulary:

ServicesResourcetaxonomyTests :: testvocabulararygettree.

Sie werden feststellen, dass die von diesem erfolgreich bestandenen URLs: auf die erfolgreich bestandene Tests zugänglich sind: $path . '/taxonomy_vocabulary/getTree', wo $path ist der Weg zum Endpunkt (dh mymodule.com/service/rest/).

Es würde wirklich helfen, wenn Sie einen Live -Link bereitstellen könnten, damit wir testen können, ob das Problem in Ihrem Java -Code oder mit Drupal liegt (obwohl letztere sehr unwahrscheinlich erscheint).

BEARBEITEN

PS kommentieren Sie diese Antwort, da ich viel Erfahrung mit dem Servicemodul habe und ich bin sicher, dass ich Sie mit ein bisschen mehr Informationen in die richtige Richtung weisen kann. Es schmerzt mich zu sehen, dass jemand mit etwas zu kämpfen hat, mit dem ich in der Vergangenheit nur Freude hatte!

Noch eine Bearbeitung

Dies ist die Antwort, von der ich bekomme http://delvelogic.com/merchant/drupal-6.22/services/rest/taxonomy_vocabulary:

<?xml version="1.0" encoding="utf-8"?>
  <result>
    <nodes/>
    <module>taxonomy</module>
    <name></name>
    <help></help>
    <relations>0</relations>
    <hierarchy>0</hierarchy>
    <multiple>0</multiple>
    <required>0</required>
    <tags>0</tags>
    <weight>0</weight>
    <vid>4</vid>
  </result>

Beachten Sie die <vid>4</vid> Bit ... ich bin mir ziemlich sicher, dass das vid Sie sollten nach IS suchen 4, nicht 1!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit drupal.stackexchange
scroll top