【问题标题】:AXIS : An error occurred when verifying security for the messageAXIS:验证消息的安全性时出错
【发布时间】:2015-07-29 07:42:47
【问题描述】:

我有一个使用 web 服务与客户端后端对话的应用程序。 我已经使用 cliints 提供的 Eclipse 和 WSDL/XSD 生成了 java 客户端。

当我尝试向后端发送请求时,我看到以下异常。

     faultSubcode:
 faultString: An error occurred when verifying security for the message.
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace:An error occurred when verifying security for the message.
        at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
        at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
        at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1759)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2915)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:392)
        at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
        at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
        at com.app.main.ws.BasicHttpBinding_SendMessage.sendMessage(BasicHttpBinding_SendMessage.java:201)
        at com.app.main.ws.OTPConnector.main(OTPConnector.java:43)

        {http://xml.apache.org/axis/}hostname:machine114

An error occurred when verifying security for the message.
        at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
        at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
        at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1759)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2915)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:392)
        at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
        at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
        at com.app.main.ws.BasicHttpBinding_SendMessage.sendMessage(BasicHttpBinding_SendMessage.java:201)
        at com.app.main.ws.OTPConnector.main(OTPConnector.java:43)

在互联网上搜索此问题时,似乎此问题与基于 Microsoft 技术的应用程序命中 Web 服务应用程序有关,我的应用程序也是如此。

请任何熟悉此问题的人提供有关此处可能出现问题的知识。

谢谢,

【问题讨论】:

  • 您的客户端和服务器是否在同一台机器上运行?如果没有检查两台机器的日期和时间。
  • @JKAUSHALYA 不,客户端和服务器在不同时区的不同机器上运行。两台机器之间的时间差异是否重要?在联系客户之前,我需要确定这一点。
  • 时区的差异无关紧要,但如果时间有差异,则应该很重要。 stackoverflow.com/questions/3765212/…查看第一个答案。
  • @JKAUSHALYA 是的,我已经检查过了。有没有办法可以更新客户端代码上的一些配置,在发送请求时忽略这个时间差。
  • 据我所知,没有办法。尝试同步时间(如果可能的话)。确切的问题可能不同。我只是有预感。

标签: java .net web-services axis2 axis


【解决方案1】:

在使用基于 SOAP 的 Web 服务时遇到了类似问题。在我们的例子中,我们试图将基本身份验证作为 HTTP 标头的一部分发送。将其更改为作为 SOAP 标头的一部分发送 - 它解决了问题。使用 SOAP UI 之类的工具

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-28
    • 2020-05-19
    • 2014-05-14
    • 2011-10-20
    • 2013-10-18
    • 2011-04-15
    • 1970-01-01
    • 2016-05-30
    相关资源
    最近更新 更多