Hello,
when trying to generate Java classes from a SAP Business Connector I got 
errors (undefined namespace) after editing the file i finally got a a 
NullPointer Exception (see error message and WSDL file below).
Options used : java org.apache.axis.wsdl.WSDL2Java -v -a -D -W -p
Version: axis-1_1RC2

- Does anybody know about issues when processing WSDL files from SAP Business 
Connectors (I can generate classes for BC services with no parameters)?
- Whats wrong with the supplied WSDL file ?
- How can i solve the problems?

Thanks for any help in advance

Reto


Error Message:
java.lang.NullPointerException at 
org.apache.axis.wsdl.symbolTable.Utils.getNodeNameQName(Utils.java:257) at 
org.apache.axis.wsdl.symbolTable.SchemaUtils.getElementAnonQName(SchemaUtils.java:379)
at org.apache.axis.wsdl.symbolTable.Utils.getTypeQNameFromAttr(Utils.java:399)
at org.apache.axis.wsdl.symbolTable.Utils.getTypeQName(Utils.java:314)
at 
org.apache.axis.wsdl.symbolTable.SymbolTable.createTypeFromRef(SymbolTable.java:962) 
at 
org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes(SymbolTable.java:734) 
at 
org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes(SymbolTable.java:825)
        at 
org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes(SymbolTable.java:825)
        at 
org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes(SymbolTable.java:825)
        at 
org.apache.axis.wsdl.symbolTable.SymbolTable.populateTypes(SymbolTable.java:688)
        at 
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:548)
        at 
org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:421)
        at 
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:408)
        at 
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:393)
        at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:245)
        at java.lang.Thread.run(Thread.java:536)

This is the WSDL file
<?xml version="1.0" encoding="UTF-8"?>
	<wsdl:definitions name="test" targetNamespace="http://192.168.125.246";
			xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
			xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
			xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
			xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
			xmlns:tns="http://192.168.125.246";
      xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
  <wsdl:message name="bank_get_detailInput">
		<wsdl:part name="composite" type="tns:in"/>
	</wsdl:message>
	<wsdl:message name="bank_get_detailOutput">
		<wsdl:part name="composite" type="tns:out"/>
	</wsdl:message>
	<wsdl:portType name="testPortType">
		<wsdl:operation name="bank_get_detail">
			<wsdl:input name="bank_get_detailInput" message="tns:bank_get_detailInput"/>
			<wsdl:output name="bank_get_detailOutput" message="tns:bank_get_detailOutput"/>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="testBinding" type="tns:testPortType">
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="rpc"/>
		<wsdl:operation name="bank_get_detail">
			<wsdl:input>
				<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="test" use="encoded"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="test" use="encoded"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="testService">
		<wsdl:port name="testPort0" binding="tns:testBinding">
			<soap:address location="http://192.168.125.246:5555/soap/rpc"/>
		</wsdl:port>
	</wsdl:service>
	<wsdl:types>
    <xsd:complexType name="in">
      <xsd:sequence>
        <xsd:element name="BANKCOUNTRY" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="BANKKEY" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="out">
      <xsd:sequence>
        <xsd:element name="BANK_ADDRESS" type="xsd:BANK_ADDRESS" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="BANK_DETAIL" type="xsd:BANK_DETAIL" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="RETURN" type="xsd:RETURN" minOccurs="1" maxOccurs="1"/>
        <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="BANK_ADDRESS">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element name="BANK_NAME" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="REGION" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="STREET" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="CITY" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="SWIFT_CODE" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="BANK_GROUP" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="POBK_CURAC" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="BANK_NO" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="POST_BANK" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="BANK_BRANCH" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="ADDR_NO" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:anyAttribute processContents="lax"/>
      </xsd:complexType>
    </xsd:element>
    <xsd:element name="BANK_DETAIL">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element name="CREAT_DATE" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="CREATOR" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="METHOD" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="FORMATTING" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="BANK_DELETE" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:anyAttribute processContents="lax"/>
      </xsd:complexType>
    </xsd:element>
    <xsd:element name="RETURN">
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element name="TYPE" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="ID" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="NUMBER" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="MESSAGE" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="LOG_NO" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="LOG_MSG_NO" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="MESSAGE_V1" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="MESSAGE_V2" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="MESSAGE_V3" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="MESSAGE_V4" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="PARAMETER" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="ROW" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="FIELD" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:element name="SYSTEM" type="xsd:string" minOccurs="1" maxOccurs="1"/>
          <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:anyAttribute processContents="lax"/>
      </xsd:complexType>
    </xsd:element>
	</wsdl:types>
	</wsdl:definitions>

Reply via email to