Tôi đang làm việc với các dịch vụ mô-đun 3 (D7) và tôi đang gọi phương thức Drupal từ máy khách Java. Tôi có thể đăng nhập (và giữ phiên trong cookie) và tôi có thể tạo một nút đơn giản.
Nhưng tôi không thể đặt Trường tham chiếu nút.
Để tìm cách thực hiện, trước tiên tôi tìm đến cấu trúc nút (với trường tham chiếu) trong trang web drupal của tôi:
[field_presta_presta_suivi] => Array
(
[und] => Array
(
[0] => Array
(
[nid] => 43
)
)
)
Vì vậy, trong Máy khách Java của tôi, tôi đã tạo một hàm để tái tạo cấu trúc này:
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;
}
Hàm này được sử dụng để tạo HashMap sẽ được thêm vào tham số của dịch vụ 'node.create'.
Hàm này hoạt động với Trường giới thiệu người dùng (có cùng cấu trúc nút), nhưng khi tôi sử dụng nó để tham chiếu nút, máy chủ trả về "Không được chấp nhận".
Tôi đã dành rất nhiều thời gian cho nó và không tìm thấy bất kỳ ví dụ hoặc trường hợp tương tự, vì vậy đây là câu hỏi của tôi:
Làm thế nào để bạn sử dụng dịch vụ 3 (D7) để tạo một nút với trường tham chiếu nút?