[Geoserver-users] WMS and Geoserver 2.2.5 - Get Capabilities error?

Im new to Geoserver and have been trying to add layers through a WMS.

I have tried both the following National Atlas Get Capabilities URL's that resolve fine in a browser.

http://webservices.nationalatlas.gov/wms/water?SERVICE=WMS&REQUEST=GetCapabilities
and
http://webservices.nationalatlas.gov/wms/water?request=GetCapabilities&service=WMS&version=1.3

However when added as a store in Geoserver, I get a "Connection test failed: Error while parsing XML." error when attempting to save.

Can anyone assist?

Thanks!

The logs are as follows:

rg.geotools.data.ows.AbstractOpenWebService.internalIssueRequest(AbstractOpenWebService.java:427)
org.geotools.data.wms.WebMapServer.issueRequest(WebMapServer.java:419)
org.geotools.data.ows.AbstractOpenWebService.negotiateVersion(AbstractOpenWebService.java:260)
org.geotools.data.ows.AbstractOpenWebService.<init>(AbstractOpenWebService.java:110)
org.geotools.data.wms.WebMapServer.<init>(WebMapServer.java:382)
org.geoserver.web.data.store.WMSStoreNewPage$WMSCapabilitiesURLValidator.onValidate(WMSStoreNewPage.java:94)
org.apache.wicket.validation.validator.AbstractValidator.validate(AbstractValidator.java:81)
org.apache.wicket.markup.html.form.FormComponent.validateValidators(FormComponent.java:1612)
org.apache.wicket.markup.html.form.FormComponent.validate(FormComponent.java:1201)
org.apache.wicket.markup.html.form.Form$23.validate(Form.java:2161)
org.apache.wicket.markup.html.form.Form$ValidationVisitor.formComponent(Form.java:173)
org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:441)
org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:428)
org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:428)
org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:428)
org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder(FormComponent.java:400)
org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder(Form.java:1233)
org.apache.wicket.markup.html.form.Form.validateComponents(Form.java:2153)
org.apache.wicket.markup.html.form.Form.validate(Form.java:2133)
org.apache.wicket.markup.html.form.Form.process(Form.java:1005)
org.apache.wicket.markup.html.form.Form.process(Form.java:955)
org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:920)
org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:135)
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)
org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:23)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

On Fri, Mar 29, 2013 at 5:38 AM, charlie <carowan@anonymised.com> wrote:

Im new to Geoserver and have been trying to add layers through a WMS.

I have tried both the following National Atlas Get Capabilities URL’s that resolve fine in a browser.

http://webservices.nationalatlas.gov/wms/water?SERVICE=WMS&REQUEST=GetCapabilities
and
http://webservices.nationalatlas.gov/wms/water?request=GetCapabilities&service=WMS&version=1.3

However when added as a store in Geoserver, I get a “Connection test failed: Error while parsing XML.” error when attempting to save.

Can anyone assist?

The full error says:

Bounding Box element contains no CRS/SRS attribute org.geotools.data.wms.xml.WMSComplexTypes$_BoundingBoxType.getValue(WMSComplexTypes.java:3064)

and indeed in the capabilities document there is this, which I don’t believe is valid (never seen something like this anyways):

I guess the WMS client embedded in GeoServer could be made more tolerant to these misbehaviors,
can you open a improvement request at jira.codehaus.org?

Another thing you should do is to contact the WMS maintainer and ask her/him to fix the problem.
Unfortunately they haven’t filled the contact information in the caps document (another thing that
is at least good practice filling) so you’ll have to find some other means of locating who’s maintaining
the WMS server

Cheers
Andrea

==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it