On Sat, 2007-02-03 at 18:41 -0800, Ryan McKinley wrote: > The 'new' request parser reads the content type header to see if it > should parse the body as params or not. If the content type is > "application/x-www-form-urlencoded" it parses them as params, if it is > "multipart/*" it parses them as multipart. if it is *anything* else, > it reads the body as a stream. > > curl defaults the content type to "application/x-www-form-urlencoded" > > so you will need to run curl with -H "Content-Type: text/xml > > - - - - - - -
Hmm, I patched the post.sh only regarding the URL. FILES=$* URL=http://localhost:8983/solr/update/stax for f in $FILES; do echo Posting file $f to $URL curl $URL --data-binary @$f -H 'Content-type:text/xml; charset=utf-8' echo done Meaning what you describe is already in there. I now played around again with it and surprise it works now. Thanks Ryan. > > I should add this to the wiki. > > Can we change the post.sh to use -H "Content-Type: text/xml"? This > will not affect old updater and will work for new UpdateHandlers. It is see above. Not sure why it did not work the yesterday. Thanks for the feedback. salu2 > ryan > > > On 2/3/07, Thorsten Scherler <[EMAIL PROTECTED]> wrote: > > On Sat, 2007-02-03 at 18:14 +0100, Thorsten Scherler wrote: > > > Hi all, > > > > > > I am working on SOLR-133 and I have wrapped up a first version of the > > > XmlUpdateRequestHandlerStax.java. Now I am trying to connect it in the > > > example but I have some problems. > > > > > > I am trying: > > > <requestHandler name="/update/stax" > > > class="solr.XmlUpdateRequestHandlerStax" /> > > > > > > Trying to curl to URL=http://localhost:8983/solr/update/stax > > > > Debugging this I used http://localhost:8983/solr/update/xml and I get > > the same error. > > > > So I figured that we still use the SolrUpdateServlet @Deprecated in the > > post.sh. > > > > For now I can test the StAX changing > > XmlUpdateRequestHandlerStax legacyUpdateHandler; > > and implementing a doLegacyUpdate method in the handler. > > > > salu2 > > > > > I get: > > > Posting file solr.xml to http://localhost:8983/solr/update/stax > > > <?xml version="1.0" encoding="UTF-8"?> > > > <response> > > > <lst name="responseHeader"><int name="status">0</int><int > > > name="QTime">67</int></lst> > > > </response> > > > > > > <html> > > > <head> > > > <title>Error 400 missing content stream stax</title> > > > </head> > > > <body> > > > <h2>HTTP ERROR: 400</h2><pre>missing content stream stax</pre> > > > <p>RequestURI=/solr/update/stax</p> > > > ... > > > > > > What did I forget that the content stream is not passed to the method? > > > > > > Any tip, hint or shoot in the dark welcome. > > > > > > > > > salu2 > > -- > > Thorsten Scherler thorsten.at.apache.org > > Open Source Java & XML consulting, training and solutions > > > > -- Thorsten Scherler thorsten.at.apache.org Open Source Java & XML consulting, training and solutions
