You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Ajith Harshana Ranabahu (JIRA)" <ji...@apache.org> on 2006/07/19 15:56:14 UTC

[jira] Resolved: (AXIS2-774) NullPointerException in XMLbeans code generation with xmime:contentType

     [ 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org