09-01-2017 01:29 AM
I am getting the log as you specified
2017-09-01 13:55:22,686  DEBUG Intergraph.GeoMedia.Web.SDI.Gazetteer.Pipes.WFSGOriginatingPipe.Common.DataAccessManager [(null)] - Getting database recordset feature='GISDATA.STATECAPTITAL' sqlfilter=' ( ( ( NAME ) LIKE ( 'Raj%' ) ESCAPE '\' ) ) '.
But still no result.
Jai Ram Gaur
09-01-2017 01:32 AM
You have to go to the database level and try the query there. Open SQLPlus or SQL Developer and run:
What do you get?
09-01-2017 01:33 AM
Are you aware that the LIKE operator in Oracle is case sensitive so is there a row in the Oracle database object that starts "Raj"?
By default Geospatial Portal will capitalise the first letter of every word entered into a WFS-G search (regardless of how you type it within the interface). This is defined within the parameter "Intergraph.WebSolutions.Core.SDIPortal.WFSG.Gazetteer.NamesExcludedFromCapitalization" of the portal instance web.config file.
To work round this issue we have created Oracle Views that use the INITCAP function to create a new column that has the first letter of every word capitalised and then we configure the WFS-G services to query this column so the LIKE operator will work as the strings match.
09-01-2017 01:44 AM
Yes, i am getting result from the query in database.
SELECT NAME FROM GISDATA.STATECAPTITAL WHERE ( ( ( NAME ) LIKE ( 'L%' ) ESCAPE '\' ) );
yes, First alphabet of data is in upper case in our data which we are searching.
Jai Ram Gaur
09-01-2017 04:43 AM
Can you enable DEBUG log4net logging on your Geospatial Portal instance and attempt a search again and send us a copy of the portal log file?
09-01-2017 05:39 AM
As suggested, i have changed portal log level to DEBUG. It is showing some error in logs.
2017-09-01 18:03:49,092  WARN Intergraph.WebSolutions.Core.WebClient.Platform.Search.SearchDispatcherHelper [(null)] - NameSearcher thrown an exception: System.InvalidCastException: Unable to cast object of type 'System.Object' to type 'System.Double'.
at Intergraph.WebSolutions.Core.SDIPortal.WFSG.MapServices.WfsgNameSearcherStrategy.PrepareSearchResult(Feature feature)
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
2017-09-01 18:03:49,092  INFO Intergraph.WebSolutions.Core.WebClient.Platform.Search.SearchHandler [(null)] - Received at least 0 results from the search services
I am also attaching complete log file of WFS-G service as well as portal.
Jai Ram Gaur
09-01-2017 05:50 AM
Forgot to add data schema in last post:
CREATE TABLE "GISDATA"."STATECAPTITAL" ( "NAME" VARCHAR2(38 BYTE), "STATE" VARCHAR2(27 BYTE), "COUNTRY" VARCHAR2(5 BYTE), "GEOMETRY" "MDSYS"."SDO_GEOMETRY" , "ID2" NUMBER(14,0), CONSTRAINT STATECAPTITAL_GMIDX PRIMARY KEY ( ID2 ) )
09-01-2017 06:39 AM
Is this table in oracle created using GeoMedia through a Oracle Warehouse connection?
It looks as though you have configured your WFS-G in a way that it expects the geometry being returned to be of type PointGeometry:
<Position type="PointGeometry"> <!-- PointGeometry attributes: - fieldName - [mandatory] the field name with point field. The position should be taken from this field. --> <PointGeometry fieldName="GEOMETRY" /> </Position>
If the GOMETRY column is not actually a PointGeometry it might throw off the WFS-G serializer and in turn the Portal deserializer.
What if you switch the position type to "AnyGeometry"?
09-07-2017 03:14 AM
Has any body tried WFS-G on postgres?
Need help for postgres connection string and connection type
<WFSGOrigPipe name="origPipe" firstPipe="true" connectionLocation="apollodb@in-g-jgaur" connectionType="PostGISRW.GDatabase" connectionInfo="gisdata/gisdata@in-g-jgaur:5432/apollodb" serviceTitle="Intergraph OGC WFS-G (Gazetteer) Service" serviceFees="none" serviceAccessConstraints="none" defaultCoordsystem="EPSG:4326" swapCoord="true">
It's working on oracle now i need to do it same for another client on postgres.
Jai Ram Gaur
09-07-2017 03:47 AM
Below is some information on this topic that should help your inquiry.
Here is example connection for PostGIS
connectionInfo="host=188.8.131.52 dbname=geoname2 user=xxxx password=xxxx port=5432" connectionLocation="" connectionType="PostGISRW.GDatabase"
Connection type will be PostGISRW.GDatabase or PostGIS.GDatabase depending on the PostGIS dataserver in use.
Connection Location as you can see is not used.
For Geographicidentifier this will be the attribute searched/returned from the user of WFS-G in Portal. Position type can be any of the four acceptable values.