[ http://issues.apache.org/jira/browse/AXIS-2127?page=comments#action_12318630 ]
Dan F commented on AXIS-2127: ----------------------------- And when are you planning to release? It would be nice to have a quickie 1.2.1.1 with this patch, although I realize there are reasons not to do that. Dan > Schema version mismatch > ----------------------- > > Key: AXIS-2127 > URL: http://issues.apache.org/jira/browse/AXIS-2127 > Project: Apache Axis > Type: Bug > Components: Serialization/Deserialization > Versions: 1.2.1 > Environment: Axis 1.2.1, Java 1.5.0_03, Tomcat 5.5.9, but doesn't really > matter > Reporter: Thorsten Jungblut > Priority: Blocker > > If i send a soap message to axis using > http://www.w3.org/1999/XMLSchema-instance as it's schema instance and the > target service returns an array, the return message contains both references > to http://www.w3.org/2001/XMLSchema-instance and to > http://www.w3.org/1999/XMLSchema-instance in the same message. Even worse, > the array-return tag itself contains two xsi:type-attributes, resulting from > the mixture of the two schemas: > <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/1999/XMLSchema" > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"><soapenv:Body><ns1:searchPageIDsResponse > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:ns1="PageService"><searchPageIDsReturn > soapenc:arrayType="soapenc:string[8]" xsi:type="soapenc:Array" > xsi:type="soapenc:Array" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><searchPageIDsReturn > xsi:type="soapenc:string">0d6f95d44f127c11aa8a3078b8575e05</searchPageIDsReturn><searchPageIDsReturn > > xsi:type="soapenc:string">1b4190cafc6365ede444bb3ab1c5ce9e</searchPageIDsReturn><searchPageIDsReturn > > xsi:type="soapenc:string">231b4e03659c6764078c63ceebbbfab4</searchPageIDsReturn><searchPageIDsReturn > > xsi:type="soapenc:string">48976c8d98b3725017ccd206583d5f39</searchPageIDsReturn><searchPageIDsReturn > > xsi:type="soapenc:string">601940d36f1b873a080ce7fc3120e06b</searchPageIDsReturn><searchPageIDsReturn > > xsi:type="soapenc:string">8656b292d411236b7af40c793df24b28</searchPageIDsReturn><searchPageIDsReturn > > xsi:type="soapenc:string">c31808c8b908a7cd85e41fcebec57bda</searchPageIDsReturn><searchPageIDsReturn > > xsi:type="soapenc:string">c9782177a9619f920fb75ed0403b63a7</searchPageIDsReturn></searchPageIDsReturn></ns1:searchPageIDsResponse></soapenv:Body></soapenv:Envelope> > This mixture seems to not only apply to arrays but i didn't test it any > further. > It seems to be a problem in the class > org.apache.axis.encoding.SerializationContext.java, Method setTypeAttribute. > That method uses the default schema, no matter what actual schema should be > used. Path: > diff -r1.109 SerializationContext.java > 1325a1326,1330 > > SchemaVersion schema = SchemaVersion.SCHEMA_2001; > > if (msgContext != null) { > > schema = msgContext.getSchemaVersion(); > > } > > > 1329c1334 > < (attributes.getIndex(Constants.URI_DEFAULT_SCHEMA_XSI, > --- > > (attributes.getIndex(schema.getXsiURI(), > 1337c1342 > < String prefix = getPrefixForURI(Constants.URI_DEFAULT_SCHEMA_XSI, > --- > > String prefix = getPrefixForURI(schema.getXsiURI(), > 1340c1345 > < attrs.addAttribute(Constants.URI_DEFAULT_SCHEMA_XSI, > --- > > attrs.addAttribute(schema.getXsiURI(), -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
