Uploaded image for project: 'Apache Taverna'
  1. Apache Taverna
  2. TAVERNA-289

WSDL with ArraysOfIntegers gives NullPointerException in org.apache.axis.wsdl.symbolTable.Utils.getNodeNameQName(Node)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: To Do
    • Major
    • Resolution: Unresolved
    • None
    • None

    Description

      Importing WSDL service http://www.brenda-enzymes.org/soap2/brenda.wsdl fails with:

      WARN  2012-05-11 09:24:58,829 (net.sf.taverna.t2.servicedescriptions.impl.ServiceDescriptionRegistryImpl:579) - Provider WSDL service http://www.brenda-enzymes.org/soap2/brenda.wsdl: There was an error with the wsdl: http://www.brenda-enzymes.org/soap2/brenda.wsdl
      
      java.lang.NullPointerException
      
      	at org.apache.axis.wsdl.symbolTable.Utils.getNodeNameQName(Utils.java:225)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.createTypeFromDef(SymbolTable.java:1137)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes(SymbolTable.java:986)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes(SymbolTable.java:1119)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes(SymbolTable.java:1119)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes(SymbolTable.java:1119)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.populateTypes(SymbolTable.java:909)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:705)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:543)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:518)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
      
      	at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:460)
      
      	at net.sf.taverna.wsdl.parser.WSDLParser.<init>(WSDLParser.java:167)
      
      	at net.sf.taverna.t2.activities.wsdl.servicedescriptions.WSDLServiceProvider.findServiceDescriptionsAsync(WSDLServiceProvider.java:101)
      
      	at net.sf.taverna.t2.servicedescriptions.impl.ServiceDescriptionRegistryImpl$FindServiceDescriptionsThread.run(ServiceDescriptionRegistryImpl.java:670)
      
      INFO  2012-05-11 09:24:58,924 (net.sf.taverna.t2.workbench.ui.servicepanel.ServicePanel:131) - There was an error with the wsdl: http://www.brenda-enzymes.org/soap2/brenda.wsdl WSDL service http://www.brenda-enzymes.org/soap2/brenda.wsdl
      

      This seems like a bug in getNodeNameQName:

                  Node search = node.getParentNode();
      
                  while (search != null) {
                      String ln = search.getLocalName();
      
                      if (ln.equals("schema")) {
                          search = null;
                      } else if (ln.equals("element")
                              || ln.equals("attribute")) {
                          localName = SymbolTable.ANON_TOKEN
                                  + getNodeNameQName(search).getLocalPart();
                          search = null;
                      } else if (ln.equals("complexType")
                              || ln.equals("simpleType")) {
                          localName = getNodeNameQName(search).getLocalPart()
                                  + SymbolTable.ANON_TOKEN + localName;
                          search = null;
                      } else {
                          search = search.getParentNode();
                      }
                  }
      
              if (localName == null) {
                  return null;
              }
      

      This fails when the search reaches the Document, which does not have a localName() - thus ln.equals() throws a NPE.

      Reversing the equals should work around this.

      Note - the WSDL does not comply with the WS-I profile. Worth fixing?

      Would this work with the wsdl4j version?

      Attachments

        Activity

          People

            Unassigned Unassigned
            stain Stian Soiland-Reyes
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: