If I'm not mistaken you should be posting the XML directly (using the cURL flag 
"--data-binary") to:

http://localhost:8080/fedora/objects/marktest:1/datastreams/testmanagednewxml?controlGroup=M&dsLabel=NewManagedDatastream

and you can abandon the "-T" flag entirely. You want the datastream contents 
-in- the POST message, not as an upload file, and the query string as part of 
your URL. E.g.

curl --data-binary "<my XML data/>" 
http://localhost:8080/fedora/objects/marktest:1/datastreams/testmanagednewxml?controlGroup=M&dsLabel=NewManagedDatastream

or 

curl --data-binary @my/xml/filepath 
http://localhost:8080/fedora/objects/marktest:1/datastreams/testmanagednewxml?controlGroup=M&dsLabel=NewManagedDatastream

You may also need to include a content-type header, e.g. 

-H "Content-Type: text/xml"

---
A. Soroka
Digital Research and Scholarship R & D
the University of Virginia Library



On Oct 24, 2010, at 1:49 PM, Mark Jordan wrote:

> Hi,
> 
> I'm using the REST API via cURL on OS X (Fedora 3.4.1) to add and update 
> managed datastreams. Updating an existing datastream composed of a simple XML 
> file works fine:
> 
> curl  -v -u fedoraAdmin:xxxxxxx -T testmanaged.xml 
> "http://localhost:8080/fedora/objects/marktest:1/datastreams/testmanagedxml";
> 
> However, adding a new datastream (using a file of any format as the DS) 
> throws the following error:
> 
> "javax.ws.rs.WebApplicationException: 
> org.fcrepo.server.errors.GeneralException: Error with uploaded://15 : XML was 
> not well-formed. Premature end of file." (Note: Integer at end of "Error with 
> uploaded" increments on every attemp.)
> 
> catalina.out also contains corresponding "[Fatal Error] :-1:-1: Premature end 
> of file." entries.
> 
> Example cURL requests that cause Fedora to throw this error:
> 
> curl  -v -u fedoraAdmin:xxxxx -T testmanagednew.xml -X POST -d 
> "controlGroup=M&dsLabel=NewManagedDatastream" 
> "http://localhost:8080/fedora/objects/marktest:1/datastreams/testmanagednewxml";
> 
> and:
> 
> curl  -v -u fedoraAdmin:xxxxxx -X POST -d 
> "controlGroup=M&dsLabel=NewManagedDatastream&dsLocation=http://localhost/testmanagednew.xml";
>  
> "http://localhost:8080/fedora/objects/marktest:1/datastreams/testmanagednewxml";
> 
> and even with when using a ZIP file as a datastream:
> 
> curl  -v -u fedoraAdmin:xxxxx -X POST -d 
> "controlGroup=M&dsLabel=NewManagedDatastream&dsLocation=http://localhost/test.zip";
>  
> "http://localhost:8080/fedora/objects/marktest:1/datastreams/testmanagednewZIP";
> 
> When I use the Fedora Web Administrator to create a new managed datastream 
> using the same files, everything works (e.g., the datastream is created and 
> Fedora doesn't complain about a malformed XML file). The XML files I trying 
> to add as datastreams pass xmllint well-formedness tests, but as my attempt 
> with using a ZIP file to create the DS shows, I don't think the XML files are 
> at fault.
> 
> I'm not sure if this is a cURL error (i.e., it's munging the uploaded file 
> somehow), an error in my use of cURL, or a problem with Fedora. My platform 
> is Mac OS X, my cURL is version 7.21.0, and my Fedora 3.4.1 install is a 
> quickinstall using all defaults.
> 
> Any assistance would be appreciated,
> 
> Mark
> 
> ------------------------------------------------------------------------------
> Nokia and AT&T present the 2010 Calling All Innovators-North America contest
> Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
> $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
> Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
> http://p.sf.net/sfu/nokia-dev2dev
> _______________________________________________
> Fedora-commons-users mailing list
> Fedora-commons-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users


------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Fedora-commons-users mailing list
Fedora-commons-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to