Jump to content
We've recently updated our Privacy Statement, available here ×

mzukowski

Members
  • Posts

    17
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Posts posted by mzukowski

  1. The JasperServer 3.0 release notes mention that there is now support for generating reports in flash format. How do I go about generating a flash report? Is it as simple as making a SOAP request with the REPORT_FORMAT set to "SWF"? There is no mention of this in the web services API manual.

  2. Variations of this have been posted here, however the old code had some bugs... this version works very well for us:

     

    http://pastebin.com/f4914d4db

     

     

    Here's a usage example (as a Rails controller action method):

     

    Code:

    def jasper_for_rails_example

    format = params[:format].downcase # e.g. 'PDF'
    mimetype = Mime::Type.lookup_by_extension(format)

    jasper = JasperClient.new(:username => 'foo', :«»password => 'bar')
    data = jasper.jasper.run_report('/foo/bar-report',
    format,
    'start_date' => Time.parse(params['start_date']),
    'end_date' => Time.parse(params['end_date']),
    'some_other_param' => params['some_other_param']
    )

    send_data(data, :type => mimetype)
    end
  3. it looks like whatever it is you're parsing is not a SOAP response from JasperServer but HTML... are you sure you're fetching data from the right URL? And are you sure JasperServer is returning data correctly at that URL (maybe it's replying with a generic "500 Server Error" HTML page at the URL you're querying?)
  4. Okay nevermind... I should double-check before I post. Anyway here's a slightly different version of the above monkeypatch. This one should work against soap4r 1.5.8. Also, it adds the instance variable @env to the response object rather than returning an array with the env data. I think this might be a bit safer since it doesn't break the API.

     

    Code:

    module SOAP
    module RPC

    class Proxy
    include SOAP

    def call(name, *params)
    # name must be used only for lookup
    op_info = lookup_operation(name)
    mapping_opt = create_mapping_opt
    req_header = create_request_header
    req_body = SOAPBody.new(
    op_info.request_body(params, @mapping_registry,
    @literal_mapping_registry, mapping_opt)
    )
    reqopt = create_encoding_opt(
    :«»soapaction => op_info.soapaction || @soapaction,
    :envelopenamespace => @options["soap.envelope.requestnamespace"],
    :default_encodingstyle =>
    @default_encodingstyle || op_info.request_default_encodingstyle,
    :use_default_namespace =>
    op_info.use_default_namespace || @use_default_namespace
    )
    resopt = create_encoding_opt(
    :envelopenamespace => @options["soap.envelope.responsenamespace"],
    :default_encodingstyle =>
    @default_encodingstyle || op_info.response_default_encodingstyle
    )
    env = route(req_header, req_body, reqopt, resopt)
    if op_info.response_use.nil?
    return nil
    end
    raise EmptyResponseError unless env
    receive_headers(env.header)
    begin
    check_fault(env.body)
    rescue ::«»SOAP::FaultError => e
    op_info.raise_fault(e, @mapping_registry, @literal_mapping_registry)
    end
    if @return_response_as_xml
    return resopt[:response_as_xml]
    else
    response_obj = op_info.response_obj(env.body, @mapping_registry,
    @literal_mapping_registry, mapping_opt)
    response_obj.instance_variable_set(:@env, env)
    return response_obj
    end
    end
    end

    end
    end

     

    And to use it:

     

    Code:
    [code]
    @driver = SOAP::RPC::«»Driver.new(@url)

    @driver.options["protocol.http.basic_auth"] << [@url, @user, @pass]

    @driver.add_method('runReport','request')

    result = @driver.runReport(request.to_s)

    report = result.instance_variable_get(:@env).external_content['report'].data.content
  5. Okay nevermind... I should double-check before I post. Anyway here's a slightly different version of the above monkeypatch. This one should work against soap4r 1.5.8. Also, it adds the instance variable @env to the response object rather than returning an array with the env data. I think this might be a bit safer since it doesn't break the API.

     

    Code:

    module SOAP
    module RPC

    class Proxy
    include SOAP

    def call(name, *params)
    # name must be used only for lookup
    op_info = lookup_operation(name)
    mapping_opt = create_mapping_opt
    req_header = create_request_header
    req_body = SOAPBody.new(
    op_info.request_body(params, @mapping_registry,
    @literal_mapping_registry, mapping_opt)
    )
    reqopt = create_encoding_opt(
    :«»soapaction => op_info.soapaction || @soapaction,
    :envelopenamespace => @options["soap.envelope.requestnamespace"],
    :default_encodingstyle =>
    @default_encodingstyle || op_info.request_default_encodingstyle,
    :use_default_namespace =>
    op_info.use_default_namespace || @use_default_namespace
    )
    resopt = create_encoding_opt(
    :envelopenamespace => @options["soap.envelope.responsenamespace"],
    :default_encodingstyle =>
    @default_encodingstyle || op_info.response_default_encodingstyle
    )
    env = route(req_header, req_body, reqopt, resopt)
    if op_info.response_use.nil?
    return nil
    end
    raise EmptyResponseError unless env
    receive_headers(env.header)
    begin
    check_fault(env.body)
    rescue ::«»SOAP::FaultError => e
    op_info.raise_fault(e, @mapping_registry, @literal_mapping_registry)
    end
    if @return_response_as_xml
    return resopt[:response_as_xml]
    else
    response_obj = op_info.response_obj(env.body, @mapping_registry,
    @literal_mapping_registry, mapping_opt)
    response_obj.instance_variable_set(:@env, env)
    return response_obj
    end
    end
    end

    end
    end

     

    And to use it:

     

    Code:
    [code]
    @driver = SOAP::RPC::«»Driver.new(@url)

    @driver.options["protocol.http.basic_auth"] << [@url, @user, @pass]

    @driver.add_method('runReport','request')

    result = @driver.runReport(request.to_s)

    report = result.instance_variable_get(:@env).external_content['report'].data.content
  6. Ok looks like adding the following to WEB-INF/classes/jasperreports.properties in the jasperserver.war did the trick:

     

    net.sf.jasperreports.query.executer.factory.xpath2=com.jaspersoft.jrx.query.JRXPathQueryExecuterFactory

     

    However I'm still getting no data filled on the remote server, although that might just be my custom data source service's fault...

  7. P.S. I tried adding the jasperreports-exetnsions-1.3.1.jar to the jasperserver.war, and I tried adding the custom property 'net.sf.jasperreports.query.executer.factory.xpath2' for my report to 'com.jaspersoft.jrx.query.JRXPathQueryExecuterFactory', but I'm still getting the error message.

     

    If it helps, here is the full stack trace from the server:

    Code:

    [#|2007-11-07T12:38:42.476-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=29;_ThreadName=httpSSLWorkerThread-8080-4;|net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: No query executer factory class registered for xpath2 queries. Create a propery named net.sf.jasperreports.query.executer.factory.xpath2.
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:243)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.compileReport(EngineServiceImpl.java:752)
    at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$CacheableCompiledReports.getData(EngineServiceImpl.java:157)
    at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryCache.saveData(HibernateRepositoryCache.java:179)
    at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryCache.getCachedItem(HibernateRepositoryCache.java:125)
    at com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryCache.cache(HibernateRepositoryCache.java:71)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
    at $Proxy113.cache(Unknown Source)
    at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.getCompiledReport(EngineServiceImpl.java:762)
    at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.getJasperReport(EngineServiceImpl.java:589)
    at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.getMainJasperReport(EngineServiceImpl.java:785)
    at com.jaspersoft.jasperserver.ws.axis2.RepositoryHelper.convertParameterValues(RepositoryHelper.java:71)
    at com.jaspersoft.jasperserver.ws.axis2.ManagementService.runReport(ManagementService.java:1029)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
    at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
    at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
    at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
    at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
    at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:86)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:136)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at com.jaspersoft.jasperserver.api.metadata.user.service.impl.JIPortletAuthenticationProcessingFilter.doFilter(JIPortletAuthenticationProcessingFilter.java:87)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
    at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
    at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
    at org.apache.catalina.core.StandardPipeline.doInvoke(S|#]

    [#|2007-11-07T12:38:42.476-0500|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=29;_ThreadName=httpSSLWorkerThread-8080-4;|tandardPipeline.java:577)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
    at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:361)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Caused by: net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: No query executer factory class registered for xpath2 queries. Create a propery named net.sf.jasperreports.query.executer.factory.xpath2.
    at org.apache.commons.digester.Digester.createSAXException(Digester.java:2919)
    at org.apache.commons.digester.Digester.createSAXException(Digester.java:2945)
    at org.apache.commons.digester.Digester.endElement(Digester.java:1133)
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1647)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:239)
    ... 95 more
    |#]
  8. I'm trying to load data from a remote xml data source (via an http URI rather than a local filename).

     

    At first I was having trouble getting the data, but as suggested in previous posts in this forum, I switched the query language from XPath to xpath2, and this did the trick. I'm now able to fill the data in iReport.

     

    However, when I upload my jrxml report to JasperServer and run it there, I get the following error:

     

    1 - net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: No query executer factory class registered for xpath2 queries. Create a propery named net.sf.jasperreports.query.executer.factory.xpath2.

    java.lang.Exception: 1 - net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: No query executer factory class registered for xpath2 queries. Create a propery named net.sf.jasperreports.query.executer.factory.xpath2. at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.runReport(WSClient.java:382) at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.runReport(WSClient.java:299) at com.jaspersoft.jasperserver.irplugin.ReportRunner.run(ReportRunner.java:78) at java.lang.Thread.run(Thread.java:595)

     

    Does this mean that jasperserver cannot run xpath2 queries out of the box? Do I need to provide it with some additional libraries?

  9. I'm trying to deploy the jasperserver.war under Glassfish (a.k.a. Sun's JAS 9.0) but I'm getting a whole lot of errors during deployment.

     

    First it complained that the web.xml descriptor had invalid data, and indeed it looks like the web.xml that ships with 1.0.0 violates the web-app 2.4 schema (there's <description> and <display-name> tags where there shouldn't be).

     

    I got all that cleaned up, but now it's complaining about the taglib tags being invalid:

     

    Code:

    Deploying application in domain failed; Error loading
    deployment descriptors for module [jasperserver] Line
    297 Column 13 -- Deployment descriptor file
    WEB-INF/web.xml in archive [jasperserver].
    cvc-complex-type.2.4.a: Invalid content was found
    starting with element 'taglib'. One of
    '{"http://java.sun.com/xml/ns/j2ee":description,
    "http://java.sun.com/xml/ns/j2ee":display-name,
    "http://java.sun.com/xml/ns/j2ee":icon,
    "http://java.sun.com/xml/ns/j2ee":distributable,
    "http://java.sun.com/xml/ns/j2ee":context-param,
    "http://java.sun.com/xml/ns/j2ee":filter,
    "http://java.sun.com/xml/ns/j2ee":filter-mapping,
    "http://java.sun.com/xml/ns/j2ee":listener,
    "http://java.sun.com/xml/ns/j2ee":«»servlet,
    "http://java.sun.com/xml/ns/j2ee":«»servlet-mapping,
    "http://java.sun.com/xml/ns/j2ee":«»session-config,
    "http://java.sun.com/xml/ns/j2ee":mime-mapping,
    "http://java.sun.com/xml/ns/j2ee":welcome-file-list,
    "http://java.sun.com/xml/ns/j2ee":error-page,
    "http://java.sun.com/xml/ns/j2ee":jsp-config,
    "http://java.sun.com/xml/ns/j2ee":«»security-constraint,
    "http://java.sun.com/xml/ns/j2ee":login-config,
    "http://java.sun.com/xml/ns/j2ee":«»security-role,
    "http://java.sun.com/xml/ns/j2ee":env-entry,
    "http://java.sun.com/xml/ns/j2ee":ejb-ref,
    "http://java.sun.com/xml/ns/j2ee":ejb-local-ref,
    "http://java.sun.com/xml/ns/j2ee":«»service-ref,
    "http://java.sun.com/xml/ns/j2ee":resource-ref,
    "http://java.sun.com/xml/ns/j2ee":resource-env-ref,
    "http://java.sun.com/xml/ns/j2ee":message-destination-ref,
    "http://java.sun.com/xml/ns/j2ee":message-destination,
    "http://java.sun.com/xml/ns/j2ee":locale-encoding-mapping-list}'
    is expected. Error loading deployment descriptors for
    module [jasperserver] Line 297 Column 13 -- Deployment
    descriptor file WEB-INF/web.xml in archive
    [jasperserver]. cvc-complex-type.2.4.a: Invalid
    content was found starting with element 'taglib'. One
    of '{"http://java.sun.com/xml/ns/j2ee":description,
    "http://java.sun.com/xml/ns/j2ee":display-name,
    "http://java.sun.com/xml/ns/j2ee":icon,
    "http://java.sun.com/xml/ns/j2ee":distributable,
    "http://java.sun.com/xml/ns/j2ee":context-param,
    "http://java.sun.com/xml/ns/j2ee":filter,
    "http://java.sun.com/xml/ns/j2ee":filter-mapping,
    "http://java.sun.com/xml/ns/j2ee":listener,
    "http://java.sun.com/xml/ns/j2ee":«»servlet,
    "http://java.sun.com/xml/ns/j2ee":«»servlet-mapping,
    "http://java.sun.com/xml/ns/j2ee":«»session-config,
    "http://java.sun.com/xml/ns/j2ee":mime-mapping,
    "http://java.sun.com/xml/ns/j2ee":welcome-file-list,
    "http://java.sun.com/xml/ns/j2ee":error-page,
    "http://java.sun.com/xml/ns/j2ee":jsp-config,
    "http://java.sun.com/xml/ns/j2ee":«»security-constraint,
    "http://java.sun.com/xml/ns/j2ee":login-config,
    "http://java.sun.com/xml/ns/j2ee":«»security-role,
    "http://java.sun.com/xml/ns/j2ee":env-entry,
    "http://java.sun.com/xml/ns/j2ee":ejb-ref,
    "http://java.sun.com/xml/ns/j2ee":ejb-local-ref,
    "http://java.sun.com/xml/ns/j2ee":«»service-ref,
    "http://java.sun.com/xml/ns/j2ee":resource-ref,
    "http://java.sun.com/xml/ns/j2ee":resource-env-ref,
    "http://java.sun.com/xml/ns/j2ee":message-destination-ref,
    "http://java.sun.com/xml/ns/j2ee":message-destination,
    "http://java.sun.com/xml/ns/j2ee":locale-encoding-mapping-list}'
    is expected.

     

    This is a bit out of my league, so I'm wondering if someone could take a look at the web.xml file and see what's wrong with it. I suspect that it was written to work with Tomcat, which is perhaps more lax with parsing a non-web-app-2.4-compliant descriptor...

    Post edited by: mzukowski, at: 2006/09/05 21:45

×
×
  • Create New...