【问题标题】:xmlInputFactory.createXMLStreamReader giving null on WeblogicxmlInputFactory.createXMLStreamReader 在 Weblogic 上给出 null
【发布时间】:2013-10-21 08:57:16
【问题描述】:

我正在尝试在我的 Web 应用程序中创建一些 xml 内容。 为此,我使用了 JAXB。

JAXBContext jaxbContext = JAXBContext.newInstance(QueryRequest.class);

        XMLInputFactory xif = XMLInputFactory.newInstance();
        xif.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, false);
        StreamSource source = new StreamSource(new ByteArrayInputStream(
                queryRequestXml.getBytes()));

        XMLStreamReader xsr = xif.createXMLStreamReader(source);

        Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();

        QueryRequest queryRequest = (QueryRequest) jaxbUnmarshaller
                .unmarshal(xsr);

我面临的问题是,在 JBOSS 中,Tomcat 运行良好。但是,一旦我将应用程序移动到 Weblogic,我就会得到 xif.createXMLStreamReader(source); 作为 null。

关于如何解决这个问题的任何想法。

【问题讨论】:

    标签: java jakarta-ee jaxb weblogic weblogic-10.x


    【解决方案1】:

    事实证明,将输入流包装到StreamSource 会导致问题。删除它后,您的代码变为:

    JAXBContext jaxbContext = JAXBContext.newInstance(QueryRequest.class);
    XMLInputFactory xif = XMLInputFactory.newInstance();
    xif.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, false);
    InputStream source = new ByteArrayInputStream(queryRequestXml.getBytes());
    XMLStreamReader xsr = xif.createXMLStreamReader(source);
    

    它现在应该可以工作了!

    【讨论】:

      猜你喜欢
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 2014-11-21
      • 2016-01-29
      • 2019-12-13
      相关资源
      最近更新 更多