我正在使用 Appcelerator Titanium 编写我的第一个应用程序,但遇到了一个我似乎会动摇的障碍。我使用的所有其他服务都通过 JSON 服务器(node.get、view.get、system.connect)工作,但我无法终生获得 node.save 的工作解决方案。我曾尝试在同一条船上寻找人,但实际上找不到任何东西,但我也无法在任何地方找到可行的解决方案。
我使用以下博客文章作为起点: http ://civicactions.com/blog/2010/may/02/tutorial_code_developing_apps_iphoneipadandroid_using_drupal_base_system
我已经尝试过 JSON 和 XMLRPC,但我没有得到 JSON 响应和 XMLRPC 拒绝访问。如果我通过drupal admin将我的JSON插入服务页面,它将创建一个节点(不是CCK节点,但它与故事一起使用)但通过应用程序我什么也得不到。
以下是我尝试使用 XMLRPC 的输出:
节点对象 -
[INFO] {
sessid = b03429453c85d4bf3d600dff6511f70f;
title = "This is a new node.";
type = story;
}
[INFO] xmlrpc: begin
[INFO] xmlrpc: url: http://mysite/services/xmlrpc
[INFO] xmlrpc: method: node.save
[INFO] xmlrpc: p: story
[INFO] xmlrpc: p: This is a new node.
[INFO] xmlrpc: p: b03429453c85d4bf3d600dff6511f70f
正在发送的 XML -
[INFO] xmlrpc: xml: <methodCall><methodName>node.save</methodName><params><param><string>story</string></param><param><string>This is a new node.</string></param><param><string>b03429453c85d4bf3d600dff6511f70f</string></param></params></methodCall>
[INFO] xmlrpc: end
回复 -
[INFO] Received: <?xml version="1.0"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>401</int></value>
</member>
<member>
<name>faultString</name>
<value><string>Access denied</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
这是我用 JSON 得到的:
[INFO] {"method":"node.save","type":"story","title":"This is a new node.","sessid":"b03429453c85d4bf3d600dff6511f70f"}
[INFO] node.save response: undefined
[WARN] Exception in event callback. {
line = 90;
message = "Unable to parse JSON string";
name = SyntaxError;
sourceId = 204738256;
sourceURL = "file://localhost/Users/justin/Sites/Apps/appname/Resources/add.js";
}
我没有拒绝访问,但它没有将响应发送回应用程序。
有没有其他人遇到过这个问题,如果有,你能找到解决办法吗?