2011-06-05 66 views
0

嗨 对不起,乱码:我们在黑客马拉松,时间不多了。
我们正尝试连接到Google PersonFinder API,但遇到问题。
您创建一个XML文件并将其上传到域。Node.js远程文件上传/ POST /写入

谢谢!

var instance = "rhok"; 
exports.Upload = function(person_data) { // , callback){ 
     var options = { 
      host: instance + '.googlepersonfinder.appspot.com', // needs to be https? 
      port: 443, 
      path: '/api/write?key=' + key, 
      method: 'POST', 
      headers: { 
         'Content-Type': 'application/xml', 
        }, 
      data: exports.CombineList(person_data) // this is an XML string 
    }; 
      console.log("PERSON.DTATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT"); 
     console.log(options.data); 
      /* 
     var rq = https.request('POST', instance + '.googlepersonfinder.appspot.com'+'/api/write?key=' + key, {'Content-Type': 'application/xml'}) 
     rq.write(options.data); 
     rq.end(); 
     */ 
     var req = https.request(options, function(res) { 
      res.setEncoding('utf8'); 

      res.on('data', function (chunk) { 
      //console.log('BODY: ' + chunk); 
       var body += options.data; 
      }); 
     }); 
     console.log("############"); 

     // write data to request body 
     req.write(options.data); 

     req.end(); 
     req.on('error', function(e) { 
      console.log('problem with request: ' + sys.inspect(e)); 
     }); 
}; 


exports.CombineList = function (jsonList) { 
    var partial = '<?xml version="1.0" encoding="utf-8"?><pfif:pfif xmlns:pfif="http://zesty.ca/pfif/1.2"'; 
      partial+='xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 
      partial+='xsi:schemaLocation="http://zesty.ca/pfif/1.2'; 
      partial+='http://zesty.ca/pfif/1.2/pfif-1.2.xsd">'; 
    for(var i in jsonList) { 

     partial += "<pfif:person>" + jsontoxml.obj_to_xml(jsonList[i]) + "</pfif:person>\n"; 
    } 
    return partial; 
} 

回答

1

不知道你是否在irc中看到过我的回复,但是你的xml无效 - 请使用xml验证器。你缺少

</pfif:pfif> 

在结束,为一。

+0

另外,在命名空间元素中定义全局文档命名空间有什么用? – jcolebrand 2011-06-05 20:43:44