[Geoserver-users] Error in gs-kml-2.5.1.jar

I am receiving the attached error when I attempt to deploy geoserver 2.5.1 on a test weblogic server. Has anyone else experienced this error.

2014-07-21 12:52:19,198 ERROR [servlet.DispatcherServlet] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘KMLEncoder’ defined in URL
[zip:/apps/oracle/product/12c/Middleware/user_projects/domains/CFPEApp_domain/servers/wfs/stage/TestGeoServer/TestGeoServer/WEB-INF/lib/gs-kml-2.5.1.jar!/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.geoserver.kml.KMLEncoder]: Constructor threw exception; nested exception is javax.xml.bind.JAXBException:
Exception Description: Invalid XmlElementRef on property abstractView on class de.micromata.opengis.kml.v_2_2_0.NetworkLinkControl. Referenced Element not declared.

  • with linked exception:

Thanks
Robert

This message and any enclosures are intended only for the addressee. Please
notify the sender by email if you are not the intended recipient. If you are
not the intended recipient, you may not use, copy, disclose, or distribute this
message or its contents or enclosures to any other person and any such actions
may be unlawful. Ball reserves the right to monitor and review all messages
and enclosures sent to or from this email address.

geoserver.log (35.4 KB)

On Mon, Jul 21, 2014 at 9:58 PM, Price, Robert C. <RCPRICE@anonymised.com> wrote:

  I am receiving the attached error when I attempt to deploy geoserver
2.5.1 on a test weblogic server. Has anyone else experienced this error.

2014-07-21 12:52:19,198 ERROR [servlet.DispatcherServlet] - Context
initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'KMLEncoder' defined in URL

[zip:/apps/oracle/product/12c/Middleware/user_projects/domains/CFPEApp_domain/servers/wfs/stage/TestGeoServer/TestGeoServer/WEB-INF/lib/gs-kml-2.5.1.jar!/applicationContext.xml]:
Instantiation of bean failed; nested exception is
org.springframework.beans.BeanInstantiationException: Could not instantiate
bean class [org.geoserver.kml.KMLEncoder]: Constructor threw exception;
nested exception is javax.xml.bind.JAXBException:
Exception Description: Invalid XmlElementRef on property abstractView on
class de.micromata.opengis.kml.v_2_2_0.NetworkLinkControl. Referenced
Element not declared.
  - with linked exception:

Just checked the kml schema, the declaration seems to be fine to me:

    @XmlElementRef(name = "AbstractViewGroup", namespace = "
http://www.opengis.net/kml/2.2&quot;\)
    protected AbstractView abstractView;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AbstractViewType", propOrder = {
    "abstractViewSimpleExtension",
    "abstractViewObjectExtension"
})
@XmlSeeAlso({
    Camera.class,
    LookAt.class
})
public abstract class AbstractView
    extends AbstractObject
    implements Cloneable
{

and the xml schema is:

<element name="NetworkLinkControl" type="kml:NetworkLinkControlType" />
<complexType name="NetworkLinkControlType" final="#all">
<sequence>
<element ref="kml:minRefreshPeriod" minOccurs="0" />
<element ref="kml:maxSessionLength" minOccurs="0" />
<element ref="kml:cookie" minOccurs="0" />
<element ref="kml:message" minOccurs="0" />
<element ref="kml:linkName" minOccurs="0" />
<element ref="kml:linkDescription" minOccurs="0" />
<element ref="kml:linkSnippet" minOccurs="0" />
<element ref="kml:expires" minOccurs="0" />
<element ref="kml:Update" minOccurs="0" />
<element ref="kml:AbstractViewGroup" minOccurs="0" />
<element ref="kml:NetworkLinkControlSimpleExtensionGroup" minOccurs="0"
maxOccurs="unbounded" />
<element ref="kml:NetworkLinkControlObjectExtensionGroup" minOccurs="0"
maxOccurs="unbounded" />
</sequence>
</complexType>

<element name="AbstractViewGroup" type="kml:AbstractViewType"
abstract="true" substitutionGroup="kml:AbstractObjectGroup" />
<complexType name="AbstractViewType" abstract="true">
<complexContent>
<extension base="kml:AbstractObjectType">
<sequence>
<element ref="kml:AbstractViewSimpleExtensionGroup" minOccurs="0"
maxOccurs="unbounded" />
<element ref="kml:AbstractViewObjectExtensionGroup" minOccurs="0"
maxOccurs="unbounded" />
</sequence>
</extension>
</complexContent>
</complexType>

The jar works fine in Jetty and Tomcat under different JDK versions (Oracle
and OpenJDK, 6 and 7) so my guess is that
weblogic is shipping with a customized version of jaxb that has troubles
with our usage of jaxb... but with a 2 minutes glance
on it I cannot tell what the problem is, or how to solve it.

Maybe weblogic has ways to force sage of the JDK libraries instead of the
container ones?

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 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

-------------------------------------------------------