我需要在我的webservice代码中访问SOAPHeader (我需要它从安全性(使用外部库的头部的一部分)生成一些对象)。
它在SOAPHandler中工作得很好,但是如果我在实际的webservice方法中尝试下面的操作,就会得到一个异常。
SOAPMessageContext soapMsgContext = (SOAPMessageContext) webServiceContext.getMessageContext();
SOAPHeader soapHeader = soapMsgContext.getMessage().getSOAPHeader();例外:
JAXBBlockImpl block object is already consumed. Processing cannot continue.我想做以下工作之一:
有人能告诉我这些步骤中的任何一步吗?
提前谢谢。
发布于 2013-02-21 10:20:04
我让它起作用了,不知道这是否是一个很好的解决方案,所以我暂时不提这个问题。
在SOAPHandler中,我将对象放在servlet请求中,如下所示:
servletRequest.setAttribute("param-name", myObject);在webservice方法中,我检索它的方式如下:
MessageContext messageContext = webServiceContext.getMessageContext();
HttpServletRequest servletRequest = HttpServletRequest)messageContext.get(MessageContext.SERVLET_REQUEST);
myObject = (myObject) servletRequest.getAttribute("param-name");https://stackoverflow.com/questions/14997489
复制相似问题