Results 1 to 10 of 23

Thread: Unmarshall Exception while using AbstractMarshallingPayloadEndpoint

Hybrid View

  1. #1
    Join Date
    Aug 2007
    Posts
    15

    Default Unmarshall Exception while using AbstractMarshallingPayloadEndpoint

    Hi,

    My endpoint looks like this:
    public class MarshallProjectSearchEP extends AbstractMarshallingPayloadEndpoint
    {
    public MarshallProjectSearchEP(Marshaller marshaller, Unmarshaller unm)
    {
    super(marshaller,unm);
    }

    public Object invokeInternal(Object request)
    {
    ....
    }

    }


    Here is my servlet mapping:

    <bean class="org.springframework.ws.server.endpoint.mapp ing.PayloadRootQNameEndpointMapping">
    <property name="mappings">
    <props>
    <prop key="{http://www.reflexisinc.com/schemas}ProjectSearch">MarshallProjectSearchEP</prop>
    </props>
    </property>
    </bean>

    <bean id="MarshallProjectSearchEP" class="com.reflexis.webservices.endpoint.MarshallP rojectSearchEP">
    <constructor-arg ref="marshaller"/>
    <constructor-arg ref="unmarshaller"/>
    </bean>

    <bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshalle r">
    <property name="contextPath" value="org.wsrtm.ProjectSearch"/>
    </bean>

    <bean id="unmarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshalle r">
    <property name="contextPath" value="org.wsrtm.ProjectSearch"/>
    </bean>


    Now when I invoke the service..this is the error I am getting:

    2007-10-08 17:40:21,843 DEBUG [org.springframework.ws.soap.server.SoapMessageDisp atcher] - Testing endpoint adapter [org.springframework.ws.server.endpoint.adapter.Mes sageEndpointAdapter@138ec91]
    2007-10-08 17:40:21,859 DEBUG [org.springframework.ws.soap.server.SoapMessageDisp atcher] - Testing endpoint exception resolver [org.springframework.ws.soap.server.endpoint.Simple SoapExceptionResolver@16fcc4]
    2007-10-08 17:40:21,875 WARN [org.springframework.ws.soap.server.SoapMessageDisp atcher] - Endpoint invocation resulted in exception - responding with SOAP Fault
    java.lang.UnsupportedOperationException
    at com.sun.xml.bind.v2.runtime.unmarshaller.Unmarshal lerImpl.setValidating(UnmarshallerImpl.java:458)
    at org.springframework.oxm.jaxb.Jaxb1Marshaller.initJ axbUnmarshaller(Jaxb1Marshaller.java:64)
    at org.springframework.oxm.jaxb.AbstractJaxbMarshalle r.createUnmarshaller(AbstractJaxbMarshaller.java:1 67)
    at org.springframework.oxm.jaxb.Jaxb1Marshaller.unmar shal(Jaxb1Marshaller.java:78)
    at org.springframework.ws.server.endpoint.support.Mar shallingUtils.unmarshal(MarshallingUtils.java:56)
    at org.springframework.ws.server.endpoint.AbstractMar shallingPayloadEndpoint.unmarshalRequest(AbstractM arshallingPayloadEndpoint.java:138)
    at org.springframework.ws.server.endpoint.AbstractMar shallingPayloadEndpoint.invoke(AbstractMarshalling PayloadEndpoint.java:129)
    at org.springframework.ws.server.endpoint.adapter.Mes sageEndpointAdapter.invoke(MessageEndpointAdapter. java:40)
    at org.springframework.ws.server.MessageDispatcher.di spatch(MessageDispatcher.java:210)
    at org.springframework.ws.server.MessageDispatcher.re ceive(MessageDispatcher.java:157)
    at org.springframework.ws.transport.support.WebServic eMessageReceiverObjectSupport.handleConnection(Web ServiceMessageReceiverObjectSupport.java:86)
    at org.springframework.ws.transport.http.WebServiceMe ssageReceiverHandlerAdapter.handle(WebServiceMessa geReceiverHandlerAdapter.java:56)
    at org.springframework.ws.transport.http.MessageDispa tcherServlet.doService(MessageDispatcherServlet.ja va:157)
    at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:461)
    at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:426)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invo keInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(Co yoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(P oolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:595)



    I couldn't understand what the problem is.Can someone help me out?

    Thanks in Advance
    Prasanth

  2. #2
    Join Date
    Aug 2007
    Location
    Boston
    Posts
    20

    Default @Unmarshall exception

    The error u got is very much similar to that of mine when using jaxb2marshaller...
    Even I got struck up here..

    Can somebody help??

    ThankYou..
    Keerthi

  3. #3

    Default

    The following is working definition for jaxb2:
    Code:
    <bean id="jaxb2Marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
            <property name="mtomEnabled" value="false" />
            <property name="contextPath" value="${model.package}" />
            <property name="schema" value="${schema.path}" />
    </bean>

    The ${model.package} is really the full package name (not class name) where the ObjectFactory class is located (as well as other classes).

  4. #4
    Join Date
    Oct 2004
    Posts
    207

    Default

    First, a tip

    The Jaxb2Marshaller is both a Marshaller and Unmarshaller, you only need one bean for it.

    Code:
    <bean id="MarshallProjectSearchEP" class="com.reflexis.webservices.endpoint.MarshallP rojectSearchEP">
    <constructor-arg ref="marshaller"/>
    <constructor-arg ref="marshaller"/>
    </bean>
    
    <bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshalle r">
    <property name="contextPath" value="org.wsrtm.ProjectSearch"/>
    </bean>
    Second, as "exgorth" eluded to...

    The "contextPath" should be set to the package the marshalled/unmarshalled classes are in.

    Or you could set the individual classes to be bound using the "classesToBeBound" property on the Jaxb2Marshaller.

  5. #5
    Join Date
    Aug 2007
    Location
    Boston
    Posts
    20

    Default

    Even after implementing what you have said..I am still getting the following error:

    2007-10-09 10:34:28,843 DEBUG [org.springframework.ws.soap.server.SoapMessageDisp atcher] - Testing endpoint adapter [org.springframework.ws.server.endpoint.adapter.Mes sageEndpointAdapter@148083b]
    2007-10-09 10:34:28,890 DEBUG [org.springframework.ws.soap.server.SoapMessageDisp atcher] - Testing endpoint exception resolver [org.springframework.ws.soap.server.endpoint.Simple SoapExceptionResolver@1866417]
    2007-10-09 10:34:28,906 WARN [org.springframework.ws.soap.server.SoapMessageDisp atcher] - Endpoint invocation resulted in exception - responding with SOAP Fault
    org.springframework.oxm.jaxb.JaxbUnmarshallingFail ureException: JAXB unmarshalling exception: null; nested exception is javax.xml.bind.UnmarshalException
    - with linked exception:
    [org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'xsi:ProjectSearch'.]
    Caused by:
    javax.xml.bind.UnmarshalException
    - with linked exception:
    [org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'xsi:ProjectSearch'.]
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.cr eateUnmarshalException(AbstractUnmarshallerImpl.ja va:315)
    at com.sun.xml.bind.v2.runtime.unmarshaller.Unmarshal lerImpl.createUnmarshalException(UnmarshallerImpl. java:481)
    at com.sun.xml.bind.v2.runtime.unmarshaller.Unmarshal lerImpl.unmarshal0(UnmarshallerImpl.java:299)
    at com.sun.xml.bind.v2.runtime.unmarshaller.Unmarshal lerImpl.unmarshal(UnmarshallerImpl.java:272)
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.un marshal(AbstractUnmarshallerImpl.java:107)
    at org.springframework.oxm.jaxb.Jaxb2Marshaller.unmar shal(Jaxb2Marshaller.java:311)
    at org.springframework.ws.server.endpoint.support.Mar shallingUtils.unmarshal(MarshallingUtils.java:53)
    at org.springframework.ws.server.endpoint.AbstractMar shallingPayloadEndpoint.unmarshalRequest(AbstractM arshallingPayloadEndpoint.java:138)
    at org.springframework.ws.server.endpoint.AbstractMar shallingPayloadEndpoint.invoke(AbstractMarshalling PayloadEndpoint.java:129)
    at org.springframework.ws.server.endpoint.adapter.Mes sageEndpointAdapter.invoke(MessageEndpointAdapter. java:40)
    at org.springframework.ws.server.MessageDispatcher.di spatch(MessageDispatcher.java:210)
    at org.springframework.ws.server.MessageDispatcher.re ceive(MessageDispatcher.java:157)
    at org.springframework.ws.transport.support.WebServic eMessageReceiverObjectSupport.handleConnection(Web ServiceMessageReceiverObjectSupport.java:86)
    at org.springframework.ws.transport.http.WebServiceMe ssageReceiverHandlerAdapter.handle(WebServiceMessa geReceiverHandlerAdapter.java:56)
    at org.springframework.ws.transport.http.MessageDispa tcherServlet.doService(MessageDispatcherServlet.ja va:157)
    at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:461)
    at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:426)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invo keInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(Co yoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(P oolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'xsi:ProjectSearch'.
    at org.apache.xerces.util.ErrorHandlerWrapper.createS AXParseException(Unknown Source)
    at org.apache.xerces.util.ErrorHandlerWrapper.error(U nknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportErro r(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportErro r(Unknown Source)
    at org.apache.xerces.impl.xs.XMLSchemaValidator.handl eStartElement(Unknown Source)
    at org.apache.xerces.impl.xs.XMLSchemaValidator.start Element(Unknown Source)
    at org.apache.xerces.jaxp.validation.ValidatorHandler Impl.startElement(Unknown Source)
    at com.sun.xml.bind.v2.runtime.unmarshaller.Validatin gUnmarshaller.startElement(ValidatingUnmarshaller. java:73)
    at com.sun.xml.bind.v2.runtime.unmarshaller.Interning XmlVisitor.startElement(InterningXmlVisitor.java:3 5)
    at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnec tor.startElement(SAXConnector.java:101)
    at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOM Scanner.java:224)
    at com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMS canner.java:107)
    at com.sun.xml.bind.v2.runtime.unmarshaller.Unmarshal lerImpl.unmarshal0(UnmarshallerImpl.java:289)

  6. #6

    Default

    could you post here your schema?

  7. #7
    Join Date
    Aug 2007
    Posts
    15

    Default

    This is my xsd:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="ProjectSearch">
    <xs:annotation>
    <xs:documentation>Project Search Criteria</xs:documentation>
    </xs:annotation>
    <xs:complexType>
    <xs:sequence>
    <xs:element name="Project" minOccurs="0">
    <xs:complexType>
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute ref="RTMCase"/>
    <xs:attribute ref="RTMMatch"/>
    <xs:attribute ref="RTMValue"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>

    This is my xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsi:ProjectSearch xmlns:xsi="http://www.reflexisinc.com/schemas">

    <Project RTMCase="IGNORE" RTMMatch="LIKE" RTMValue="ID">COM4515</Project>
    </xsi:ProjectSearch>

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •