Good plan. You caught me being lazy... And also hoping I was just doing something dumb. I'll report back.
Thanks for all you do, Jody! Matt ________________________________ From: Jody Garnett <jody.garn...@gmail.com> Sent: Thursday, August 1, 2024 11:40 AM To: Matthew Charton <mchar...@datascoutpro.com> Cc: geoserver-users@lists.sourceforge.net <geoserver-users@lists.sourceforge.net> Subject: Re: [Geoserver-users] Unable to update GML Multisurface after GeoServer upgrade It would help if you could identify when (what version upgrade) it stopped working in? You can find out quickly by testing 2.21 (1/2 way bwtween) and then test higher (or lowere) depending on if it works. Once you find that out you can look at the release notes for the update that breaks things. And then we can look for any bug fixes or features that may be involved. Since it’s a .NET error it feels like the problem may be with the server (or something) rather than in GeoServer which is written in Java and not .NET. (dot Net is a silly name / who starts a word with the end of a sentence - someone at Microsoft does not like grammar and is getting revenge). - - Jody Garnett On Thu, Aug 1, 2024 at 9:05 AM Matthew Charton <mchar...@datascoutpro.com<mailto:mchar...@datascoutpro.com>> wrote: Sorry for the crosspost from GIS Stackexchange (https://gis.stackexchange.com/questions/483890/unable-to-update-gml-multisurface-after-geoserver-upgrade), but the conversation there fizzled out. We are testing a (much needed) upgrade from GeoServer 2.17.2 to 2.25.1. We are currently stumped as to why we can't seem to be able to update or insert a multisurface using the same WFS transaction as with 2.17. I'm sure there is something simple we are missing here, so I'm hoping someone can point us in the right direction. Here is an example transaction that is failing: <wfs:Transaction service="WFS" version="1.1.1" xmlns:ogc="http://www.opengis.net/ogc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:MyWorkspace="http://mydomain.com/myworkspace"> <wfs:Update typeName="MyWorkspace:MyLayer"> <wfs:Property> <wfs:Name>Item_Name</wfs:Name> <wfs:Value><![CDATA[Bob]]></wfs:Value> </wfs:Property> <!--other properties--> <wfs:Property> <wfs:Name>SHAPE</wfs:Name> <wfs:Value> <gml:MultiSurface srsName='http://www.opengis.net/gml/srs/epsg.xml#4326'> <gml:surfaceMembers> <gml:Polygon> <gml:exterior> <gml:LinearRing> <gml:posList>-92.6834743019173 35.2264426107788 -92.6830394566101 35.2264555548522 -92.68301875 35.2266209299999 -92.6834852899999 35.22663787 -92.6834743019173 35.2264426107788</gml:posList> </gml:LinearRing> </gml:exterior> </gml:Polygon> <gml:Polygon> <gml:exterior> <gml:LinearRing> <gml:posList>-92.6830420474193 35.2264347826591 -92.6827235345709 35.2264521083911 -92.68272353 35.2266102100001 -92.68301873 35.22662093 -92.6830420474193 35.2264347826591</gml:posList> </gml:LinearRing> </gml:exterior> </gml:Polygon> </gml:surfaceMembers> </gml:MultiSurface> </wfs:Value> </wfs:Property> <ogc:Filter> <PropertyIsEqualTo> <PropertyName>OBJECTID</PropertyName> <Literal><![CDATA[100832369]]></Literal> </PropertyIsEqualTo> </ogc:Filter> </wfs:Update> </wfs:Transaction> And here is what I feel is the relevant error logged in GeoServer: ERROR [geoserver.wfs] - Transaction failed org.geoserver.wfs.WFSTransactionException: Update error: Error occured updating features ... Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: A .NET Framework error occurred during execution of user-defined routine or aggregate "geometry": System.FormatException: 24114: The label MULTISURFACE (((-92. in the input well-known text (WKT) is not valid. Valid labels are POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION, CIRCULARSTRING, COMPOUNDCURVE, CURVEPOLYGON and FULLGLOBE (geography Data Type only). Developer level logging shows the following "info" log: INFO [geoserver.wfs] - Request: transaction service = WFS version = 1.1.1 baseUrl = http://myurl:myport/geoserver/ group[0] = wfs:update=net.opengis.wfs.impl.UpdateElementTypeImpl@2f8c1c44 (filter: [[ OBJECTID = 100832369 ]], handle: null, inputFormat: <unset>, srsName: null, typeName: {http://myurl/myworkspace}mylayer)group[0]<http://myurl/myworkspace%7Dmylayer)group%5B0%5D> = wfs:delete=net.opengis.wfs.impl.DeleteElementTypeImpl@645e0daf (filter: [[ OBJECTID = 100832371 ]], handle: null, typeName: {http://myurl/myworkspace}mylayer<http://myurl/myworkspace%7Dmylayer>) update[0]: property[0]: ... several redacted properties and values ... name = SHAPE value = MULTIPOLYGON (((-92.6834743019173 35.2264426107788, -92.6830394566101 35.2264555548522, -92.68301875 35.2266209299999, -92.6834852899999 35.22663787, -92.6834743019173 35.2264426107788)), ((-92.6830420474193 35.2264347826591, -92.6827235345709 35.2264521083911, -92.68272353 35.2266102100001, -92.68301873 35.22662093, -92.6830420474193 35.2264347826591))) filter = [[ OBJECTID = 100832369 ]] inputFormat = x-application/gml:3 typeName = {http://myurl/myworkspace}mylayer<http://myurl/myworkspace%7Dmylayer> delete[0]: filter = [[ OBJECTID = 100832371 ]] typeName = {http://myurl/myworkspace}mylayer<http://myurl/myworkspace%7Dmylayer> releaseAction = ALL INFO [geoserver.servlets] - OutputStream was successfully aborted. (Note, I am doing a delete in the same transaction here in this log which I'm not showing in the example transaction above, but it happens without it as well.) Very interesting that the geometry is already converted to multipolygon here. Not sure why it isn't hitting SQL as a multipolygon. I have tried altering the WFS version of the transaction and specifying GML version and even changing to explicitly using multipolygon instead of multisurface, but I'm to the point that I'm just shooting in the dark. This is a bit of a showstopper for us with the upgrade, so any help would be very much appreciated. Thanks, Matt _______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net<mailto:Geoserver-users@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/geoserver-users
_______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users