thanks for that Scott. I also tried what you suggested with the raw
DCTERMS xml but it gave the same error. I tracked it down to Fedora 3.5:

org.fcrepo.server.management.DefaultManagement::getXML.

It passes the InputStream straight to the DocumentBuilder along with the
multipart stuff (which the docs say to use):
--268504
Content-Disposition: form-data; name="file"; filename="dcterms"
Content-Type: text/plain

and hence it fails to parse. Sending the XML in the body of the request
sorts the problem.

Not sure why the docs say to use multipart as it stops xml being parsed.

thanks for your help Scott. That commandline was helpful.


Alistair

-- 
mov eax,1
mov ebx,0
int 80h




On 26/09/2012 14:56, "Scott Prater" <[email protected]> wrote:

>Alistair,
>
>That's an annoying error that usually indicates there's bad data in the
>XML you're trying to PUT.
>
>I see two mistakes in your attempt:
>
>1)  You shouldn't wrap your datastream in FOXML.  Just PUT the plain old
>xml you want to be in the datastream;  the metadata you encode in the
>FOXML should be passed as query string parameters in the REST URL.
>
>https://wiki.duraspace.org/display/FEDORA36/REST+API#RESTAPI-modifyDatastr
>eam
>
>2)  Your namespace declaration is incorrect in your dcterms XML.  It
>should read:
>
><dct:dcterms xmlns:dct="http://purl.org/dc/terms/";>
>
>I was able to successfully update a test datastream in a test object I
>created containing your datastream using the following curl command:
>
>curl -i -X PUT --upload-file t2.xml -u fedoraAdmin:XXXXXX
>'http://localhost:8080/fedora/objects/test:t1/datastreams/DCTERMS?dsLabel=
>DCMI%20Record&versionable=false&dsState=A&mimeType=text/xml'
>
>Here are the contents of the file t2.xml that I PUT with that command:
>
><dct:dcterms xmlns:dct="http://purl.org/dc/terms/";>
>   <dct:title>Test</dct:title>
>   <dct:description>Test</dct:description>
>   <dct:creator>Test</dct:creator>
>   <dct:date>2012-09-26 12:23:32</dct:date>
>   <dct:format>application/zip</dct:format>
>   <dct:identifier>_6666</dct:identifier>
>   <dct:rights>Third party license - read attached terms and
>conditions</dct:rights>
>   <dct:publisher>Test</dct:publisher>
>   <dct:subject>Test1</dct:subject>
>   <dct:subject>Test2</dct:subject>
></dct:dcterms>
>
>Hope this helps,
>
>-- Scott
>
>On 09/26/2012 06:51 AM, Alistair Young wrote:
>> I tried extracting the existing datastream, writing to file and sending
>> it straight back as-is, as mentioned here:
>> 
>>http://fedora-commons.1317035.n2.nabble.com/Error-Content-is-not-allowed-
>>in-prolog-td5065394.html
>> but it's the same error.:
>>
>> 'Content is not allowed in prolog'
>>
>> Alistair
>>
>> --
>> mov eax,1
>> mov ebx,0
>> int 80h
>>
>> From: Alistair Young <[email protected]
>> <mailto:[email protected]>>
>> Reply-To: "Support and info exchange list for Fedora users."
>> <[email protected]
>> <mailto:[email protected]>>
>> Date: Wednesday, 26 September 2012 12:26
>> To: "Support and info exchange list for Fedora users."
>> <[email protected]
>> <mailto:[email protected]>>
>> Subject: [fcrepo-user] Example file for modifyDatastream
>>
>> Would anyone have an example for the multipart file for REST API-M
>> modifyDatastream?
>>
>> I'm sending this but getting 'Content is not allowed in prolog':
>>
>> <?xml version="1.0"?>
>> <fox:datastream Š ID="DCTERMS" STATE="A" CONTROL_GROUP="X"
>> VERSIONABLE="false">
>> <fox:datastreamVersion ID="DCTERMS.0" MIMETYPE="text/xml" LABEL="DCMI
>> Record">
>> <fox:xmlContent>
>> <dct:dcterms xmlns:dcterms="http://purl.org/dc/terms/";
>> <http://purl.org/dc/terms/";>>
>> <dct:title>Test</dct:title>
>> <dct:description>Test</dct:description>
>> <dct:creator>Test</dct:creator>
>> <dct:date>2012-09-26 12:23:32</dct:date>
>> <dct:format>application/zip</dct:format>
>> <dct:identifier>_6666</dct:identifier>
>> <dct:rights>Third party license - read attached terms and
>> conditions</dct:rights>
>> <dct:publisher>Test</dct:publisher>
>> <dct:subject>Test1</dct:subject>
>> <dct:subject>Test2</dct:subject>
>> </dct:dcterms>
>> </fox:xmlContent>
>> </fox:datastreamVersion>
>> </fox:datastream>
>>
>> thanks,
>>
>> Alistair
>>
>> --
>> mov eax,1
>> mov ebx,0
>> int 80h
>>
>>
>> 
>>-------------------------------------------------------------------------
>>-----
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond.
>>Discussions
>> will include endpoint security, mobile security and the latest in
>>malware
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>
>>
>>
>> _______________________________________________
>> Fedora-commons-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users
>
>
>-- 
>Scott Prater
>Shared Development Group
>General Library System
>University of Wisconsin - Madison
>[email protected]
>5-5415
>



------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to