And checked in a fix as well. -- dims
On 9/7/06, Davanum Srinivas <[EMAIL PROTECTED]> wrote:
I've added a JIRA issue: http://issues.apache.org/jira/browse/AXIS2-1121 thanks, -- dims On 9/7/06, Chuck Williams <[EMAIL PROTECTED]> wrote: > Thanks Dims. I'm trying a build now. It takes a long time from here > due to all the maven library access delays (I already tried offline, > which failed hopefully only because a new library is requried). > > The problems I've noted with the template remain. In the unordered case > the code inserts binary (or enumFacet) code into a looping structure > that looks for each property in any order. Each iteration of the loop > must check to see what property it is at and then load that value using > whatever method is correct. The code structure of the loop presumes > that each such property-loading code segment is an single if statement > that can be preceded by an "else" as there is no need to continue > checking properties in a single iteration once one is found. However, > the code generated for binary and enumFacet properties satisfies neither > of these criteria. This code does not check to see if it is at the > property it loads and it is not in the form of an if. This causes > invalid code to be generated. The binary and and enumFacet generated > code will only work in an ordered context. > > With a binary MTOM property is it still possible to validate the > property by checking the name of the start element? If so, my fix > (which just backs out 434331 and 436663) will work. If not, then some > other test needs to be devised if binary attributes are to work in an > unordered context. > > I'd be happy to fix if you could answer that question. > > Thanks, > > Chuck > > > Davanum Srinivas wrote on 09/07/2006 12:17 AM: > > As of this morning, build is not broken. Please get a fresh nightly > > and try again. there was a backward compat flag problem which i fixed > > yesterday. > > > > -- dims > > > > On 9/6/06, Chuck Williams <[EMAIL PROTECTED]> wrote: > >> Hi Dims and Ajith, > >> > >> I believe you guys added revisions 434331 and 436663 as part of a fix > >> for Axis2-1065. Unfortunately these changes break the build and the > >> template. E.g., the sforce enterprise wsdl generates bogus code and > >> kills a clean build. > >> > >> Simply backing out the changes in these two revisions causes the build > >> to succeed and all tests to pass. However, I suspect this will regress > >> Axis2-1065 and the same type of problem exists for enumFacet. > >> > >> The issue is this. For ordered property sets, the main property parsing > >> loop generates code like this (in pseudo-code notation): > >> > >> if (elementName=="name1") { > >> ... > >> } else throw "Unexpected subelement" > >> > >> if (elementName=="name2") { > >> ... > >> } else throw "Unexpected subelement" > >> > >> ... > >> > >> While in the unordered case the same code looks like this: > >> > >> while (!endElement) { > >> if (elementName=="name1") { > >> ... > >> } > >> else if (elementName=="name2") { > >> ... > >> } > >> ... > >> } > >> > >> The binary MTOM code that was added fills the role of one the embedded > >> if's but is not of the same form, not an if at all. This code works in > >> the first ordered case, but in the second unordered case it doesn't work > >> at all to have fixed code expecting to just read a binary value where > >> one of the if's is supposed to be. Also in the binary case in the > >> current template the else is still generated after the MTOM code that is > >> not an if, whence the syntax violation in the code generated for the > >> sforce wsdl, which evidently has a binary property in an unordered > >> property set. > >> > >> I'm no expert on MTOM. Can't you still test that you've got the right > >> property (the binary property) by using the start-element name? For the > >> template to work in the unordered case, some test that you've got the > >> binary propery is essential. The existing template does not do this, > >> which can only work in the ordered case where you know you are at the > >> right position, and even in this case does not do the proper error > >> checking to verify this. > >> > >> I would commit the attached template as axis2 passes all tests, but the > >> logs indicate you made the revisions that created this problem to fix > >> another problem and so I don't want to just back that out without > >> bringing this to your attention first. > >> > >> Chuck > >> > >> > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)
-- Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]