#java #web-services #spring
#java #веб-сервисы #spring
Вопрос:
Я пытаюсь использовать Spring WebServiceTemplate для вызова веб-службы. Я создал автономный проект и протестировал, он работает.
Теперь я добавляю этот же проект в другой проект для тестирования, и я получаю эту ошибку при добавлении spring-oxm.tiger-1.5.6.jar
Есть ли какие-либо конфликты для этого jar, о которых я должен знать?
Приветствую всех!
Вот трассировка стека ошибки:
org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted.
at org.apache.axiom.om.impl.dom.NodeImpl.insertBefore(NodeImpl.java:261)
at org.apache.axiom.om.impl.dom.NodeImpl.appendChild(NodeImpl.java:240)
at com.sun.xml.bind.marshaller.SAX2DOMEx.startElement(SAX2DOMEx.java:176)
at com.sun.xml.bind.v2.runtime.output.SAXOutput.endStartTag(SAXOutput.java:124)
at com.sun.xml.bind.v2.runtime.XMLSerializer.endAttributes(XMLSerializer.java:302)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:588)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:312)
at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:325)
at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:254)
at org.springframework.oxm.jaxb.Jaxb2Marshaller.marshal(Jaxb2Marshaller.java:379)
at org.springframework.ws.support.MarshallingUtils.marshal(MarshallingUtils.java:81)
at org.springframework.ws.client.core.WebServiceTemplate$2.doWithMessage(WebServiceTemplate.java:360)
at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:535)
at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:502)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:351)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:345)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:337)
Ответ №1:
Возможно, это дефект в текущей реализации SaajSoapMessageFactory
, поэтому я бы либо изменил фабрику, которая будет использоваться для создания сообщений, на AxiomSoapMessageFactory
, либо попробовал более новую версию Spring-WS, чтобы посмотреть, существует ли проблема по-прежнему.
Чтобы изменить реализацию фабрики сообщений, смотрите документацию Spring.
Комментарии:
1. Я рад, что у вас это сработало. Надеюсь, вы могли бы принять ответ
![]()