Dennis,
Thanks for your help on this.  
I assume that TransformInInterceptor will be called once I set the rule on 
spring.xml, right?  I set a break point on handleMessage function, but not 
stopping it.  So as soap message body is not being changed.  Is there anything 
I need to do to add this interceptor?
 
Thanks,

________________________________
From: Dennis Sosnoski <[email protected]>
To: [email protected] 
Sent: Friday, May 11, 2012 9:08 AM
Subject: Re: [javax.xml.bind.UnmarshalException: unexpected element

Looks close, but you need to give the actual namespace rather than the prefix 
in the key and the values are the new element names. So like this: <entry 
key="{http://xxx.com/common/general/2010/1/1/platformServiceResult}id"  
value="id"/>

  - Dennis


On 05/11/2012 12:00 PM, Steve Kim wrote:
> Dennis, I really appreciate that you direct me to this direction.  Would it 
> be the right rule to add to spring.xml?
> Thanks,
>  
><beanid="transformFeature"class="org.apache.cxf.feature.StaxTransformFeature"> 
>       <propertyname="inTransformElements">                  
><entrykey="{ns2}id"value="{ns2}id=id"/>
>                <entrykey="{ns2}status"value="{ns2}status=status"/>
>                <entrykey="{ns2}systemId"value="{ns2}systemId=systemId"/>      
>    </map>      </property></bean>          <map>
>  If I want to transform from
>  <platformServiceResult>
> 
>          <ns2:status>SUCCESS</ns2:status>
>          <ns2:systemId>ebilprodapp103</ns2:systemId>
> to
>          <id>9faa0d0e-1932-4064-95ec-6a0e10da4c60</id>
>          <status>SUCCESS</status>
>          <systemId>ebilprodapp103</systemId>
>  </platformServiceResult>
>  
> 
> ________________________________
> From: Dennis Sosnoski<[email protected]>
> To: [email protected]
> Sent: Friday, May 11, 2012 8:25 AM
> Subject: Re: [javax.xml.bind.UnmarshalException: unexpected element
> 
> You should be able to use the Transformation feature to modify the response 
> before it's passed to JAXB: 
> http://cxf.apache.org/docs/transformationfeature.html
> 
>    - Dennis
> 
> 
> On 05/11/2012 11:17 AM, Steve Kim wrote:
>> That's also my findings.  However, this response is from 3rd party.  3rd 
>> party won't be able to update within a short period of time.  Only options 
>> at this point is that we have to do something about it.  Someone recommended 
>> to manually update package-info.java to include as below:
>> However, this will cause not to put the name space on the request, 3rd party 
>> can not use the request.  I'm using cxf2.4.6 with jaxb-impl.2.1.7.  Is there 
>> any workaround so that I can resolve this?
>>    @
>> elementFormDefault=XmlNsForm.javax.xml.bind.annotation.XmlSchema(namespace = 
>> "http://xxx.com/binders/general/2010/1/1";, QUALIFIED)
>>        ________________________________
>> From: Dennis Sosnoski<[email protected]>
>> To: [email protected]
>> Sent: Saturday, May 12, 2012 8:02 AM
>> Subject: Re: [javax.xml.bind.UnmarshalException: unexpected element
>> 
>> Hi Steve,
>> 
>> The schema and message are somewhat garbled, but judging from the error 
>> message the problem is that the response has a namespace for the id element 
>> (and presumably others) while your code expects this not to have a 
>> namespace. It looks like the schema matches your code, since it does not 
>> specify elementFormDefault='qualified' and without this child elements do 
>> not use namespaces.
>> 
>>      - Dennis
>> 
>> Dennis M. Sosnoski
>> Java SOA and Web Services Consulting<http://www.sosnoski.com/consult.html>
>> CXF and Web Services Security Training<http://www.sosnoski.com/training.html>
>> Web Services Jump-Start<http://www.sosnoski.com/jumpstart.html>
>> 
>> 

Reply via email to