bad or not json output via rest call to layergroup
Description
Environment
postgis 9.4
Debian GNU/Linux 8
geoserver 2.7.2
jetty 9.2.11.v2015052
Attachments
Activity

Similar problem occurs in rest/monitor/requests/
, when requesting json representation for request. Bug occurs in requests where RequestData contains bbox
element. XML response will contain correct dataset, while json representation will return empty response with 200 OK status. For example:
this works fine (samples taken from http://demo.geo-solutions.it/geoserver/rest/monitor/requests/):
xml:
{{<org.geoserver.monitor.RequestData>
<internalid>843</internalid>
<id>843</id>
<status>FINISHED</status>
<category>OTHER</category>
<path>/</path>
<body/>
<bodyContentLength>0</bodyContentLength>
<httpMethod>HEAD</httpMethod>
<startTime>2017-06-05 08:49:07.372 UTC</startTime>
<endTime>2017-06-05 08:49:07.374 UTC</endTime>
<totalTime>2</totalTime>
<remoteAddr>52.19.187.53</remoteAddr>
<remoteHost>ec2-52-19-187-53.eu-west-1.compute.amazonaws.com</remoteHost>
<remoteUser>anonymous</remoteUser>
<remoteUserAgent>
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36
</remoteUserAgent>
<remoteLat>0.0</remoteLat>
<remoteLon>0.0</remoteLon>
<host>demo.geo-solutions.it</host>
<internalHost>ks390295.kimsufi.com</internalHost>
<resources/>
<responseLength>0</responseLength>
<responseStatus>200</responseStatus>
</org.geoserver.monitor.RequestData>}}
json:
{{ {
"org.geoserver.monitor.RequestData": {
"internalid": 843,
"id": 843,
"status": "FINISHED",
"category": "OTHER",
"path": "/",
"body": "",
"bodyContentLength": [
0
],
"httpMethod": "HEAD",
"startTime": "2017-06-05 08:49:07.372 UTC",
"endTime": "2017-06-05 08:49:07.374 UTC",
"totalTime": 2,
"remoteAddr": "52.19.187.53",
"remoteHost": "ec2-52-19-187-53.eu-west-1.compute.amazonaws.com",
"remoteUser": "anonymous",
"remoteUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36",
"remoteLat": 0,
"remoteLon": 0,
"host": "demo.geo-solutions.it",
"internalHost": "ks390295.kimsufi.com",
"resources": "",
"responseLength": [
0
],
"responseStatus": 200
}
} }}
while this:
{{ <org.geoserver.monitor.RequestData>
<internalid>743</internalid>
<id>743</id>
<status>FINISHED</status>
<category>OWS</category>
<path>/ows</path>
<queryString>
styles=&format=image/png8&transparent=true&opacity=1&service=WMS&version=1.1.1&request=GetMap&layers=geosolutions:g30&srs=EPSG:4326&bbox=121.98120117187503,37.430419921875,121.98669433593751,37.4359130859375&width=256&height=256
</queryString>
<body/>
<bodyContentLength>0</bodyContentLength>
<httpMethod>GET</httpMethod>
<startTime>2017-06-05 08:22:37.461 UTC</startTime>
<endTime>2017-06-05 08:22:37.863 UTC</endTime>
<totalTime>402</totalTime>
<remoteAddr>221.249.6.10</remoteAddr>
<remoteHost>221x249x6x10.ap221.ftth.ucom.ne.jp</remoteHost>
<remoteUser>anonymous</remoteUser>
<remoteUserAgent>
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
</remoteUserAgent>
<remoteLat>0.0</remoteLat>
<remoteLon>0.0</remoteLon>
<host>demo.geo-solutions.it</host>
<internalHost>ks390295.kimsufi.com</internalHost>
<service>WMS</service>
<operation>GetMap</operation>
<owsVersion>1.1.1</owsVersion>
<resources>
<string>geosolutions:g30</string>
</resources>
<responseLength>3142</responseLength>
<responseContentType>image/png; mode=8bit</responseContentType>
<responseStatus>200</responseStatus>
<httpReferer>http://mapstore2.geo-solutions.it/mapstore/</httpReferer>
<bbox class="org.geotools.geometry.jts.ReferencedEnvelope">
<minx>121.98120117187503</minx>
<maxx>121.98669433593751</maxx>
<miny>37.430419921875</miny>
<maxy>37.4359130859375</maxy>
<crs class="org.geotools.referencing.crs.DefaultGeographicCRS">
<name class="org.geotools.referencing.NamedIdentifier">
<code>WGS 84</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl">
<title class="org.geotools.util.SimpleInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.SimpleInternationalString>
<default/>
<string>European Petroleum Survey Group</string>
</org.geotools.util.SimpleInternationalString>
</title>
<alternateTitles class="org.geotools.resources.UnmodifiableArrayList">
<array>
<org.geotools.util.SimpleInternationalString serialization="custom">
<unserializable-parents/>
<org.geotools.util.SimpleInternationalString>
<default/>
<string>EPSG</string>
</org.geotools.util.SimpleInternationalString>
</org.geotools.util.SimpleInternationalString>
<org.geotools.util.SimpleInternationalString serialization="custom">
<unserializable-parents/>
<org.geotools.util.SimpleInternationalString>
<default/>
<string>
EPSG data base version 8.6 on HSQL Database Engine engine.
</string>
</org.geotools.util.SimpleInternationalString>
</org.geotools.util.SimpleInternationalString>
</array>
</alternateTitles>
<dates class="empty-set"/>
<edition class="org.geotools.util.SimpleInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.SimpleInternationalString>
<default/>
<string>8.6</string>
</org.geotools.util.SimpleInternationalString>
</edition>
<editionDate>1416524400000</editionDate>
<identifiers class="org.geotools.resources.UnmodifiableArrayList">
<array>
<org.geotools.metadata.iso.IdentifierImpl>
<code>EPSG</code>
</org.geotools.metadata.iso.IdentifierImpl>
</array>
</identifiers>
<citedResponsibleParties class="org.geotools.resources.UnmodifiableArrayList">
<array>
<org.geotools.metadata.iso.citation.ResponsiblePartyImpl>
<organisationName class="org.geotools.util.SimpleInternationalString" reference="../../../../title"/>
<contactInfo class="org.geotools.metadata.iso.citation.ContactImpl">
<onLineResource class="org.geotools.metadata.iso.citation.OnLineResourceImpl">
<function>
<name>INFORMATION</name>
</function>
<linkage>http://www.epsg.org</linkage>
</onLineResource>
</contactInfo>
<role>
<name>PRINCIPAL_INVESTIGATOR</name>
</role>
</org.geotools.metadata.iso.citation.ResponsiblePartyImpl>
</array>
</citedResponsibleParties>
<presentationForm class="org.geotools.resources.UnmodifiableArrayList">
<array>
<org.opengis.metadata.citation.PresentationForm>
<name>TABLE_DIGITAL</name>
</org.opengis.metadata.citation.PresentationForm>
</array>
</presentationForm>
</authority>
<name class="org.geotools.util.ScopedName">
<scope class="org.geotools.util.LocalName">
<name class="string">EPSG</name>
</scope>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">WGS 84</name>
</name>
</name>
</name>
<identifiers class="singleton-set">
<org.geotools.referencing.NamedIdentifier>
<code>4326</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../name/authority"/>
<version>8.6</version>
<name class="org.geotools.util.ScopedName">
<scope class="org.geotools.util.LocalName" reference="../../../../name/name/scope"/>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">4326</name>
</name>
</name>
</org.geotools.referencing.NamedIdentifier>
</identifiers>
<domainOfValidity class="org.geotools.metadata.iso.extent.ExtentImpl">
<description class="org.geotools.util.SimpleInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.SimpleInternationalString>
<default/>
<string>World.</string>
</org.geotools.util.SimpleInternationalString>
</description>
<geographicElements class="org.geotools.resources.UnmodifiableArrayList">
<array>
<org.geotools.metadata.iso.extent.GeographicBoundingBoxImpl>
<inclusion>true</inclusion>
<westBoundLongitude>-180.0</westBoundLongitude>
<eastBoundLongitude>180.0</eastBoundLongitude>
<southBoundLatitude>-90.0</southBoundLatitude>
<northBoundLatitude>90.0</northBoundLatitude>
</org.geotools.metadata.iso.extent.GeographicBoundingBoxImpl>
</array>
</geographicElements>
<temporalElements class="empty-set"/>
<verticalElements class="empty-set"/>
</domainOfValidity>
<scope class="org.geotools.util.GrowableInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.GrowableInternationalString>
<default>
<localMap class="singleton-map">
<entry>
<null/>
<string>
Horizontal component of 3D system. Used by the GPS satellite navigation system and for NATO military geodetic surveying.
</string>
</entry>
</localMap>
</default>
</org.geotools.util.GrowableInternationalString>
</scope>
<coordinateSystem class="org.geotools.referencing.cs.DefaultEllipsoidalCS">
<name class="org.geotools.referencing.NamedIdentifier">
<code>
Ellipsoidal 2D CS. Axes: latitude, longitude. Orientations: north, east. UoM: degree
</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../name/authority"/>
<name class="org.geotools.util.ScopedName">
<scope class="org.geotools.util.LocalName" reference="../../../../name/name/scope"/>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">
Ellipsoidal 2D CS. Axes: latitude, longitude. Orientations: north, east. UoM: degree
</name>
</name>
</name>
</name>
<alias class="singleton-set">
<org.geotools.util.ScopedName>
<scope class="org.geotools.util.LocalName">
<name class="string">EPSG abbreviation</name>
</scope>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">NAD83(2011) / CA 4 ftUS</name>
</name>
</org.geotools.util.ScopedName>
</alias>
<identifiers class="singleton-set">
<org.geotools.referencing.NamedIdentifier>
<code>6422</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../name/authority"/>
<version>8.6</version>
</org.geotools.referencing.NamedIdentifier>
</identifiers>
<remarks class="org.geotools.util.GrowableInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.GrowableInternationalString>
<default>
<localMap class="singleton-map">
<entry>
<null/>
<string>
Coordinates referenced to this CS are in degrees. Any degree representation (e.g. DMSH, decimal, etc.) may be used but that used must be declared for the user by the supplier of data. Used in geographic 2D coordinate reference systems.
</string>
</entry>
</localMap>
</default>
</org.geotools.util.GrowableInternationalString>
</remarks>
<axis>
<org.geotools.referencing.cs.DefaultCoordinateSystemAxis>
<name class="org.geotools.referencing.NamedIdentifier">
<code>Geodetic longitude</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../../name/authority"/>
<name class="org.geotools.util.ScopedName">
<scope class="org.geotools.util.LocalName" reference="../../../../../../name/name/scope"/>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">Geodetic longitude</name>
</name>
</name>
</name>
<identifiers class="singleton-set">
<org.geotools.referencing.NamedIdentifier>
<code>107</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../../../name/authority"/>
<version>8.6</version>
</org.geotools.referencing.NamedIdentifier>
</identifiers>
<remarks class="org.geotools.util.GrowableInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.GrowableInternationalString>
<default>
<localMap class="singleton-map">
<entry>
<null/>
<string>
Angle from the prime meridian plane to the meridian plane passing through the given point, eastwards usually treated as positive. Used in geographic 2D and geographic 3D coordinate reference systems.
</string>
</entry>
</localMap>
</default>
</org.geotools.util.GrowableInternationalString>
</remarks>
<abbreviation>Long</abbreviation>
<direction>
<name>EAST</name>
</direction>
<unit class="javax.measure.unit.TransformedUnit">
<__parentUnit class="javax.measure.unit.AlternateUnit">
<_symbol>rad</_symbol>
<__parent class="javax.measure.unit.ProductUnit">
<__elements/>
<_hashCode>0</_hashCode>
</__parent>
</__parentUnit>
<__toParentUnit class="javax.measure.converter.MultiplyConverter">
<_factor>0.017453292519943295</_factor>
</__toParentUnit>
</unit>
<minimum>-180.0</minimum>
<maximum>180.0</maximum>
<rangeMeaning>
<name>WRAPAROUND</name>
</rangeMeaning>
</org.geotools.referencing.cs.DefaultCoordinateSystemAxis>
<org.geotools.referencing.cs.DefaultCoordinateSystemAxis>
<name class="org.geotools.referencing.NamedIdentifier">
<code>Geodetic latitude</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../../name/authority"/>
<name class="org.geotools.util.ScopedName">
<scope class="org.geotools.util.LocalName" reference="../../../../../../name/name/scope"/>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">Geodetic latitude</name>
</name>
</name>
</name>
<identifiers class="singleton-set">
<org.geotools.referencing.NamedIdentifier>
<code>106</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../../../name/authority"/>
<version>8.6</version>
</org.geotools.referencing.NamedIdentifier>
</identifiers>
<remarks class="org.geotools.util.GrowableInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.GrowableInternationalString>
<default>
<localMap class="singleton-map">
<entry>
<null/>
<string>
Angle from the equatorial plane to the perpendicular to the ellipsoid through a given point, northwards usually treated as positive. Used in geographic 2D and geographic 3D coordinate reference systems.
</string>
</entry>
</localMap>
</default>
</org.geotools.util.GrowableInternationalString>
</remarks>
<abbreviation>Lat</abbreviation>
<direction>
<name>NORTH</name>
</direction>
<unit class="javax.measure.unit.TransformedUnit" reference="../../org.geotools.referencing.cs.DefaultCoordinateSystemAxis/unit"/>
<minimum>-90.0</minimum>
<maximum>90.0</maximum>
<rangeMeaning>
<name>EXACT</name>
</rangeMeaning>
</org.geotools.referencing.cs.DefaultCoordinateSystemAxis>
</axis>
</coordinateSystem>
<datum class="org.geotools.referencing.datum.DefaultGeodeticDatum">
<name class="org.geotools.referencing.NamedIdentifier">
<code>World Geodetic System 1984</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../name/authority"/>
<name class="org.geotools.util.ScopedName">
<scope class="org.geotools.util.LocalName" reference="../../../../name/name/scope"/>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">World Geodetic System 1984</name>
</name>
</name>
</name>
<alias class="java.util.Collections$UnmodifiableSet">
<c class="linked-hash-set">
<org.geotools.util.ScopedName>
<scope class="org.geotools.util.LocalName" reference="../../../../../coordinateSystem/alias/org.geotools.util.ScopedName/scope"/>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">WGS 84</name>
</name>
</org.geotools.util.ScopedName>
<org.geotools.util.ScopedName>
<scope class="org.geotools.util.LocalName">
<name class="string">EPSG</name>
</scope>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">World Geodetic System 1984</name>
</name>
</org.geotools.util.ScopedName>
<org.geotools.util.ScopedName>
<scope class="org.geotools.util.LocalName">
<name class="string">OGR</name>
</scope>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">World_Geodetic_System_1984</name>
</name>
</org.geotools.util.ScopedName>
<org.geotools.util.ScopedName>
<scope class="org.geotools.util.LocalName">
<name class="string">ESRI</name>
</scope>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">D_WGS_1984</name>
</name>
</org.geotools.util.ScopedName>
<org.geotools.util.ScopedName>
<scope class="org.geotools.util.LocalName">
<name class="string">Oracle</name>
</scope>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">WGS 84</name>
</name>
</org.geotools.util.ScopedName>
<org.geotools.util.ScopedName>
<scope class="org.geotools.util.LocalName">
<name class="string">OGC</name>
</scope>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">WGS84</name>
</name>
</org.geotools.util.ScopedName>
<org.geotools.util.LocalName>
<name class="string">WGS_84</name>
</org.geotools.util.LocalName>
<org.geotools.util.LocalName>
<name class="string">WGS_1984</name>
</org.geotools.util.LocalName>
</c>
</alias>
<identifiers class="singleton-set">
<org.geotools.referencing.NamedIdentifier>
<code>6326</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../name/authority"/>
<version>8.6</version>
</org.geotools.referencing.NamedIdentifier>
</identifiers>
<remarks class="org.geotools.util.GrowableInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.GrowableInternationalString>
<default>
<localMap class="singleton-map">
<entry>
<null/>
<string>
EPSG::6326 has been the then current realisation. No distinction is made between the original and subsequent (G730, G873, G1150, G1674 and G1762) WGS 84 frames. Since 1997, WGS 84 has been maintained within 10cm of the then current ITRF.
</string>
</entry>
</localMap>
</default>
</org.geotools.util.GrowableInternationalString>
</remarks>
<anchorPoint class="org.geotools.util.GrowableInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.GrowableInternationalString>
<default>
<localMap class="singleton-map">
<entry>
<null/>
<string>
Defined through a consistent set of station coordinates. These have changed with time: by 0.7m on 1994-06-29 (G730), a further 0.2m on 1997-01-29 (G873), 0.06m on 2002-01-20 (G1150), 0.2m on 2012-02-08 (G1674) and 0.02m on 2013-10-16 (G1762).
</string>
</entry>
</localMap>
</default>
</org.geotools.util.GrowableInternationalString>
</anchorPoint>
<realizationEpoch>-9223372036854775808</realizationEpoch>
<domainOfValidity class="org.geotools.metadata.iso.extent.ExtentImpl" reference="../../domainOfValidity"/>
<scope class="org.geotools.util.GrowableInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.GrowableInternationalString>
<default>
<localMap class="singleton-map">
<entry>
<null/>
<string>Satellite navigation.</string>
</entry>
</localMap>
</default>
</org.geotools.util.GrowableInternationalString>
</scope>
<ellipsoid class="org.geotools.referencing.datum.DefaultEllipsoid">
<name class="org.geotools.referencing.NamedIdentifier">
<code>WGS 84</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../name/authority"/>
<name class="org.geotools.util.ScopedName">
<scope class="org.geotools.util.LocalName" reference="../../../../../name/name/scope"/>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">WGS 84</name>
</name>
</name>
</name>
<alias class="java.util.Collections$UnmodifiableSet">
<c class="linked-hash-set">
<org.geotools.util.ScopedName>
<scope class="org.geotools.util.LocalName">
<name class="string">EPSG alias</name>
</scope>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">WGS84</name>
</name>
</org.geotools.util.ScopedName>
<org.geotools.util.ScopedName reference="../../../../alias/c/org.geotools.util.ScopedName[2]"/>
<org.geotools.util.ScopedName reference="../../../../alias/c/org.geotools.util.ScopedName[3]"/>
<org.geotools.util.ScopedName reference="../../../../alias/c/org.geotools.util.ScopedName[4]"/>
<org.geotools.util.ScopedName reference="../../../../alias/c/org.geotools.util.ScopedName[5]"/>
<org.geotools.util.ScopedName reference="../../../../alias/c/org.geotools.util.ScopedName[6]"/>
<org.geotools.util.LocalName reference="../../../../alias/c/org.geotools.util.LocalName"/>
<org.geotools.util.LocalName reference="../../../../alias/c/org.geotools.util.LocalName[2]"/>
</c>
</alias>
<identifiers class="singleton-set">
<org.geotools.referencing.NamedIdentifier>
<code>7030</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../../name/authority"/>
<version>8.6</version>
</org.geotools.referencing.NamedIdentifier>
</identifiers>
<remarks class="org.geotools.util.GrowableInternationalString" serialization="custom">
<unserializable-parents/>
<org.geotools.util.GrowableInternationalString>
<default>
<localMap class="singleton-map">
<entry>
<null/>
<string>
Inverse flattening derived from four defining parameters (semi-major axis; C20 = -484.16685*10e-6; earth's angular velocity w = 7292115e11 rad/sec; gravitational constant GM = 3986005e8 m*m*m/s/s).
</string>
</entry>
</localMap>
</default>
</org.geotools.util.GrowableInternationalString>
</remarks>
<semiMajorAxis>6378137.0</semiMajorAxis>
<semiMinorAxis>6356752.314245179</semiMinorAxis>
<inverseFlattening>298.257223563</inverseFlattening>
<ivfDefinitive>true</ivfDefinitive>
<unit class="javax.measure.unit.BaseUnit">
<_symbol>m</_symbol>
</unit>
</ellipsoid>
<primeMeridian class="org.geotools.referencing.datum.DefaultPrimeMeridian">
<name class="org.geotools.referencing.NamedIdentifier">
<code>Greenwich</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../name/authority"/>
<name class="org.geotools.util.ScopedName">
<scope class="org.geotools.util.LocalName" reference="../../../../../name/name/scope"/>
<separator>:</separator>
<name class="org.geotools.util.LocalName">
<asScopedName class="org.geotools.util.ScopedName" reference="../.."/>
<name class="string">Greenwich</name>
</name>
</name>
</name>
<identifiers class="singleton-set">
<org.geotools.referencing.NamedIdentifier>
<code>8901</code>
<codespace>EPSG</codespace>
<authority class="org.geotools.metadata.iso.citation.CitationImpl" reference="../../../../../name/authority"/>
<version>8.6</version>
</org.geotools.referencing.NamedIdentifier>
</identifiers>
<greenwichLongitude>0.0</greenwichLongitude>
<angularUnit class="javax.measure.unit.TransformedUnit" reference="../../../coordinateSystem/axis/org.geotools.referencing.cs.DefaultCoordinateSystemAxis/unit"/>
</primeMeridian>
</datum>
</crs>
</bbox>
</org.geoserver.monitor.RequestData>}}
causes empty json response
Going to guess this is a deep xstream xml --> json conversion bug.
The original has a bunch of empty style tags:
<styles>
<style/>
<style/>
<style/>
...
<style/>
</styles>
For reference the strange output is:
"style":[
"",
"",
{
"style":[
"",
""
]
},
{
"style":[
"",
"",
{
"style":[
"",
""
]
},
{
"style":[
"",
"",
{
"style":[
"",
""
]
},
...
{
"style":"",
"bounds":{
"minx":865748.125,
"maxx":965511.1875,
"miny":73238.828125,
"maxy":166253.1875,
"crs":{
"@class":"projected",
"$":"EPSG:27562"
}
}
}
...
}
]
}
2 grouped layers (VECTEUR and AUTOROUTE) are created with many layers (not the same set of layer)
each layer has its own SLD style assigned
all layers can be previewed properly
The call to http://carto-geoserver:8080/geoserver/rest/workspaces/SDIS/layergroups/VECTEUR.json returns nothing and we get this exception in geoserver logs:
2015-10-06 14:47:27,539 ERROR [geoserver.rest] - Exception intercepted java.util.EmptyStackException at org.codehaus.jettison.util.FastStack.peek(FastStack.java:39) at org.codehaus.jettison.mapped.MappedXMLStreamWriter.setNewValue(MappedXMLStreamWriter.java:121) at org.codehaus.jettison.mapped.MappedXMLStreamWriter.makeCurrentJSONObject(MappedXMLStreamWriter.java:113) at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:238) at com.thoughtworks.xstream.io.xml.StaxWriter.startNode(StaxWriter.java:191) at com.thoughtworks.xstream.io.json.JettisonStaxWriter.startNode(JettisonStaxWriter.java:103) at com.thoughtworks.xstream.io.ExtendedHierarchicalStreamWriterHelper.startNode(ExtendedHierarchicalStreamWriterHelper.java:17) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:200) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.<init>(AbstractReflectionConverter.java:189) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:135) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:83) at com.thoughtworks.xstream.core.TreeMarshaller.convert(TreeMarshaller.java:70) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshallField(AbstractReflectionConverter.java:250) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:226) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.<init>(AbstractReflectionConverter.java:189) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:135) at org.geoserver.config.util.XStreamPersister$AbstractReflectionConverter.doMarshal(XStreamPersister.java:1470) at org.geoserver.config.util.XStreamPersister$LayerGroupInfoConverter.doMarshal(XStreamPersister.java:1953) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:83) at com.thoughtworks.xstream.core.TreeMarshaller.convert(TreeMarshaller.java:70) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82) at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37) at com.thoughtworks.xstream.XStream.marshal(XStream.java:1022) at com.thoughtworks.xstream.XStream.marshal(XStream.java:1011) at com.thoughtworks.xstream.XStream.toXML(XStream.java:984) at org.geoserver.config.util.XStreamPersister.save(XStreamPersister.java:555) at org.geoserver.catalog.rest.AbstractCatalogResource$2.write(AbstractCatalogResource.java:68) at org.geoserver.rest.format.StreamDataFormat$1.write(StreamDataFormat.java:49) at com.noelios.restlet.http.HttpServerCall.writeResponseBody(HttpServerCall.java:342) at com.noelios.restlet.http.HttpServerCall.sendResponse(HttpServerCall.java:306) at com.noelios.restlet.ext.servlet.ServletCall.sendResponse(ServletCall.java:306) at org.geoserver.rest.GeoServerServletConverter.commit(GeoServerServletConverter.java:54) at com.noelios.restlet.ext.servlet.ServletConverter.service(ServletConverter.java:130) at org.geoserver.rest.RESTDispatcher.handleRequestInternal(RESTDispatcher.java:87) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:256) at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:219) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75) at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71) at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71) at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73) at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73) at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69) at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73) at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92) at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:83) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53) at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73) at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173) at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:135) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:83) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745)
The call to http://carto-geoserver:8080/geoserver/rest/workspaces/SDIS/layergroups/VECTEUR.xml returns good data (see vecteur.xml file).
The call to http://carto-geoserver:8080/geoserver/rest/workspaces/SDIS/layergroups/AUTOROUTES.json returns strange data in styles tag (see AUTOROUTES.json file).
And here is the xml version (see AUTOROUTES.xml file).
Is this a known bug, as I not found something equivalent? Is there a workaround?
Thanks,
regards,
Rot Ulet.