<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Le 03/05/2016 11:11, Chiarello Ernest a
écrit :<br>
</div>
<blockquote cite="mid:57286B56.7060003@univ-fcomte.fr" type="cite">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<div class="moz-cite-prefix">new idea !<br>
<br>
Le 03/05/2016 11:05, Chiarello Ernest a écrit :<br>
</div>
<blockquote cite="mid:572869D5.7040602@univ-fcomte.fr" type="cite">
<meta content="text/html; charset=utf-8"
http-equiv="Content-Type">
<div class="moz-cite-prefix">Hi Tom,<br>
<br>
Le 03/05/2016 05:04, Tom Kralidis a écrit :<br>
</div>
<blockquote
cite="mid:CAFWXLWWOinYvBVwG3J8D8hgnFueL8L40r9aniYQu90iLq2Cv0Q@mail.gmail.com"
type="cite">
<pre wrap="">On Mon, May 2, 2016 at 6:12 AM, Chiarello Ernest
<a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:Ernest.Chiarello@univ-fcomte.fr"><Ernest.Chiarello@univ-fcomte.fr></a> wrote:
</pre>
<blockquote type="cite">
<pre wrap="">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 :
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">csw.transaction(ttype='insert', typename='gmd:MD_Metadata',
record=open("file.xml").read())
</pre>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">instead of :
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">csw.transaction(ttype='insert', typename='gmd:MD_Metadata',
record=open(file.xml).read())
</pre>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">Next i recovered a file from another GeoNetwork, in order to be sure that
the metadata file would be correct.
wget
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://georchestra-mshe.univ-fcomte.fr/geonetwork/srv/fre/xml.metadata.get?id=17804">https://georchestra-mshe.univ-fcomte.fr/geonetwork/srv/fre/xml.metadata.get?id=17804</a>
-O metadata.xml
And then i tried to insert this metadata in my GeoNetwork Dev machine :
</pre>
<blockquote type="cite">
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">geonetwork =
'<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://geonetwork-mshe.univ-fcomte.fr:8080/geonetwork/srv/fre/csw">http://geonetwork-mshe.univ-fcomte.fr:8080/geonetwork/srv/fre/csw</a>'
from owslib.csw import CatalogueServiceWeb
csw = CatalogueServiceWeb(geonetwork)
csw.transaction(ttype='insert', typename='gmd:MD_Metadata',
record=open("metadata.xml").read())
</pre>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">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 ?
</pre>
</blockquote>
<pre wrap="">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
</pre>
</blockquote>
sorry, but i do not know how to set username and passord in the
csw transaction.<br>
<br>
<table class="highlight tab-size js-file-line-container"
data-tab-size="8">
<tbody>
<tr>
<td id="LC393" class="blob-code blob-code-inner
js-file-line"><span class="pl-k">def</span> <span
class="pl-en">transaction</span>(<span class="pl-smi"><span
class="pl-smi">self</span></span>, <span
class="pl-smi">ttype</span><span class="pl-k">=</span><span
class="pl-c1">None</span>, <span class="pl-smi">typename</span><span
class="pl-k">=</span><span class="pl-s"><span
class="pl-pds">'</span>csw:Record<span
class="pl-pds">'</span></span>, <span
class="pl-smi">record</span><span class="pl-k">=</span><span
class="pl-c1">None</span>, <span class="pl-smi">propertyname</span><span
class="pl-k">=</span><span class="pl-c1">None</span>,
<span class="pl-smi">propertyvalue</span><span
class="pl-k">=</span><span class="pl-c1">None</span>,
<span class="pl-smi">bbox</span><span class="pl-k">=</span><span
class="pl-c1">None</span>, <span class="pl-smi">keywords</span><span
class="pl-k">=</span>[], <span class="pl-smi">cql</span><span
class="pl-k">=</span><span class="pl-c1">None</span>,
<span class="pl-smi">identifier</span><span class="pl-k">=</span><span
class="pl-c1">None</span>):</td>
</tr>
<tr>
</tr>
</tbody>
</table>
<table class="highlight tab-size js-file-line-container"
data-tab-size="8">
<tbody>
<tr>
</tr>
<tr>
<td id="LC394" class="blob-code blob-code-inner
js-file-line"> <span class="pl-s"><span class="pl-pds">"""</span></span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC395" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"></span><br>
</td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC396" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> Construct and process
a Transaction request</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC397" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"></span><br>
</td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC398" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> Parameters</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC399" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> ----------</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC400" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"></span><br>
</td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC401" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> - ttype: the type of
transaction 'insert, 'update', 'delete'</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC402" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> - typename: the
typename to describe (default is 'csw:Record')</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC403" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> - record: the XML
record to insert</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC404" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> - propertyname: the
RecordProperty/PropertyName to Filter against</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC405" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> - propertyvalue: the
RecordProperty Value to Filter against (for updates)</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC406" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> - bbox: the bounding
box of the spatial query in the form
[minx,miny,maxx,maxy]</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC407" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> - keywords: list of
keywords</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC408" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> - cql: common query
language text. Note this overrides bbox, qtype,
keywords</span></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td id="LC409" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"> - identifier: record
identifier. Note this overrides bbox, qtype, keywords,
cql</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
<table class="highlight tab-size js-file-line-container"
data-tab-size="8">
<tbody>
<tr>
<td id="LC410" class="blob-code blob-code-inner
js-file-line"><span class="pl-s"></span><br>
</td>
</tr>
</tbody>
</table>
<br>
thanks for your help,<br>
<br>
<br>
Ernest.<br>
<br>
</blockquote>
<br>
I realized that username and password should be send when opening
CSW !<br>
<tt>csw = CatalogueServiceWeb(geonetwork, skip_caps=True,
username='admin', password='admin')</tt><tt><br>
</tt><br>
but i have a new error...<br>
<br>
<tt>>>> geonetwork = '<a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="http://geonetwork-mshe.univ-fcomte.fr:8080/geonetwork/srv/fre/csw">http://geonetwork-mshe.univ-fcomte.fr:8080/geonetwork/srv/fre/csw</a>'</tt><tt><br>
</tt><tt>>>> from owslib.csw import CatalogueServiceWeb</tt><tt><br>
</tt><tt>>>> csw = CatalogueServiceWeb(geonetwork,
skip_caps=True, username='admin', password='admin')</tt><tt><br>
</tt><tt>>>> csw.transaction(ttype='insert',
typename='gmd:MD_Metadata', record=open('metadata.xml').read())</tt><tt><br>
</tt><tt>Traceback (most recent call last):</tt><tt><br>
</tt><tt> File "<stdin>", line 1, in <module></tt><tt><br>
</tt><tt> File "/usr/lib/python2.7/dist-packages/owslib/csw.py",
line 429, in transaction</tt><tt><br>
</tt><tt> node1.append(etree.fromstring(record))</tt><tt><br>
</tt><tt> File "src/lxml/lxml.etree.pyx", line 3213, in
lxml.etree.fromstring (src/lxml/lxml.etree.c:82934)</tt><tt><br>
</tt><tt> File "src/lxml/parser.pxi", line 1819, in
lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:124533)</tt><tt><br>
</tt><tt> File "src/lxml/parser.pxi", line 1707, in
lxml.etree._parseDoc (src/lxml/lxml.etree.c:123074)</tt><tt><br>
</tt><tt> File "src/lxml/parser.pxi", line 1079, in
lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:117114)</tt><tt><br>
</tt><tt> File "src/lxml/parser.pxi", line 573, in
lxml.etree._ParserContext._handleParseResultDoc
(src/lxml/lxml.etree.c:110510)</tt><tt><br>
</tt><tt> File "src/lxml/parser.pxi", line 683, in
lxml.etree._handleParseResult (src/lxml/lxml.etree.c:112276)</tt><tt><br>
</tt><tt> File "src/lxml/parser.pxi", line 624, in
lxml.etree._raiseParseError (src/lxml/lxml.etree.c:111367)</tt><tt><br>
</tt><tt>lxml.etree.XMLSyntaxError: None</tt><tt><br>
</tt><br>
any help ?<br>
<br>
Ernest.<br>
</blockquote>
<br>
sorry, the metadata file was empty, for an unknow reason... <span
class="moz-smiley-s10"><span> >:o </span></span><br>
so, i can try another time, with user authentication :<br>
<br>
<tt>>>> geonetwork =
'<a class="moz-txt-link-freetext" href="http://geonetwork-mshe.univ-fcomte.fr:8080/geonetwork/srv/fre/csw">http://geonetwork-mshe.univ-fcomte.fr:8080/geonetwork/srv/fre/csw</a>'</tt><tt><br>
</tt><tt>>>> from owslib.csw import CatalogueServiceWeb</tt><tt><br>
</tt><tt>>>> csw = CatalogueServiceWeb(geonetwork,
skip_caps=True, username='admin', password='admin')</tt><tt><br>
</tt><tt>>>> </tt><tt><br>
</tt><tt>>>> csw.transaction(ttype='insert',
typename='gmd:MD_Metadata', record=open('metadata.xml').read())</tt><tt><br>
</tt><tt>Traceback (most recent call last):</tt><tt><br>
</tt><tt> File "<stdin>", line 1, in <module></tt><tt><br>
</tt><tt> File "/usr/lib/python2.7/dist-packages/owslib/csw.py",
line 446, in transaction</tt><tt><br>
</tt><tt> self._invoke()</tt><tt><br>
</tt><tt> File "/usr/lib/python2.7/dist-packages/owslib/csw.py",
line 680, in _invoke</tt><tt><br>
</tt><tt> raise RuntimeError('Document is XML, but not CSW-ish')</tt><tt><br>
</tt><tt>RuntimeError: Document is XML, but not CSW-ish</tt><br>
<br>
it seems the error is the same...<br>
what am i missing ?<br>
<br>
<br>
Ernest.<br>
<br>
<br>
<blockquote cite="mid:57286B56.7060003@univ-fcomte.fr" type="cite">
<br>
<blockquote cite="mid:572869D5.7040602@univ-fcomte.fr" type="cite">
<br>
<blockquote
cite="mid:CAFWXLWWOinYvBVwG3J8D8hgnFueL8L40r9aniYQu90iLq2Cv0Q@mail.gmail.com"
type="cite">
<blockquote type="cite">
<pre wrap="">Thanks in advance,
Ernest.
</pre>
</blockquote>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Ernest CHIARELLO - <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Ernest.Chiarello@univ-fcomte.fr">Ernest.Chiarello@univ-fcomte.fr</a>
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
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
OWSLib-users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:OWSLib-users@lists.osgeo.org">OWSLib-users@lists.osgeo.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/owslib-users">http://lists.osgeo.org/mailman/listinfo/owslib-users</a></pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Ernest CHIARELLO - <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Ernest.Chiarello@univ-fcomte.fr">Ernest.Chiarello@univ-fcomte.fr</a>
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
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
OWSLib-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OWSLib-users@lists.osgeo.org">OWSLib-users@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/owslib-users">http://lists.osgeo.org/mailman/listinfo/owslib-users</a></pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Ernest CHIARELLO - <a class="moz-txt-link-abbreviated" href="mailto:Ernest.Chiarello@univ-fcomte.fr">Ernest.Chiarello@univ-fcomte.fr</a>
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
</pre>
</body>
</html>