org.apache.axis2.AxisFault.makeFault上的AxisFault

时间:2018-07-13 12:46:36

标签: axis2

运行axis客户端时出现错误,我使用的是axis2版本1.7.7

org.apache.axis2.AxisFault
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at ch.e_dec.www.services.edecservice.v2.ServiceStub.goodsDeclarations(EdecServiceStub.java:339)
at ch.e_dec.www.services.edecservice.EdecClient.main(EdecClient.java:318)
Caused by: java.lang.NullPointerException
at org.apache.axis2.builder.MIMEBuilder.processDocument(MIMEBuilder.java:78)
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:197)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:108)

我已经检查了axis2 1.4.1版本,没有发现问题,并且对于升级轴版本,最新版本1.7.7进行了相同的代码

在1.4.1版本中,它是成功的

contentType:Before:multipart/related; boundary="----=_Part_3837_17859151.1531477242209"
contentType:After:multipart/related; boundary="----=_Part_3837_17859151.1531477242209"; type="text/xml"

在使用axis2 1.4.1时,类型的类型为type =“ text / xml”

但是在axis2 1.7.7中,当我检查时发现内容类型为null。因此,空指针异常即将到来。我想知道为什么类型变为null

contentType:Before:multipart/related; boundary="----=_Part_3837_17859151.1531477242209"
contentType:After:multipart/related; boundary="----=_Part_3837_17859151.1531477242209"; 

请帮助我。

1 个答案:

答案 0 :(得分:2)

向后不兼容的更改,如Axis2 1.7.0 release notes中所述:

  

Apache Axis2 1.7.0是一个主要版本,其中包含许多错误修复和改进,其中一些引入了相对于Axis2 1.6.x的向后不兼容更改(如下所述)。

更具体地说:

  

..应用程序代码不应再假定附件对象已在消息上下文中设置,并且包含消息的所有MIME部分。请注意,从Axis2 1.7.0开始,此假设仍然成立(因为JAX-WS实现内部依赖此假设),但是在后续版本中将有所改变。

this JIRA issue中提到了类apache/axis2/builder/MIMEBuilder.java

您必须重构实现才能升级版本。