如何解决当使用Content-Type application / xml
我的JAX-WS SOAP Web服务接受text / xml,但是当我使用Content-Type作为applicaiton / xml时抛出错误。
错误: WSServletDelegate doGet SEVERE:捕获了可抛出的java.lang.AbstractMethodError
我尝试使用@MTOM启用,但无法解决。我的处理程序甚至无法识别请求,并返回500 Internal Server Error响应。
这是我的处理程序的外观。 公共类HTNGMessageHandler实现SOAPHandler {
RateAvlSrv ravs = new RateAvlSrv();
CallBackDoorNew cBD = new CallBackDoorNew();
static final Logger logger = Logger.getLogger(HTNGMessageHandler.class);
Integer counter = 0;
@XmlMimeType("application/xml")
@Override
public boolean handleMessage(SOAPMessageContext context) {
Boolean request = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
MimeHeaders headers = new MimeHeaders();
headers.setHeader("Content-Type","application/xml");
headers.setHeader("Encoding","UTF-8");
LocalDateTime now = LocalDateTime.now();
if (counter++ == 0) {
logger.info("RECIEVED REQUEST");
logger.info("TIME NOW :" + dtf.format(now));
} else if (counter > 0) {
logger.info("RETURNED RESPONSE");
counter = 0;
logger.info("TIME NOW :" + dtf.format(now));
}
if (!request) {
try {
SOAPMessage msg = context.getMessage();
SOAPEnvelope env = msg.getSOAPPart().getEnvelope();
SOAPHeader header = env.getHeader();
SOAPBody soapBody = env.getBody();
ravs.sendSOAPBODYtoService(soapBody);
cBD.sendSOAPBODYtoService(soapBody);
if (header == null) {
header = env.addHeader();
return false;
}
Node node = (Node) header.getElementsByTagName("Name").item(0);
String token;
if (node != null) {
token = node.getChildNodes().item(0).getNodeValue();
ravs.setHeaders(token);
cBD.setHeaders(token);
logger.debug(token);
return true;
}
} catch (SOAPException | DOMException e) {
logger.error("ERROR : " + e);
e.printStackTrace();
}
return false;
}
return true;
}
@Override
public Set<QName> getHeaders() {
return Collections.EMPTY_SET;
}
@Override
public boolean handleFault(SOAPMessageContext messageContext) {
logger.info(messageContext.getMessage());
return true;
}
@Override
public void close(MessageContext context) {
}
}
我还在sun-jaxws.xml中添加了 enable-mtom =“ true” 。
但是到目前为止,什么都没有使我的Web服务接受application / xml。
需要帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。