I think either of us doesn't understand ;-)

Since the service provider essentially replaced the SOAP string type
with its own 'StringType' simple type that "VEMPTY" text content can
appear in any element. Hence, I need to globally replace that text in
every SOAP message - regardless of which XML element it is used with.
That's why I concluded that I can't use the standard TransformationFeature.

I was also checking whether CXF allowed to register custom
deserializers/mapper for a given type (i.e. from that custom XML
StringType to Java String) but I haven't found anything yet.

On 29.11.17 14:22, Sergey Beryozkin wrote:
> You should be able to replace it:
> 
> https://github.com/apache/cxf/blob/master/core/src/test/java/org/apache/cxf/staxutils/transform/InTransformReaderTest.java#L56
> 
> 
> and
> 
> https://github.com/apache/cxf/blob/master/core/src/test/java/org/apache/cxf/staxutils/transform/InTransformReaderTest.java#L73
> 
> 
> You'd likely need to say that {someNs}modifiedBy has to be replaced by
> {someNs}modifiedBy
> 
> HTH, Sergey
> On 29/11/17 09:22, Marcel Stör wrote:
>> We're consuming SOAP messages for which the string type was extended or
>> redefined (see at the bottom). To denote null/empty values the XML
>> element uses "VEMPTY" as text content.
>>
>> Example: <ns2:modifiedBy>VEMPTY</ns2:modifiedBy>
>>
>> Before the message is deserialized and mapped to the Java model we'd
>> like to transform "VEMPTY" to "". As this special text content can
>> appear in arbitrary elements I don't think the standard
>> TransformationFeature as per
>> https://cxf.apache.org/docs/transformationfeature.html#TransformationFeature-Replacingtextcontent
>>
>> is applicable. Correct?
>>
>> I suspect we need to use the XSLT transformation, right?
>>
>> [StringType]
>> <xsd:simpleType name="StringType">
>>      <xsd:annotation>
>>          <xsd:documentation xml:lang="en">
>>              ...some documentation...
>>              VEMPTY if effective value is null
>>              ...some more documentation...
>>          </xsd:documentation>
>>      </xsd:annotation>
>>      <xsd:restriction base="xsd:string"/>
>> </xsd:simpleType>
>>
>> <xsd:element name="modifiedBy" type="st:StringType">
>>      <xsd:annotation>
>>          <xsd:documentation>
>>              ....
>>          </xsd:documentation>
>>      </xsd:annotation>
>> </xsd:element>
>>
> 
> 


-- 
Marcel Stör, https://frightanic.com
My PGP key: https://frightanic.com/pgp/
Couchsurfing: http://www.couchsurfing.com/people/marcelstoer
O< ascii ribbon campaign - stop html mail - http://j.mp/1OThh9L

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to