mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-04 00:04:03 -04:00
[WFS] Only use NAMESPACE for WFS 1 and NAMESPACES for WFS 2.0
This commit is contained in:
parent
b24906550b
commit
e6a44f6876
@ -43,14 +43,17 @@ bool QgsWFSDescribeFeatureType::requestFeatureType( const QString &WFSVersion, c
|
||||
query.addQueryItem( QStringLiteral( "NAMESPACES" ), namespaceValue );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !namespaceValue.isEmpty() )
|
||||
{
|
||||
query.addQueryItem( QStringLiteral( "NAMESPACE" ), namespaceValue );
|
||||
}
|
||||
}
|
||||
|
||||
// Always add singular form for broken servers
|
||||
// See: https://github.com/qgis/QGIS/issues/41087
|
||||
query.addQueryItem( QStringLiteral( "TYPENAME" ), typeName );
|
||||
if ( !namespaceValue.isEmpty() )
|
||||
{
|
||||
query.addQueryItem( QStringLiteral( "NAMESPACE" ), namespaceValue );
|
||||
}
|
||||
|
||||
url.setQuery( query );
|
||||
return sendGET( url, QString(), true, false );
|
||||
|
@ -335,8 +335,13 @@ QUrl QgsWFSFeatureDownloaderImpl::buildURL( qint64 startIndex, long long maxFeat
|
||||
if ( !namespaces.isEmpty() )
|
||||
{
|
||||
if ( mShared->mWFSVersion.startsWith( QLatin1String( "2.0" ) ) )
|
||||
{
|
||||
query.addQueryItem( QStringLiteral( "NAMESPACES" ), namespaces );
|
||||
query.addQueryItem( QStringLiteral( "NAMESPACE" ), namespaces );
|
||||
}
|
||||
else
|
||||
{
|
||||
query.addQueryItem( QStringLiteral( "NAMESPACE" ), namespaces );
|
||||
}
|
||||
}
|
||||
|
||||
getFeatureUrl.setQuery( query );
|
||||
|
@ -48,11 +48,10 @@ bool QgsWFSGetFeature::request( bool synchronous, const QString &WFSVersion, con
|
||||
else
|
||||
{
|
||||
query.addQueryItem( QStringLiteral( "TYPENAME" ), typeName );
|
||||
}
|
||||
|
||||
if ( !namespaceValue.isEmpty() )
|
||||
{
|
||||
query.addQueryItem( QStringLiteral( "NAMESPACE" ), namespaceValue );
|
||||
if ( !namespaceValue.isEmpty() )
|
||||
{
|
||||
query.addQueryItem( QStringLiteral( "NAMESPACE" ), namespaceValue );
|
||||
}
|
||||
}
|
||||
|
||||
if ( !filter.isEmpty() )
|
||||
|
@ -4642,7 +4642,7 @@ class TestPyQgsWFSProvider(QgisTestCase, ProviderTestCase):
|
||||
with open(
|
||||
sanitize(
|
||||
endpoint,
|
||||
"?SERVICE=WFS&REQUEST=DescribeFeatureType&VERSION=2.0.0&TYPENAMES=my:typename&NAMESPACES=xmlns(my,http://my)&TYPENAME=my:typename&NAMESPACE=xmlns(my,http://my)",
|
||||
"?SERVICE=WFS&REQUEST=DescribeFeatureType&VERSION=2.0.0&TYPENAMES=my:typename&NAMESPACES=xmlns(my,http://my)&TYPENAME=my:typename",
|
||||
),
|
||||
"wb",
|
||||
) as f:
|
||||
@ -4677,7 +4677,7 @@ class TestPyQgsWFSProvider(QgisTestCase, ProviderTestCase):
|
||||
with open(
|
||||
sanitize(
|
||||
endpoint,
|
||||
"?SERVICE=WFS&REQUEST=GetFeature&VERSION=2.0.0&TYPENAMES=my:typename&SRSNAME=urn:ogc:def:crs:EPSG::32631&NAMESPACES=xmlns(my,http://my)&NAMESPACE=xmlns(my,http://my)",
|
||||
"?SERVICE=WFS&REQUEST=GetFeature&VERSION=2.0.0&TYPENAMES=my:typename&SRSNAME=urn:ogc:def:crs:EPSG::32631&NAMESPACES=xmlns(my,http://my)",
|
||||
),
|
||||
"wb",
|
||||
) as f:
|
||||
@ -4731,7 +4731,7 @@ class TestPyQgsWFSProvider(QgisTestCase, ProviderTestCase):
|
||||
with open(
|
||||
sanitize(
|
||||
endpoint,
|
||||
"?SERVICE=WFS&REQUEST=DescribeFeatureType&VERSION=2.0.0&TYPENAMES=my:typename&NAMESPACES=xmlns(my,http://my)&TYPENAME=my:typename&NAMESPACE=xmlns(my,http://my)",
|
||||
"?SERVICE=WFS&REQUEST=DescribeFeatureType&VERSION=2.0.0&TYPENAMES=my:typename&NAMESPACES=xmlns(my,http://my)&TYPENAME=my:typename",
|
||||
),
|
||||
"wb",
|
||||
) as f:
|
||||
@ -4766,7 +4766,7 @@ class TestPyQgsWFSProvider(QgisTestCase, ProviderTestCase):
|
||||
with open(
|
||||
sanitize(
|
||||
endpoint,
|
||||
"?SERVICE=WFS&REQUEST=GetFeature&VERSION=2.0.0&TYPENAMES=my:typename&SRSNAME=urn:ogc:def:crs:EPSG::32631&NAMESPACES=xmlns(my,http://my)&NAMESPACE=xmlns(my,http://my)",
|
||||
"?SERVICE=WFS&REQUEST=GetFeature&VERSION=2.0.0&TYPENAMES=my:typename&SRSNAME=urn:ogc:def:crs:EPSG::32631&NAMESPACES=xmlns(my,http://my)",
|
||||
),
|
||||
"wb",
|
||||
) as f:
|
||||
@ -4820,7 +4820,7 @@ class TestPyQgsWFSProvider(QgisTestCase, ProviderTestCase):
|
||||
with open(
|
||||
sanitize(
|
||||
endpoint,
|
||||
"?SERVICE=WFS&REQUEST=DescribeFeatureType&VERSION=2.0.0&TYPENAMES=my:typename&NAMESPACES=xmlns(my,http://my)&TYPENAME=my:typename&NAMESPACE=xmlns(my,http://my)",
|
||||
"?SERVICE=WFS&REQUEST=DescribeFeatureType&VERSION=2.0.0&TYPENAMES=my:typename&NAMESPACES=xmlns(my,http://my)&TYPENAME=my:typename",
|
||||
),
|
||||
"wb",
|
||||
) as f:
|
||||
@ -4863,7 +4863,7 @@ class TestPyQgsWFSProvider(QgisTestCase, ProviderTestCase):
|
||||
<fes:Literal>1</fes:Literal>
|
||||
</fes:PropertyIsEqualTo>
|
||||
</fes:Filter>
|
||||
&NAMESPACES=xmlns(my,http://my)&NAMESPACE=xmlns(my,http://my)""",
|
||||
&NAMESPACES=xmlns(my,http://my)""",
|
||||
),
|
||||
"wb",
|
||||
) as f:
|
||||
@ -4919,7 +4919,7 @@ class TestPyQgsWFSProvider(QgisTestCase, ProviderTestCase):
|
||||
</fes:PropertyIsGreaterThan>
|
||||
</fes:And>
|
||||
</fes:Filter>
|
||||
&NAMESPACES=xmlns(my,http://my)&NAMESPACE=xmlns(my,http://my)""",
|
||||
&NAMESPACES=xmlns(my,http://my)""",
|
||||
),
|
||||
"wb",
|
||||
) as f:
|
||||
@ -4970,7 +4970,7 @@ class TestPyQgsWFSProvider(QgisTestCase, ProviderTestCase):
|
||||
</fes:PropertyIsEqualTo>
|
||||
</fes:And>
|
||||
</fes:Filter>
|
||||
&NAMESPACES=xmlns(my,http://my)&NAMESPACE=xmlns(my,http://my)""",
|
||||
&NAMESPACES=xmlns(my,http://my)""",
|
||||
),
|
||||
"wb",
|
||||
) as f:
|
||||
|
Loading…
x
Reference in New Issue
Block a user