Несогласованное сообщение SOAP для объекта java

#java #xml #soap #unmarshalling

#Ява #xml #мыло #без промедления

Вопрос:

Не могу понять, что не так, борюсь с этим 3 дня. Это мой первый раз, когда я работаю с мылом. Иногда я могу получить пустое тело без элементов…

Ошибка: message": "unexpected element (uri:"http://halykws/", local:"getDeductionDetailedInfoResponse"). Expected elements are (none)",

XML:

 lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"gt;  lt;soapenv:Header/gt;  lt;soapenv:Bodygt;  lt;q1:getDeductionDetailedInfoResponse xmlns:q1="http://halykws/"gt;  lt;q1:getDeductionDetailedInfoResultgt;  lt;q1:Deducationsgt;  lt;q1:deducationsgt;  lt;q1:bingt;940140000385lt;/q1:bingt;  lt;q1:dategt;2021-09-07T00:00:00lt;/q1:dategt;  lt;q1:namegt;АО НАРОДНЫЙ БАНК КАЗАХСТАНАlt;/q1:namegt;  lt;q1:amountgt;56300lt;/q1:amountgt;  lt;/q1:deducationsgt;  lt;q1:deducationsgt;  lt;q1:bingt;940140000385lt;/q1:bingt;  lt;q1:dategt;2021-10-07T00:00:00lt;/q1:dategt;  lt;q1:namegt;АО НАРОДНЫЙ БАНК КАЗАХСТАНАlt;/q1:namegt;  lt;q1:amountgt;56300lt;/q1:amountgt;  lt;/q1:deducationsgt;  lt;/q1:Deducationsgt;  lt;q1:requestNumbergt;6723399lt;/q1:requestNumbergt;  lt;q1:avgAmountgt;0lt;/q1:avgAmountgt;  lt;q1:ErrorCodegt;0lt;/q1:ErrorCodegt;  lt;q1:ErrorMsggt;OKlt;/q1:ErrorMsggt;  lt;/q1:getDeductionDetailedInfoResultgt;  lt;/q1:getDeductionDetailedInfoResponsegt;  lt;/soapenv:Bodygt; lt;/soapenv:Envelopegt;  

Обслуживание:

 private Object getDataXml(String inputData) throws IOException, SOAPException, JAXBException, XMLStreamException {   if (inputData.isEmpty()) return null;   MimeHeaders mimeHeader = new MimeHeaders();  mimeHeader.addHeader("Content-Type", "text/xml");  SOAPMessage soapMessage = MessageFactory.newInstance().createMessage(mimeHeader, new ByteArrayInputStream(inputData.getBytes(Charset.forName("UTF-8"))));  JAXBContext jaxbContext = JAXBContext.newInstance(EnpfResponse.class);  Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();  EnpfResponse enpfResponse = (EnpfResponse) unmarshaller.unmarshal(soapMessage.getSOAPBody().extractContentAsDocument());   return enpfResponse;   }  

Действительно ценю любую помощь. (о_о)

Комментарии:

1. SOAP обычно не управляется с помощью xjc; рекомендуется использовать некоторые специальные инструменты для SOAP, такие как wsimport или AXIS2