[OWSLib-users] error in CSW insert transaction : Document is XML, but not CSW-ish
Chiarello Ernest
Ernest.Chiarello at univ-fcomte.fr
Tue May 3 02:11:50 PDT 2016
new idea !
Le 03/05/2016 11:05, Chiarello Ernest a écrit :
> Hi Tom,
>
> Le 03/05/2016 05:04, Tom Kralidis a écrit :
>> On Mon, May 2, 2016 at 6:12 AM, Chiarello Ernest
>> <Ernest.Chiarello at univ-fcomte.fr> wrote:
>>> Hi all,
>>>
>>> I am trying to insert a metadata in GeoNetwork, according OWSlib
>>> documentation but it fails with this error message :
>>> RuntimeError: Document is XML, but not CSW-ish
>>>
>>> But above all, i think quotes are missing in the csw transaction. you should
>>> write :
>>>
>>>>>> csw.transaction(ttype='insert', typename='gmd:MD_Metadata',
>>>>>> record=open("file.xml").read())
>>> instead of :
>>>>>> csw.transaction(ttype='insert', typename='gmd:MD_Metadata',
>>>>>> record=open(file.xml).read())
>>> Next i recovered a file from another GeoNetwork, in order to be sure that
>>> the metadata file would be correct.
>>>
>>> wget
>>> https://georchestra-mshe.univ-fcomte.fr/geonetwork/srv/fre/xml.metadata.get?id=17804
>>> -O metadata.xml
>>>
>>> And then i tried to insert this metadata in my GeoNetwork Dev machine :
>>>
>>>>>> geonetwork =
>>>>>> 'http://geonetwork-mshe.univ-fcomte.fr:8080/geonetwork/srv/fre/csw'
>>>>>> from owslib.csw import CatalogueServiceWeb
>>>>>> csw = CatalogueServiceWeb(geonetwork)
>>>>>> csw.transaction(ttype='insert', typename='gmd:MD_Metadata',
>>>>>> record=open("metadata.xml").read())
>>> Traceback (most recent call last):
>>> File "<stdin>", line 1, in <module>
>>> File "/usr/lib/python2.7/dist-packages/owslib/csw.py", line 446, in
>>> transaction
>>> self._invoke()
>>> File "/usr/lib/python2.7/dist-packages/owslib/csw.py", line 680, in
>>> _invoke
>>> raise RuntimeError('Document is XML, but not CSW-ish')
>>> RuntimeError: Document is XML, but not CSW-ish
>>>
>>> Can anybody explain to me why my metadata.xml file is not CSW-ish ?
>>>
>> My guess is that some sort of authentication is required to make CSW-T
>> requests against the CSW in question. Try adding the username an
>> password parameters to the constructor?
>>
>> ..Tom
> sorry, but i do not know how to set username and passord in the csw
> transaction.
>
> def transaction(self, ttype=None, typename='csw:Record', record=None,
> propertyname=None, propertyvalue=None, bbox=None, keywords=[],
> cql=None, identifier=None):
>
> """
>
> Construct and process a Transaction request
>
> Parameters
> ----------
>
> - ttype: the type of transaction 'insert, 'update', 'delete'
> - typename: the typename to describe (default is 'csw:Record')
> - record: the XML record to insert
> - propertyname: the RecordProperty/PropertyName to Filter against
> - propertyvalue: the RecordProperty Value to Filter against (for updates)
> - bbox: the bounding box of the spatial query in the form
> [minx,miny,maxx,maxy]
> - keywords: list of keywords
> - cql: common query language text. Note this overrides bbox, qtype,
> keywords
> - identifier: record identifier. Note this overrides bbox, qtype,
> keywords, cql
>
>
>
> thanks for your help,
>
>
> Ernest.
>
I realized that username and password should be send when opening CSW !
csw = CatalogueServiceWeb(geonetwork, skip_caps=True, username='admin',
password='admin')
but i have a new error...
>>> geonetwork =
'http://geonetwork-mshe.univ-fcomte.fr:8080/geonetwork/srv/fre/csw'
>>> from owslib.csw import CatalogueServiceWeb
>>> csw = CatalogueServiceWeb(geonetwork, skip_caps=True,
username='admin', password='admin')
>>> csw.transaction(ttype='insert', typename='gmd:MD_Metadata',
record=open('metadata.xml').read())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/owslib/csw.py", line 429, in
transaction
node1.append(etree.fromstring(record))
File "src/lxml/lxml.etree.pyx", line 3213, in lxml.etree.fromstring
(src/lxml/lxml.etree.c:82934)
File "src/lxml/parser.pxi", line 1819, in
lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:124533)
File "src/lxml/parser.pxi", line 1707, in lxml.etree._parseDoc
(src/lxml/lxml.etree.c:123074)
File "src/lxml/parser.pxi", line 1079, in
lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:117114)
File "src/lxml/parser.pxi", line 573, in
lxml.etree._ParserContext._handleParseResultDoc
(src/lxml/lxml.etree.c:110510)
File "src/lxml/parser.pxi", line 683, in
lxml.etree._handleParseResult (src/lxml/lxml.etree.c:112276)
File "src/lxml/parser.pxi", line 624, in lxml.etree._raiseParseError
(src/lxml/lxml.etree.c:111367)
lxml.etree.XMLSyntaxError: None
any help ?
Ernest.
>
>>> Thanks in advance,
>>>
>>> Ernest.
>
>
> --
> Ernest CHIARELLO -Ernest.Chiarello at univ-fcomte.fr
> UMR6049 ThéMA - Théoriser et Modéliser pour Aménager
> CNRS / université de Bourgogne Franche-Comté
> 32 rue Mégevand 25030 BESANÇON Cedex
>
> Tel : 03 81 66 54 80 Mob : 07 82 99 11 08
>
>
>
>
> _______________________________________________
> OWSLib-users mailing list
> OWSLib-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/owslib-users
--
Ernest CHIARELLO - Ernest.Chiarello at univ-fcomte.fr
UMR6049 ThéMA - Théoriser et Modéliser pour Aménager
CNRS / université de Bourgogne Franche-Comté
32 rue Mégevand 25030 BESANÇON Cedex
Tel : 03 81 66 54 80 Mob : 07 82 99 11 08
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/owslib-users/attachments/20160503/4680ebc1/attachment-0001.html>
More information about the OWSLib-users
mailing list