我有一个MVC spring应用程序。 我正在使用这个weblogic.xml描述符(我想获得会话跟踪的fid:weblogic在URL中添加的JSESSION参数)
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<jsp-descriptor>
<precompile>true</precompile>
</jsp-descriptor>
<!-- Added to resolve classpath problems when AOP is involved (hibernate, jcore, ...),
or compatibility problems between JARs provided in WLS as well as in the application.
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
-->
<context-root>ecat</context-root>
<!-- context-root>iot_devices</context-root-->
<!-- weblogic.xml entry -->
<session-descriptor>
<session-param>
<param-name>UrlRewritingEnabled</param-name>
<param-value>false</param-value>
</session-param>
</session-descriptor>
</weblogic-web-app>
但令人惊讶的是我有这个错误:
[java] <23-May-2016 11:38:29 o'clock CEST> <Error> <J2EE> <BEA-160197> <Unable to load descriptor C:\Users\nunito\git\iot-devices\iot-devicesWeb\build\iot-devicesWeb/WEB-INF/weblogic.xml of module null. The error is weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
[java] problem: cvc-complex-type.2.4a: Expected elements 'timeout-secs@http://www.bea.com/ns/weblogic/weblogic-web-app invalidation-interval-secs@http://www.bea.com/ns/weblogic/weblogic-web-app debug-enabled@http://www.bea.com/ns/weblogic/weblogic-web-app id-length@http://www.bea.com/ns/weblogic/weblogic-web-app tracking-enabled@http://www.bea.com/ns/weblogic/weblogic-web-app cache-size@http://www.bea.com/ns/weblogic/weblogic-web-app max-in-memory-sessions@http://www.bea.com/ns/weblogic/weblogic-web-app cookies-enabled@http://www.bea.com/ns/weblogic/weblogic-web-app cookie-name@http://www.bea.com/ns/weblogic/weblogic-web-app cookie-path@http://www.bea.com/ns/weblogic/weblogic-web-app cookie-domain@http://www.bea.com/ns/weblogic/weblogic-web-app cookie-comment@http://www.bea.com/ns/weblogic/weblogic-web-app cookie-secure@http://www.bea.com/ns/weblogic/weblogic-web-app cookie-max-age-secs@http://www.bea.com/ns/weblogic/weblogic-web-app persistent-store-type@http://www.bea.com/ns/weblogic/weblogic-web-app persistent-store-cookie-name@http://www.bea.com/ns/weblogic/weblogic-web-app persistent-store-dir@http://www.bea.com/ns/weblogic/weblogic-web-app persistent-store-pool@http://www.bea.com/ns/weblogic/weblogic-web-app persistent-data-source-jndi-name@http://www.bea.com/ns/weblogic/weblogic-web-app persistent-session-flush-interval@http://www.bea.com/ns/weblogic/weblogic-web-app persistent-session-flush-threshold@http://www.bea.com/ns/weblogic/weblogic-web-app persistent-async-queue-timeout@http://www.bea.com/ns/weblogic/weblogic-web-app persistent-store-table@http://www.bea.com/ns/weblogic/weblogic-web-app jdbc-column-name-max-inactive-interval@http://www.bea.com/ns/weblogic/weblogic-web-app jdbc-connection-timeout-secs@http://www.bea.com/ns/weblogic/weblogic-web-app url-rewriting-enabled@http://www.bea.com/ns/weblogic/weblogic-web-app http-proxy-caching-of-cookies@http://www.bea.com/ns/weblogic/weblogic-web-app encode-session-id-in-query-params@http://www.bea.com/ns/weblogic/weblogic-web-app monitoring-attribute-name@http://www.bea.com/ns/weblogic/weblogic-web-app sharing-enabled@http://www.bea.com/ns/weblogic/weblogic-web-app' instead of 'session-param@http://www.bea.com/ns/weblogic/weblogic-web-app' here in element session-descriptor@http://www.bea.com/ns/weblogic/weblogic-web-app:<null>
[java] at weblogic.descriptor.internal.MarshallerFactory$1.evaluateResults(MarshallerFactory.java:234)
[java] at weblogic.descriptor.internal.MarshallerFactory$1.evaluateResults(MarshallerFactory.java:221)
[java] at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:146)
[java] at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:306)
[java] at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788)
[java] at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:409)
[java] at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:759)
[java] at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:768)
[java] at weblogic.servlet.internal.WebAppDescriptor.getWeblogicWebAppBean(WebAppDescriptor.java:170)
[java] at weblogic.servlet.jsp.jspc20.initDescriptors(jspc20.java:504)
[java] at weblogic.servlet.jsp.jspc20.runBody(jspc20.java:235)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:158)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:115)
[java] at weblogic.jspc.main(jspc.java:22)
答案 0 :(得分:1)
您似乎正在使用WebLogic的旧标记结构。
所以,你的部分应该是这样的:
<session-descriptor>
<session-param>
<param-name>url-rewriting-enabled</param-name>
<param-value>false</param-value>
</session-param>
</session-descriptor>
此外,如果您打算使用url重写,请确保将cookie-secure设置为false,因为它们相互冲突。查看描述符结构here。
希望它有所帮助!