<div dir="ltr"><div><div>thanks for fix it. We'll wait for the release of pycsw 1.10.4.<br><br></div>Cheers.<br></div>Alejandro<br></div><br><div class="gmail_quote"><div dir="ltr">On Fri, 1 Apr 2016 at 16:17 Tom Kralidis <<a href="mailto:tomkralidis@gmail.com">tomkralidis@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Mar 30, 2016 at 3:54 PM, Tom Kralidis <<a href="mailto:tomkralidis@gmail.com" target="_blank">tomkralidis@gmail.com</a>> wrote:<br>
> On Wed, 30 Mar 2016, Alejandro Mostovoi wrote:<br>
><br>
>> Date: Wed, 30 Mar 2016 19:24:58 +0000<br>
>> From: Alejandro Mostovoi <<a href="mailto:ahmostovoi@gmail.com" target="_blank">ahmostovoi@gmail.com</a>><br>
>> To: "<a href="mailto:pycsw-devel@lists.osgeo.org" target="_blank">pycsw-devel@lists.osgeo.org</a>" <<a href="mailto:pycsw-devel@lists.osgeo.org" target="_blank">pycsw-devel@lists.osgeo.org</a>><br>
>> Subject: [pycsw-devel] Federated Search question<br>
>><br>
>> Hi All,<br>
>>   I'm trying to make a distributed search against other CSW server. Both<br>
>> servers use ISO 19139 metadata standard.<br>
>>   I'm performing a GetRecords operation using this xml:<br>
>><br>
>> <csw:GetRecords xmlns:csw="<a href="http://www.opengis.net/cat/csw/2.0.2" rel="noreferrer" target="_blank">http://www.opengis.net/cat/csw/2.0.2</a>"<br>
>> xmlns:ogc="<br>
>> <a href="http://www.opengis.net/ogc" rel="noreferrer" target="_blank">http://www.opengis.net/ogc</a>" xmlns:gml="<a href="http://www.opengis.net/gml" rel="noreferrer" target="_blank">http://www.opengis.net/gml</a>"<br>
>> service="CSW" version="2.0.2" resultType="results"<br>
>> *outputSchema="<a href="http://www.isotc211.org/2005/gmd" rel="noreferrer" target="_blank">http://www.isotc211.org/2005/gmd</a><br>
>> <<a href="http://www.isotc211.org/2005/gmd" rel="noreferrer" target="_blank">http://www.isotc211.org/2005/gmd</a>>"*> <csw:DistributedSearch<br>
>> hopCount="2"/><br>
>> <csw:Query typeNames="gmd:MD_Metadata"><br>
>> <csw:ElementSetName>full</csw:ElementSetName><br>
>> </csw:Query><br>
>> </csw:GetRecords><br>
>><br>
>> The response should have 2 records, but it has only 1 record and a comment<br>
>> which says: <!-- 1 result from <csw server url> --> and nothing else.<br>
>><br>
>> I made another test, changing the outputSchema to<br>
>><br>
>> *outputSchema="<a href="http://www.opengis.net/cat/csw/2.0.2*" rel="noreferrer" target="_blank">http://www.opengis.net/cat/csw/2.0.2*</a><br>
>> and the response has the 2 records, but with a different schema.<br>
>><br>
>> I need to get the 2 records with the *gmd* schema. What I'm doing wrong?<br>
>><br>
>> The pycsw version is 1.10.3, on Ubuntu Server 14.04 64-bit.<br>
>><br>
>> Thanks in advance.<br>
>> Alejandro<br>
>><br>
><br>
> My first guess is that the CSW that you are federated against is refusing to<br>
> transform<br>
> all metadata records to ISO.  Or that pycsw is not telling it to do so for<br>
> some reason.<br>
><br>
> What happens when you apply the following queries directly against the<br>
> federated CSW:<br>
><br>
> query 1:<br>
><br>
> <csw:GetRecords xmlns:csw="<a href="http://www.opengis.net/cat/csw/2.0.2" rel="noreferrer" target="_blank">http://www.opengis.net/cat/csw/2.0.2</a>"<br>
> service="CSW" version="2.0.2" resultType="results"<br>
> xmlns:gmd="<a href="http://www.isotc211.org/gmd" rel="noreferrer" target="_blank">http://www.isotc211.org/gmd</a>"<br>
> outputSchema="<a href="http://www.isotc211.org/2005/gmd" rel="noreferrer" target="_blank">http://www.isotc211.org/2005/gmd</a>"><br>
>   <csw:Query typeNames="gmd:MD_Metadata"><br>
>     <csw:ElementSetName>full</csw:ElementSetName><br>
>   </csw:Query><br>
> </csw:GetRecords><br>
><br>
> query 2:<br>
><br>
> <csw:GetRecords xmlns:csw="<a href="http://www.opengis.net/cat/csw/2.0.2" rel="noreferrer" target="_blank">http://www.opengis.net/cat/csw/2.0.2</a>"<br>
> service="CSW" version="2.0.2" resultType="results"><br>
>   <csw:Query typeNames="csw:Record"><br>
>     <csw:ElementSetName>full</csw:ElementSetName><br>
>   </csw:Query><br>
> </csw:GetRecords><br>
><br>
> If the federated CSW is returning 2 records in both cases, then there is a<br>
> moving part in pycsw's<br>
> distributed search.  In this case, if you turn on logging (level=DEBUG), run<br>
> only the two requests<br>
> and send the logging output (offline) that would be great.  If there's any<br>
> chance of sending the federated<br>
> CSW in question (offline) I can try to reproduce and debug deeper locally.<br>
><br>
<br>
Alejandro: digging deeper, the issue was rooted in an OWSLib bug (now fixed).<br>
See [1] for a full explanation.  In addition, I ended up making<br>
safeguard changes<br>
within pycsw itself in the case of an older OWSLib version.<br>
<br>
At this point, OWSLib 0.11.0 has been released and pycsw 1.10.3 will work<br>
expected given this upgrade.  As well, pycsw 1.10.4 (in the next week or so)<br>
will be released, which will cover the fix whether OWSLib has been upgraded<br>
to 0.11.0 or not.<br>
<br>
Thanks very much for reporting!<br>
<br>
Cheers<br>
<br>
..Tom<br>
<br>
[1] <a href="https://github.com/geopython/pycsw/issues/413" rel="noreferrer" target="_blank">https://github.com/geopython/pycsw/issues/413</a><br>
</blockquote></div>