[
https://issues.apache.org/jira/browse/WSCOMMONS-261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536717
]
Ajith Harshana Ranabahu commented on WSCOMMONS-261:
---------------------------------------------------
Fixed in the trunk - test case pending
> Extensor attributes are lost during deserializtion
> --------------------------------------------------
>
> Key: WSCOMMONS-261
> URL: https://issues.apache.org/jira/browse/WSCOMMONS-261
> Project: WS-Commons
> Issue Type: Bug
> Components: XmlSchema
> Reporter: Daniel Kulp
>
> If an element has multiple extensor attributes, the LAST one that is
> processed is the only one that is kept. What's worse, namespaces are now
> (with 1.3.2) processed as extensors. Thus, something like:
> <xs:element minOccurs="0" name="myPhoto" ns1:expectedContentTypes="image/png"
> xmlns:ns1="http://www.w3.org/2005/05/xmlmime" type="xs:base64Binary"/>
> would result in the namespace being outputted, but the expectedContentTypes
> being lost. However, if you reverse them, it actually works.
> Two fixes:
> In SchemaBuilder.processExtensibilityComponents(...), since it was changed to
> use the local name, the line:
> !name.startsWith(Constants.XMLNS_ATTRIBUTE) && //ignore namespaces
> should change to:
> !namespace.equals(Constants.XMLNS_ATTRIBUTE_NS_URI) && //ignore namespaces
> In DefaultExtensionDeserializer, use the existing MetaInfoMap:
> Map metaInfoMap = schemaObject.getMetaInfoMap();
> if (metaInfoMap == null) {
> metaInfoMap = new HashMap();
> }
> Thus, the queries to metaInfoMap.containsKey(....) won't always be looking
> at a brand new empty map.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]