You need to log in before you can comment on or make changes to this bug.
E.g. in ExpressionBuilder.widget.php: if ( !is_array( $aszFile ) || strtoupper( substr( $aszFile[0], 0, 23 ) ) == "<SERVICEEXCEPTIONREPORT" ) it is checked whether or not the first 23 characters received are <ServiceExceptionReport. This works for Mapserver, but if a WMS has a response with a XML header and/or a DTD declaration etc., this does not work. The same code is also present in the ExtractWFSData widget.
this should be fixed for the next release.
fixed in CVS. The entire file is now searched for "serviceexception".
Bart, is it possible for you to verify this bug.
I checked this bug (with the CVS version) by using the ExpressionBuilder on an ArcIMS WMS adapter, which does not support DescribeLayer. I still get exception handling which is not very nice. The following happens: Warning: invalid argument supplied for foreach() .... in ExpressionBuilder.php on line 176. With the ExtractWFSData I get a javascript error message that the describelayer request failed, but the message contains something like %1$s ???
I looked a little deeper in what is happening here, at least with the ExpressionBuilder. The OGC exception is caught now, but the code in ExpressionBuilder.php still assumes getting an array back from the getWFSConnection function. ArcIMS returns: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ServiceExceptionReport SYSTEM "http://192.168.3.107: 8080/wmsconnector/schema/wms/1.1.1/WMS_exception_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1"> <ServiceException > Invalid REQUEST value. If doGet, then REQUEST Should be [map|GetMap|capabilities|GetCapabilities]. </ServiceException> </ServiceExceptionReport> And in layerattributes.php the getWFSResource function returns false because of the following check, which works correctly now: // check to see if an error was generated if ( strpos( strtoupper( $szXMLFile ), '<SERVICEEXCEPTIONREPORT' ) !== false ) { return false; }
Thanks Bart, I'll fix that the first chance I get.
Same as bug 187: Changing the version of this bug, but also the target to "-". the target defined as "1.99 beta release" is no longer going to be active. Paul and Darren, should decide whether this will be a fix for 1.99 beta 2 or beta 3. Thanks
updating the version to 1.99
Bart, is it possible for you to commit a fix for this?
Committed to CVS. Can somebody verify?
Bart, I don't see your changes in either the expression builder or in the extractwfs widgets. Did you commit to CVS?
Bill, it is revision 1.9 of ExpressionBuilder.php. I did not update/check the ExtractWFSData as yet, will do this on Thursday probably.
Yaaarg, sorry, my mistake. I updated the widget file(instead of the php file) and checked the log, when I didn't see a comment from you I fired off this question. I looked at te code and everything seems to be in order. I don't have an ArcIMS connection to use to test this fix. Is there anyone else that could test this?
Changed target for verification to 1.99 RC 1.