问题标签 [javax.xml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java 12 上的 Apache Axis 1.4
我目前正在尝试从 Java 8 项目迁移到 Java 12。(希望)最后一个障碍是我们被迫使用的旧 WebService。在 Java 8 中“按原样”使用 WebService 本身不是问题,它已经工作了很多年。
wsdl 指出:
<!--Apache Axis 创建的WSDL 版本:1.4
建于 2006 年 4 月 22 日 -->
据我所知,新版本的 WSDL2JAVA 不再支持这种类型的服务(因为它们依赖于 Axis 2):
WSDLToJava 错误:CXF 不支持 Rpc/编码的 wsdls
为了使该服务可用(使用 Java 8和12),我需要以下库:
这就是问题发生的地方。该库定义了不再允许的部分包javax.xml,因为它是 Java 系统路径。有什么建议或解决方法吗?我忽略了什么吗?
编辑: ZhekaKozlov 不得不切换到jakarta是对的。现在还有一个错误,因为Axis2,在项目中也是需要的。
只需将其添加到新的 Java 12 项目中,就会使org.w3c.dom.*(例如 Document)无法使用。
EDIT2:我终于让一切正常了。程序正在运行,代码中没有任何错误。不幸的是,我无法测试应用程序的 Axis 部分,因为它所连接的服务只能在我们客户的环境中使用,因此必须对其进行测试。在axis2和axis2-adb上,我必须排除两个库:
他们分别阻止了 org.w3c.dom.* 和 javax.xml.stream.*。
java - Spring Boot 2.2 ClassNotFoundException com.sun.xml.ws.spi.ProviderImpl 使用 fat jar 从 Java 8 升级到 11
我正在从 Java 8 升级到 Java 11。
我正在使用 javax.ws 包,所以我必须包含在 Java 11 中删除的依赖项。
我的 Spring Boot 2.2.2 应用程序可以像mvn spring-boot:run
.
当使用 java -jar app.jar 运行ClassNotFoundException
时,搜索 com.sun.xml.ws.spi.ProviderImpl
我检查了rt- version.jar是否在最终的 fat jar 中。
并检查班级是否在罐子里。
在模式下运行时,spring boot 是否会从 ClassLoader 中删除类java -jar
?
spring - 将 MimeUnmarshaller 代码迁移到 Spring 5
我有实现的遗留代码org.springframework.oxm.mimeMimeUnmarshaller
:
我正在将此代码升级到 Spring 5 并且该类StaxSource
不在 Spring 5 中。如何重写以适用于 Spring 5?
java-11 - 如何解决 javax.xml.namespace 可以从多个带有 jdk11 的模块访问
我已将我的 java 项目从 jdk8 更新到 jdk 11,但遇到以下错误:
soap - javax.xml.soap.MessageFactory.createMessage 调用对于大型内容而言耗时太长
http 响应内容是一个 100mb 内容的肥皂消息。
messageFactory.createMessage(null, responseinputstream) 需要 3 到 4 分钟,而 responseSoapMessage.getSOAPBody() 需要另外 4 分钟或更长时间。在此之后,由于我在 WildFly 应用程序服务器中,因此事务超时。
在通过 MessageFactory 从 InputStream 创建 SOAPMessage 时,我想知道为什么需要这么长时间。
可能是由于一些 JAR 问题吗?我有两个 JARS 在玩:axis-1.4.jar 和 saaj-impl-1.3.jar
但是,在调试时,我发现使用的类是来自 saaj-impl-1.3.jar 的 SOAPMessageFactory1_2Impl。
尽管如此,我还是无法解释为什么跨越那两行代码需要超过 5 分钟。
这是响应 InputStream 中的 SOAP XML。
请注意,对于小于 30 MB 的内容,此方法调用工作得相当好(快速)。
任何关于故障排除的提示,或任何用于解析内容的替代方法的提示,都非常感谢
java - 是否内置支持将处理程序附加到 JaxWsPortProxyFactoryBean 中的集合 HandlerResolver?
我正在创建一个 JaxWsPortProxyFactoryBean 实例,并希望在其上设置一个 HandlerResolver 以记录请求。
我还有一个我要引入的公共库,它有一个实现 BeanPostProcessor 并添加它自己的自定义 HandlerResolver 的类:
问题是postProcessAfterInitialization
设置 AnotherCustomHandlerResolver 的步骤吹走了我的 CustomHandlerResolver。
我通过扩展JaxWsPortProxyFactoryBean
并使用不同的自定义 HandlerResolver 提出了一种解决方法,该自定义 HandlerResolver 包含多个实例:
JaxWsPortProxyFactoryBean 扩展:
多处理程序解析器:
仅仅将处理程序附加到链上似乎很麻烦(而且它还需要将自定义 JaxWsPortProxyFactoryBean 拉入我的 bean 配置中)。是否有内置支持使用 JaxWsPortProxyFactoryBean 执行此操作?
javascript - XML NodeList Java 对象在 Nashorn Javascript 中显示为空
我正在尝试从 Nashorn Javascript 数组中的 xml 文件中读取 xpath 表达式的多个匹配值。我在 Nashorn 中使用 javax.xml.xpath 类来解析 xml 数据。当我将 XPathConstants.STRING 传递给评估函数时,我能够很好地读取第一个匹配值。
它抛出这个错误 -javax.script.ScriptException: TypeError: Cannot read property "getNodeValue" from undefined in <eval>
任何想法为什么列表将包含所有空值元素?
java - 我可以从 List 验证 XML不写入临时文件?
我在需要针对 XSD 验证的 List 对象中有 XML。到目前为止,我只能验证 XML 文件。截至目前,我正在将我的列表写入一个临时文件并验证该临时文件。我真的很想消除对那个临时文件的需要。我的问题是 javax.xml.validation.Validator.validate 需要一个 Source,但我不知道如何将 List 放入 Source。
下面是我使用临时文件的工作源。
编辑:为了后代,这是新代码:
xml - DomParser - 实体名称必须紧跟实体引用中的“&”
我正在尝试读取具有 & 字符的 XML 文件。由于这个字符,我们得到“实体名称必须紧跟实体引用 xml 中的 '&'”错误。我知道如果您将 '&' 替换为 "&" 我们可以解决此问题。但在我的情况下,我无法控制 XML 的创建,我只解析和使用已经创建的 XML。我正在使用 DOM 解析器来解析 XML。
所以我不能在 XML 中添加转义字符来解决这个问题。有什么方法可以告诉 DOM 解析器在解析时忽略这些特殊字符。