问题描述
我的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 (将#修改为@)