#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