I encountered this same error after upgrading packages via quicklisp. I rolled back cl+ssl to version cl+ssl-20130128-git and the problem went away. I have not had time to investigate further yet.
-Kevin On 03/21/2013 02:41 PM, Peter Kuchta wrote: > Hi everybody, > > I'm trying to POST some JSON data to a web service: > > (ql:quickload :st-json) > (ql:quickload :cl-json) > (ql:quickload :drakma) > > (defvar *rc* (merge-pathnames (user-homedir-pathname) ".apirc")) > > (defvar *user* > (with-open-file (s *rc*) > (st-json:read-json s))) > > (defvar api-url (st-json:getjso "url" *user*)) > (defvar api-key (st-json:getjso "key" *user*)) > (defvar api-email (st-json:getjso "email" *user*)) > > (setf drakma:*header-stream* *standard-output*) > > (defvar *req* '(("dataset" . "tigge") > ("step" . "24") > ("date" . "20071001") > ("time" . "00") > ("origin" . "all"))) > > (format t "json:~S~%" (json:encode-json-to-string *req*)) > > (defun retrieve (api request) > (let* ((cookie-jar (make-instance 'drakma:cookie-jar)) > (extra-headers (list (cons "From" api-email) > (cons "X-API-KEY" api-key))) > (url (concatenate 'string api-url api "/requests")) > (stream (drakma:http-request url > :additional-headers extra-headers > :accept "application/json" > :method :post > :content-type "application/json" > :external-format-out :utf-8 > :external-format-in :utf-8 > :redirect 100 > :cookie-jar cookie-jar > :content (json:encode-json-to-string request) > :want-stream t))) > (st-json:read-json stream))) > > (retrieve "/datasets/tigge" *req*) > > Unfortunately, I get an error, although the data seems to be encoded OK > to JSON and the headers generated by drakma too, I think. Apparently > something is wrong with the :content (the list of integers in the errors > message is just the list of ASCII codes of the JSON encoded data). > > > json:"{\"dataset\":\"tigge\",\"step\":\"24\",\"number\":\"all\",\"levtype\":\"sl\",\"date\":\"20071001\",\"time\":\"00\",\"origin\":\"all\",\"type\":\"pf\",\"param\":\"tp\",\"area\":\"70\\/-130\\/30\\/-60\",\"grid\":\"2\\/2\",\"target\":\"data.grib\"}" > > POST /v1/datasets/tigge/requests HTTP/1.1 > Host: api.service.int <http://api.service.int> > User-Agent: Drakma/1.3.0 (SBCL 1.1.5; Darwin; 12.2.0; > http://weitz.de/drakma/) > Accept: application/json > Connection: close > From: m...@gmail.com <mailto:m...@gmail.com> > X-API-KEY: 19a0edb6d8d8dda1e6a3b21223e4f86a > Content-Type: application/json > Content-Length: 193 > > > debugger invoked on a SIMPLE-TYPE-ERROR: > The value of CL+SSL::THING is #(123 34 100 97 116 97 115 101 116 > 34 58 34 > ...), which is not of type (SIMPLE-ARRAY > > (UNSIGNED-BYTE 8) > (*)). > > Any idea what's wrong with this code? Many thanks in advance. > > Best regards, > Piotr > > > _______________________________________________ > drakma-devel mailing list > drakma-devel@common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/drakma-devel > _______________________________________________ drakma-devel mailing list drakma-devel@common-lisp.net http://lists.common-lisp.net/cgi-bin/mailman/listinfo/drakma-devel