java - 使用 Maven Assembly Plugin 时,XFire NamespaceURI 不能为空

标签 java xml maven xfire

我正在尝试使用大量使用 XML 数据等的库。我尝试使用 Maven Assembly 将我的项目编译成一个 uber-JAR,但在运行和执行一些操作后,我遇到了以下错误。

org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: NamespaceURI cannot be null
org.codehaus.xfire.fault.XFireFault: NamespaceURI cannot be null
    at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
    at org.codehaus.xfire.util.dom.DOMSerializer.writeMessage(DOMSerializer.java:47)
    at org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
    at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.getByteArrayRequestEntity(CommonsHttpMessageSender.java:422)
    at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.send(CommonsHttpMessageSender.java:360)
    at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:123)
    at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
    at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
    at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
    at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
    at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
    at org.codehaus.xfire.client.Client.invoke(Client.java:336)
    at eu.unicore.security.xfireutil.client.ReliableProxy.handleRequest(ReliableProxy.java:122)
    at eu.unicore.security.xfireutil.client.ReliableProxy.doInvoke(ReliableProxy.java:102)
    at eu.unicore.security.xfireutil.client.ReliableProxy.invoke(ReliableProxy.java:69)
    at com.sun.proxy.$Proxy71.CreateTSR(Unknown Source)
    at de.fzj.unicore.uas.client.TSFClient.createTSS(TSFClient.java:44)
    at de.fzj.unicore.uas.client.TSFClient.createTSS(TSFClient.java:67)
    at com.mjolnirr.caeserver.client.ClientImpl.createTSSClient(ClientImpl.java:240)
    at com.mjolnirr.caeserver.client.ClientImpl.createJob(ClientImpl.java:245)
    at com.mjolnirr.caeserver.client.ClientImpl.run(ClientImpl.java:95)
    at com.mjolnirr.caeserver.task.description.nodes.ActiveNode.exec(ActiveNode.java:62)
    at com.mjolnirr.caeserver.executor.WorkflowBranchImpl$1.run(WorkflowBranchImpl.java:51)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)
Caused by: javax.xml.stream.XMLStreamException: NamespaceURI cannot be null
    at com.sun.xml.stream.writers.XMLStreamWriterImpl.writeAttribute(XMLStreamWriterImpl.java:620)
    at org.codehaus.xfire.util.STAXUtils.writeElement(STAXUtils.java:366)
    at org.codehaus.xfire.util.STAXUtils.writeNode(STAXUtils.java:391)
    at org.codehaus.xfire.util.STAXUtils.writeElement(STAXUtils.java:380)
    at org.codehaus.xfire.util.STAXUtils.writeNode(STAXUtils.java:391)
    at org.codehaus.xfire.util.STAXUtils.writeElement(STAXUtils.java:380)
    at org.codehaus.xfire.util.STAXUtils.writeNode(STAXUtils.java:391)
    at org.codehaus.xfire.util.STAXUtils.writeElement(STAXUtils.java:380)
    at org.codehaus.xfire.util.STAXUtils.writeDocument(STAXUtils.java:285)
    at org.codehaus.xfire.util.dom.DOMSerializer.writeMessage(DOMSerializer.java:40)
    ... 28 more

我尝试使用 Shade 进行组装,但出现了关于错误 list 签名的奇怪错误。有人遇到过这种情况吗?

最佳答案

通过将 org.codehaus.woodstox:wstx-api:3.2.9 包含到 jar 中并运行它来解决:

java -jar -Djavax.xml.stream.XMLEventFactory=com.ctc.wstx.stax.WstxEventFactory -Djavax.xml.stream.XMLInputFactory=com.ctc.wstx.stax.WstxInputFactory -Djavax.xml.stream.XMLOutputFactory=com.ctc.wstx.stax.WstxOutputFactory caeserver/target/caeserver-0.1-jar-with-dependencies.jar

关于java - 使用 Maven Assembly Plugin 时,XFire NamespaceURI 不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19606914/

相关文章:

java - 为 HR-XML PositionOpening WSDL 生成 Web 服务代理客户端

java - java中如何在线程外获取结果

java - 示例项目 “hello-world” 项目在尝试在 App Engine 上运行时显示错误

maven - 在 Tomcat 中部署 Maven 项目

mysql - 如何拆分Discogs数据库转储来上传?

java - Spring 与 Maven : Maven does not find my resources

java - 预准备语句的 setBigDecimal 问题?

java - MacOS X Big Sur 上的 Netbeans 没有找到 JDK

java - 使用嵌套迭代器迭代两级结构

android - 如何从android中的xml标签获取值