[ http://issues.apache.org/jira/browse/AXIS2-774?page=all ]
Ajith Harshana Ranabahu resolved AXIS2-774. ------------------------------------------- Resolution: Fixed This issue is solved by adding a "isDocumentType" check to the code. Anyway we'll have to find a better way to handle binary with XMLBeans > NullPointerException in XMLbeans code generation with xmime:contentType > ----------------------------------------------------------------------- > > Key: AXIS2-774 > URL: http://issues.apache.org/jira/browse/AXIS2-774 > Project: Apache Axis 2.0 (Axis2) > Issue Type: Bug > Components: databinding > Affects Versions: 1.0 > Reporter: Kent Tong > Assigned To: Ajith Harshana Ranabahu > > In the org.apache.axis2.xmlbeans.CodeGenerationUtility class, the > findBase64Types() method (as shown below) contains a bug: It is calling > getDocumentElementName() on the outer type but this method works on the > "document type" only, otherwise it will return null: > if (sType.getContentType() == SchemaType.SIMPLE_CONTENT && > sType.getPrimitiveType() != null) { > if > (Constants.BASE_64_CONTENT_QNAME.equals(sType.getPrimitiveType().getName())) { > outerType = sType.getOuterType(); > //check the outer type further to see whether it has the > contenttype attribute from > //XMime namespace > SchemaProperty[] properties = sType.getProperties(); > for (int j = 0; j < properties.length; j++) { > if > (Constants.XMIME_CONTENT_TYPE_QNAME.equals(properties[j].getName())) { > > base64ElementQNamesList.add(outerType.getDocumentElementName()); > break; > } > } > } > } > The result is, the base64 qname list will only contain null's as its > elements. This will later cause the > AxisServiceBasedMultiLanguageEmitter.getBase64Elements() to fail. The stack > trace is: > [java] Caused by: java.lang.NullPointerException > [java] at > org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.getBase64Elements(AxisServiceBasedMultiLanguageEmitter.java:972) > [java] at > org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.createDOMElementforDatabinders(AxisServiceBasedMultiLanguageEmitte > r.java:931) > [java] at > org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.createDocumentForMessageReceiver(AxisServiceBasedMultiLanguageEmit > ter.java:849) > [java] at > org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.writeMessageReceiver(AxisServiceBasedMultiLanguageEmitter.java:796 > ) > [java] at > org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.emitSkeletonService(AxisServiceBasedMultiLanguageEmitter.java:693) > [java] at > org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.emitSkeleton(AxisServiceBasedMultiLanguageEmitter.java:638) -- 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]