cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From deepika vadapalli <deepikavadapa...@gmail.com>
Subject Re: Unmarshalling error while processing soap fault.
Date Thu, 12 Nov 2009 16:34:03 GMT
But this time error is slightly different.

Unmarshalling Error: unexpected element (uri:"", local:"code"). Expected
elements are <{http://faults.valueobject.application.wdw.com/}message>,<{
http://faults.valueobject.application.wdw.com/}node>,<{
http://faults.valueobject.application.wdw.com/}detailedMessage>,<{
http://faults.valueobject.application.wdw.com/}systemOfRecord>,<{
http://faults.valueobject.application.wdw.com/}code>,<{
http://faults.valueobject.application.wdw.com/}additionalInfo>,<{
http://faults.valueobject.application.wdw.com/}severity>

Can you help me out...


Thanks,
Deepika
On Thu, Nov 12, 2009 at 11:25 AM, deepika vadapalli <
deepikavadapalli@gmail.com> wrote:

> Thanks for the response.
>
> But I get the same exception even if I change my schema from atrributes to
> elements.
> Please see my schema below for that exception object.
>
> <
> xs:complexType name=*"DataNotFoundServiceException"*>
>
> <xs:sequence>
>
> <xs:element name=*"code"* type=*"xs:int"*/>
>
> <xs:element name=*"message"* type=*"xs:string"*/>
>
> <xs:element name=*"systemOfRecord"* type=*"xs:string"*/>
>
> <xs:element name=*"node"* type=*"xs:string"*/>
>
> <xs:element name=*"detailedMessage"* type=*"xs:string"*/>
>
> <xs:element name=*"severity"* type=*"xs:string"*/>
>
> <xs:element name=*"additionalInfo"* type=*"xs:string"*/>
>
> </xs:sequence>
>
> </xs:complexType>
>   On Wed, Nov 11, 2009 at 4:07 PM, Daniel Kulp <dkulp@apache.org> wrote:
>
>>
>>
>> OK.   The soap message isn't valid according to that schema.  In the
>> schema,
>> they are all <xs:attribute> and thus should be attributes, not child
>> elements.
>>
>> Dan
>>
>>
>> On Wed November 11 2009 4:02:30 pm deepika vadapalli wrote:
>> > Dan,
>> >
>> > I am sorry. Actual for that call, I get DataNotFoundServiceException.
>> > Schema is like this:
>> >
>> > <xs:element name="DataNotFoundServiceException">
>> >
>> > <xs:complexType>
>> >
>> > *<xs:sequence>
>> > *
>> >
>> > *</xs:sequence>
>> > *
>> >
>> > <xs:attribute name="code" type="xs:int" use="required"/>
>> >
>> > <xs:attribute name="message" type="xs:string" use="required"/>
>> >
>> > <xs:attribute name="systemOfRecord" type="xs:string" use="required"/>
>> >
>> > <xs:attribute name="node" type="xs:string" use="required"/>
>> >
>> > <xs:attribute name="detailedMessage" type="xs:string" use="required"/>
>> >
>> > <xs:attribute name="severity" type="xs:string" use="required"/>
>> >
>> > <xs:attribute name="additionalInfo" type="xs:string" use="required"/>
>> >
>> > </xs:complexType>
>> >
>> > *</xs:element>
>> > *
>> > I have getters and setters .
>> >
>> > @XmlAccessorType(XmlAccessType.*FIELD*)
>> >
>> > @XmlType(name = "")
>> >
>> > @XmlRootElement(name = "DataNotFoundServiceException")
>> > *
>> >
>> > public* *class* DataNotFoundServiceException
>> >
>> > *implements* Serializable
>> >
>> > {
>> >
>> > *private* *final* *static* *long* *serialVersionUID* = -1L;
>> >
>> > @XmlAttribute(required = *true*)
>> >
>> > @XmlJavaTypeAdapter(IntegerAdapter.*class*)
>> >
>> > @XmlSchemaType(name = "int")
>> >
>> > *protected* Integer code;
>> >
>> > @XmlAttribute(required = *true*)
>> >
>> > *protected* String message;
>> >
>> > @XmlAttribute(required = *true*)
>> >
>> > *protected* String systemOfRecord;
>> >
>> > @XmlAttribute(required = *true*)
>> >
>> > *protected* String node;
>> >
>> > @XmlAttribute(required = *true*)
>> >
>> > *protected* String detailedMessage;
>> >
>> > @XmlAttribute(required = *true*)
>> >
>> > *protected* String severity;
>> >
>> > @XmlAttribute(required = *true*)
>> >
>> > *protected* String additionalInfo;
>> >
>> >  *public* Integer getCode() {
>> >
>> > *return* code;
>> >
>> > }
>> >
>> > *void* setCode(Integer value) {
>> >
>> > *this*.code = value;
>> >
>> > }
>> >
>> > *public* *boolean* isSetCode() {
>> >
>> > *return* (*this*.code!= *null*);
>> >
>> > }
>> >  Below is the soap response.
>> >
>> > I have gettes and setters.
>> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>> >    <soap:Body>
>> >       <soap:Fault>
>> >          <faultcode>soap:Server</faultcode>
>> >          <faultstring>No Policies could be found for productID=53825,
>> > productChannelID=null, facilityID=90002241, policyType=,
>> > includeMessage=true, includeSchedule=false,
>> > effectiveDate=[null]</faultstring>
>> >          <detail>
>> >             <ns1:DataNotFoundServiceException xmlns:ns1="
>> > http://faults.valueobject.application.wdw.com">
>> >                <code xsi:nil="true" xmlns:ns2="
>> > http://packaging.valueobject.application.wdw.com/" xmlns:ns3="
>> > http://packaging.valuetransferobject.application.wdw.com/" xmlns:ns4="
>> > http://pricing.valueobject.application.wdw.com/" xmlns:ns5="
>> > http://chargeitems.valueobject.application.wdw.com/" xmlns:xsi="
>> > http://www.w3.org/2001/XMLSchema-instance"/<
>> http://www.w3.org/2001/XMLSchem
>> > a-instance%22/>
>> >
>> >                <message xmlns:ns2="
>> > http://packaging.valueobject.application.wdw.com/" xmlns:ns3="
>> > http://packaging.valuetransferobject.application.wdw.com/" xmlns:ns4="
>> > http://pricing.valueobject.application.wdw.com/" xmlns:ns5="
>> > http://chargeitems.valueobject.application.wdw.com/">No<
>> http://chargeitems.
>> > valueobject.application.wdw.com/%22%3ENo>Policies could be found for
>> >  productID=53825, productChannelID=null,
>> > facilityID=90002241, policyType=, includeMessage=true,
>> > includeSchedule=false, effectiveDate=[null]</message>
>> >                <systemOfRecord xsi:nil="true" xmlns:ns2="
>> > http://packaging.valueobject.application.wdw.com/" xmlns:ns3="
>> > http://packaging.valuetransferobject.application.wdw.com/" xmlns:ns4="
>> > http://pricing.valueobject.application.wdw.com/" xmlns:ns5="
>> > http://chargeitems.valueobject.application.wdw.com/" xmlns:xsi="
>> > http://www.w3.org/2001/XMLSchema-instance"/<
>> http://www.w3.org/2001/XMLSchem
>> > a-instance%22/>
>> >
>> >                <node xsi:nil="true" xmlns:ns2="
>> > http://packaging.valueobject.application.wdw.com/" xmlns:ns3="
>> > http://packaging.valuetransferobject.application.wdw.com/" xmlns:ns4="
>> > http://pricing.valueobject.application.wdw.com/" xmlns:ns5="
>> > http://chargeitems.valueobject.application.wdw.com/" xmlns:xsi="
>> > http://www.w3.org/2001/XMLSchema-instance"/<
>> http://www.w3.org/2001/XMLSchem
>> > a-instance%22/>
>> >
>> >                <detailedMessage xsi:nil="true" xmlns:ns2="
>> > http://packaging.valueobject.application.wdw.com/" xmlns:ns3="
>> > http://packaging.valuetransferobject.application.wdw.com/" xmlns:ns4="
>> > http://pricing.valueobject.application.wdw.com/" xmlns:ns5="
>> > http://chargeitems.valueobject.application.wdw.com/" xmlns:xsi="
>> > http://www.w3.org/2001/XMLSchema-instance"/<
>> http://www.w3.org/2001/XMLSchem
>> > a-instance%22/>
>> >
>> >                <severity xsi:nil="true" xmlns:ns2="
>> > http://packaging.valueobject.application.wdw.com/" xmlns:ns3="
>> > http://packaging.valuetransferobject.application.wdw.com/" xmlns:ns4="
>> > http://pricing.valueobject.application.wdw.com/" xmlns:ns5="
>> > http://chargeitems.valueobject.application.wdw.com/" xmlns:xsi="
>> > http://www.w3.org/2001/XMLSchema-instance"/<
>> http://www.w3.org/2001/XMLSchem
>> > a-instance%22/>
>> >
>> >                <additionalInfo xsi:nil="true" xmlns:ns2="
>> > http://packaging.valueobject.application.wdw.com/" xmlns:ns3="
>> > http://packaging.valuetransferobject.application.wdw.com/" xmlns:ns4="
>> > http://pricing.valueobject.application.wdw.com/" xmlns:ns5="
>> > http://chargeitems.valueobject.application.wdw.com/" xmlns:xsi="
>> > http://www.w3.org/2001/XMLSchema-instance"/<
>> http://www.w3.org/2001/XMLSchem
>> > a-instance%22/>
>>  >
>> >             </ns1:DataNotFoundServiceException>
>> >          </detail>
>> >       </soap:Fault>
>> >    </soap:Body>
>> > </soap:Envelope>
>> >
>> > On Wed, Nov 11, 2009 at 3:54 PM, Daniel Kulp <dkulp@apache.org> wrote:
>> > > What does your ValidationServiceException bean look like?   Does it
>> have
>> > > proper getter/setters for the code attribute?
>> > >
>> > >
>> > > What does the schema for the service look like?  Particularly for that
>> > > exception type.
>> > >
>> > > Dan
>> > >
>> > > On Wed November 11 2009 3:29:05 pm deepika vadapalli wrote:
>> > > > Hi All,
>> > > >
>> > > > I use CXF 2.1.7.
>> > > > I have a soap message which generates valid fault. I am able to
>> > >
>> > > unmarshall
>> > >
>> > > > faults from other services properly.
>> > > > When I call this particular  service, in my client code, I get
>> > >
>> > > Unmarshlling
>> > >
>> > > > exception.
>> > > > When I check, the object has all the attributes, the fault messgae
>> has
>> > > >  sent. Can you please help me out.
>> > > > Caused by: javax.xml.bind.UnmarshalException: unexpected element
>> > > > (uri:"", local:"code"). Expected elements are (none)
>> > > >  at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent
>> > >(U
>> > >
>> > > > nmarshallingContext.java:616) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:2
>> > >44
>> > >
>> > > > ) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:2
>> > >39
>> > >
>> > > > ) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElem
>>  > >en
>> > >
>> > > > t(Loader.java:116) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.childElement(Loader.java:
>> > >10
>> > >
>> > > > 1) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.childElement(Str
>> > >uc
>> > >
>> > > > tureLoader.java:245) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startEleme
>> > >nt
>> > >
>> > > > (UnmarshallingContext.java:452) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElemen
>> > >t(
>> > >
>> > > > UnmarshallingContext.java:433) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement
>> > >(I
>> > >
>> > > > nterningXmlVisitor.java:71) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXCon
>> > >ne
>> > >
>> > > > ctor.java:137) at
>> > > >  com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:240)
>> at
>> > > >  com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:277)
>> at
>> > > >  com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:246)
>> at
>> > > >  com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:123)
>> at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unma
>> > >rs
>> > >
>> > > > hallerImpl.java:314) at
>> > >
>> > >
>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unmar
>> > >sh
>> > >
>> > > > allerImpl.java:293) at
>> > >
>> > >
>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java
>> > >:6
>> > >
>> > > > 43) at
>> > >
>> > >
>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java
>> > >:5
>> > >
>> > > > 33) at
>> > >
>> > > org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:113)
>> > >
>> > >  >  at
>> > >
>> > >
>> org.apache.cxf.interceptor.ClientFaultConverter.processFaultDetail(Client
>> > >Fa
>> > >
>> > > > ultConverter.java:131) at
>> > >
>> > >
>> org.apache.cxf.interceptor.ClientFaultConverter.handleMessage(ClientFault
>> > >Co
>> > >
>> > > > nverter.java:74) at
>> > >
>> > >
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
>> > >ai
>> > >
>> > > > n.java:236) at
>> > >
>> > >
>> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(
>> > >Ab
>> > >
>> > > > stractFaultChainInitiatorObserver.java:96) at
>> > >
>> > >
>> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessa
>> > >ge
>> > >
>> > > > (CheckFaultInterceptor.java:69) at
>> > >
>> > >
>> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessa
>> > >ge
>> > >
>> > > > (CheckFaultInterceptor.java:34) at
>> > >
>> > >
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
>> > >ai
>> > >
>> > > > n.java:236) at
>> > > >  org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
>> at
>> > >
>> > >
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespo
>> > >ns
>> > >
>> > > > eInternal(HTTPConduit.java:2131) at
>> > >
>> > >
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespo
>> > >ns
>> > >
>> > > > e(HTTPConduit.java:2014) at
>> > >
>> > >
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPC
>> > >on
>> > >
>> > > > duit.java:1939) at
>> > >
>> > >
>> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutput
>> > >St
>> > >
>> > > > ream.java:47) at
>> > > >
>> > > >
>> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188)
>> > >
>> > > at
>> > >
>> > > >
>> > > >
>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>> > >
>> > > at
>> > >
>> > > >
>>  org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
>> > > > at
>> > >
>> > >
>> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingIn
>> > >te
>> > >
>> > > > rceptor.handleMessage(MessageSenderInterceptor.java:62) at
>> > >
>> > >
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
>> > >ai
>> > >
>> > > > n.java:236) at
>> > > >  org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478) at
>> > > >  org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308) at
>> > > >  org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260) at
>> > > >  org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>> at
>> > > >
>> > > >
>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:127)
>> > > > ... 56 more
>> > > >
>> > > > here is the example response:
>> > > >
>> > > > <soap:Envelope xmlns:soap="
>> http://schemas.xmlsoap.org/soap/envelope/">
>> > > >    <soap:Body>
>> > > >       <soap:Fault>
>> > > >          <faultcode>soap:Server</faultcode>
>> > > >          <faultstring>Discount policy ID is required when a
specific
>> > > >  Product Channel is requested for the priceComponents()
>> > > >  service.</faultstring> <detail>
>> > > >             <ns1:ValidationServiceException xmlns:ns1="
>> > > > http://faults.valueobject.application.wdw.com">
>> > > >                <additionalInfo xsi:nil="true" xmlns:ns2="
>> > > > http://packaging.valuetransferobject.application.wdw.com/"
>> xmlns:ns3="
>> > > > http://pricing.valueobject.application.wdw.com/" xmlns:ns4="
>> > > > http://packaging.valueobject.application.wdw.com/" xmlns:ns5="
>> > > > http://chargeitems.valueobject.application.wdw.com/" xmlns:ns6="
>> > > > http://faults.valueobject.application.wdw.com/" xmlns:xsi="
>> > > > http://www.w3.org/2001/XMLSchema-instance"/>
>> > > >                <code xsi:nil="true" xmlns:ns2="
>> > > > http://packaging.valuetransferobject.application.wdw.com/"
>> xmlns:ns3="
>> > > > http://pricing.valueobject.application.wdw.com/" xmlns:ns4="
>> > > > http://packaging.valueobject.application.wdw.com/" xmlns:ns5="
>> > > > http://chargeitems.valueobject.application.wdw.com/" xmlns:ns6="
>> > > > http://faults.valueobject.application.wdw.com/" xmlns:xsi="
>> > > > http://www.w3.org/2001/XMLSchema-instance"/>
>> > > >                <systemOfRecord xsi:nil="true" xmlns:ns2="
>> > > > http://packaging.valuetransferobject.application.wdw.com/"
>> xmlns:ns3="
>> > > > http://pricing.valueobject.application.wdw.com/" xmlns:ns4="
>> > > > http://packaging.valueobject.application.wdw.com/" xmlns:ns5="
>> > > > http://chargeitems.valueobject.application.wdw.com/" xmlns:ns6="
>> > > > http://faults.valueobject.application.wdw.com/" xmlns:xsi="
>> > > > http://www.w3.org/2001/XMLSchema-instance"/>
>> > > >                <node xsi:nil="true" xmlns:ns2="
>> > > > http://packaging.valuetransferobject.application.wdw.com/"
>> xmlns:ns3="
>> > > > http://pricing.valueobject.application.wdw.com/" xmlns:ns4="
>> > > > http://packaging.valueobject.application.wdw.com/" xmlns:ns5="
>> > > > http://chargeitems.valueobject.application.wdw.com/" xmlns:ns6="
>> > > > http://faults.valueobject.application.wdw.com/" xmlns:xsi="
>> > > > http://www.w3.org/2001/XMLSchema-instance"/>
>> > > >                <detailedMessage xsi:nil="true" xmlns:ns2="
>> > > > http://packaging.valuetransferobject.application.wdw.com/"
>> xmlns:ns3="
>> > > > http://pricing.valueobject.application.wdw.com/" xmlns:ns4="
>> > > > http://packaging.valueobject.application.wdw.com/" xmlns:ns5="
>> > > > http://chargeitems.valueobject.application.wdw.com/" xmlns:ns6="
>> > > > http://faults.valueobject.application.wdw.com/" xmlns:xsi="
>> > > > http://www.w3.org/2001/XMLSchema-instance"/>
>> > > >                <severity xsi:nil="true" xmlns:ns2="
>> > > > http://packaging.valuetransferobject.application.wdw.com/"
>> xmlns:ns3="
>> > > > http://pricing.valueobject.application.wdw.com/" xmlns:ns4="
>> > > > http://packaging.valueobject.application.wdw.com/" xmlns:ns5="
>> > > > http://chargeitems.valueobject.application.wdw.com/" xmlns:ns6="
>> > > > http://faults.valueobject.application.wdw.com/" xmlns:xsi="
>> > > > http://www.w3.org/2001/XMLSchema-instance"/>
>> > > >                <message xmlns:ns2="
>> > > > http://packaging.valuetransferobject.application.wdw.com/"
>> xmlns:ns3="
>> > > > http://pricing.valueobject.application.wdw.com/" xmlns:ns4="
>> > > > http://packaging.valueobject.application.wdw.com/" xmlns:ns5="
>> > > > http://chargeitems.valueobject.application.wdw.com/" xmlns:ns6="
>> > > > http://faults.valueobject.application.wdw.com/">Discount policy
ID
>> is
>> > > > required when a specific Product Channel is requested for the
>> > > > priceComponents() service.</message>
>> > > >             </ns1:ValidationServiceException>
>> > > >          </detail>
>> > > >       </soap:Fault>
>> > > >    </soap:Body>
>> > > > </soap:Envelope>
>> > > >
>> > > >
>> > > >
>> > > > Thnaks,
>> > > > Deepika
>> > >
>> > > --
>> > > Daniel Kulp
>> > > dkulp@apache.org
>> > > http://www.dankulp.com/blog
>> >
>>
>> --
>>  Daniel Kulp
>> dkulp@apache.org
>> http://www.dankulp.com/blog
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message