Hi,
I am trying to convert the attached WSDL file to Java, but get the following error

C:\Project\WebServices\BankEx>java org.apache.axis.wsdl.WSDL2Java -v BankEx.wsdl
Parsing XML file: BankEx.wsdl
WSDLException (at /wsdl:definitions/wsdl:message[12]/wsdl:part): 
faultCode=INVALID_WSDL: Unable to determine namespace of 'tnsCORBA.ObjectReference'.:
at com.ibm.wsdl.util.xml.DOMUtils.getQName(Unknown Source)
at com.ibm.wsdl.util.xml.DOMUtils.getQualifiedAttributeValue(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parsePart(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseMessage(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:406)
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(Unknown Source)

I generated the wsdl file from the attached IDL file using idl2wsdl.pl

anyone know how to solve this ?

/Noel

module BankEx {

        enum AccountType 
                { current, deposit, specialSavings} ;
        struct Details {
                string name ;
                string address ;
                string telNo ;
        };
        exception InsufficientFundsException {
                float overDraftLimit ;
                float balance ;
                float withdrawalAmount ;
        };      
        
        interface Account {
        
                attribute float overDraftLimit ;
                
                readonly attribute string owner ;
                readonly attribute string address ;
                readonly attribute AccountType accType ;
                readonly attribute float balance ;
        
                void deposit(in float amount) ;
                void withdraw(in float amount) 
                                raises (InsufficientFundsException) ;
                Details getDetails(out float balance);
        } ;

        interface Bank {
                Account createAccount(in Details d, 
                                        in AccountType type) ;
                void transfer(in Account a1, 
                        in Account a2, in float amount) 
                        raises (InsufficientFundsException) ;
    };
};---------Y1ZF820GNANHTZ9KKNTO08QM
Content-Type: text/plain
Content-Disposition: attachment; filename="BankEx.wsdl"

<!-- This file was generated (by ../idl2wsdl.pl). DO NOT modify it -->
<!-- From file : BankEx.idl, 881 octets, Thu Jan 10 20:10:50 2002
     Generation date : Sat Mar 06 15:30:23 2004
-->

<wsdl:definitions targetNamespace="http://www.omg.org/IDL-Mapped/"; 
xmlns:tns="http://www.omg.org/IDL-Mapped/"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema/"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
  <wsdl:import namespace="http://www.omg.org/IDL-Mapped"; location="BankEx.xsd"/>
  <wsdl:types>
    <xs:schema targetNamespace="http://www.omg.org/IDL-Mapped"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:tns="http://www.omg.org/IDL-Mapped"; 
elementFormDefault="qualified" attributeFormDefault="unqualified">
      <xs:simpleType name="CORBA.completion_status">
        <xs:restriction base="xs:string">
          <xs:enumeration value="COMPLETED_YES"/>
          <xs:enumeration value="COMPLETED_NO"/>
          <xs:enumeration value="COMPLETED_MAYBE"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:complexType name="CORBA.SystemException">
        <xs:sequence>
          <xs:element name="minor" maxOccurs="1" minOccurs="1" type="xs:unsignedInt"/>
          <xs:element name="completion_status" maxOccurs="1" minOccurs="1" 
type="tns:CORBA.completion_status"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>
  </wsdl:types>
  <!-- interface: BankEx.Account -->
  <wsdl:message name="BankEx.Account._get_overDraftLimitResponse">
    <wsdl:part name="_return" type="xs:float"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Account._set_overDraftLimit">
    <wsdl:part name="value" type="xs:float"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Account._get_ownerResponse">
    <wsdl:part name="_return" type="xs:string"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Account._get_addressResponse">
    <wsdl:part name="_return" type="xs:string"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Account._get_accTypeResponse">
    <wsdl:part name="_return" type="tns:BankEx.AccountType"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Account._get_balanceResponse">
    <wsdl:part name="_return" type="xs:float"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Account.deposit">
    <wsdl:part name="amount" type="xs:float"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Account.withdraw">
    <wsdl:part name="amount" type="xs:float"/>
  </wsdl:message>
  <wsdl:message name="_exception.BankEx.InsufficientFundsException">
    <wsdl:part name="exception" type="tns:BankEx.InsufficientFundsException"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Account.getDetailsResponse">
    <wsdl:part name="_return" type="tns:BankEx.Details"/>
    <wsdl:part name="balance" type="xs:float"/>
  </wsdl:message>
  <!-- port for BankEx.Account -->
  <wsdl:portType name="BankEx.Account">
    <wsdl:operation name="_get_owner">
      <wsdl:output message="tns:BankEx.Account._get_ownerResponse"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
    <wsdl:operation name="withdraw">
      <wsdl:input message="tns:BankEx.Account.withdraw"/>
      <wsdl:fault message="tns:_exception.BankEx.InsufficientFundsException"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
    <wsdl:operation name="_get_overDraftLimit">
      <wsdl:output message="tns:BankEx.Account._get_overDraftLimitResponse"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
    <wsdl:operation name="_set_overDraftLimit">
      <wsdl:input message="tns:BankEx.Account._set_overDraftLimit"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
    <wsdl:operation name="getDetails">
      <wsdl:output message="tns:BankEx.Account.getDetailsResponse"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
    <wsdl:operation name="_get_accType">
      <wsdl:output message="tns:BankEx.Account._get_accTypeResponse"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
    <wsdl:operation name="_get_balance">
      <wsdl:output message="tns:BankEx.Account._get_balanceResponse"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
    <wsdl:operation name="_get_address">
      <wsdl:output message="tns:BankEx.Account._get_addressResponse"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
    <wsdl:operation name="deposit">
      <wsdl:input message="tns:BankEx.Account.deposit"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
  </wsdl:portType>
  <!-- interface: BankEx.Bank -->
  <wsdl:message name="BankEx.Bank.createAccount">
    <wsdl:part name="d" type="tns:BankEx.Details"/>
    <wsdl:part name="type" type="tns:BankEx.AccountType"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Bank.createAccountResponse">
    <wsdl:part name="_return" type="tnsCORBA.ObjectReference"/>
  </wsdl:message>
  <wsdl:message name="BankEx.Bank.transfer">
    <wsdl:part name="a1" type="tnsCORBA.ObjectReference"/>
    <wsdl:part name="a2" type="tnsCORBA.ObjectReference"/>
    <wsdl:part name="amount" type="xs:float"/>
  </wsdl:message>
  <wsdl:message name="_exception.BankEx.InsufficientFundsException">
    <wsdl:part name="exception" type="tns:BankEx.InsufficientFundsException"/>
  </wsdl:message>
  <!-- port for BankEx.Bank -->
  <wsdl:portType name="BankEx.Bank">
    <wsdl:operation name="transfer">
      <wsdl:input message="tns:BankEx.Bank.transfer"/>
      <wsdl:fault message="tns:_exception.BankEx.InsufficientFundsException"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
    <wsdl:operation name="createAccount">
      <wsdl:input message="tns:BankEx.Bank.createAccount"/>
      <wsdl:output message="tns:BankEx.Bank.createAccountResponse"/>
      <wsdl:fault message="tns:CORBA.SystemException"/>
    </wsdl:operation>
  </wsdl:portType>
</wsdl:definitions>

<!-- end of file : BankEx.wsdl -->
<!-- This file was generated (by ../idl2wsdl.pl). DO NOT modify it -->
<!-- From file : BankEx.idl, 881 octets, Thu Jan 10 20:10:50 2002
     Generation date : Sat Mar 06 15:30:23 2004
-->

<xs:schema targetNamespace="http://www.omg.org/IDL-Mapped"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0"; 
xmlns:tns="http://www.omg.org/IDL-Mapped"; elementFormDefault="qualified" 
attributeFormDefault="unqualified">
  <xs:import namespace="http://www.omg.org/IDL-WSDL/1.0"; 
schemaLocation="http://www.omg.org/IDL-WSDL/1.0"/>
  <xs:simpleType name="BankEx.AccountType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="current"/>
      <xs:enumeration value="deposit"/>
      <xs:enumeration value="specialSavings"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="BankEx.Details">
    <xs:sequence>
      <xs:element name="name" maxOccurs="1" minOccurs="1" type="xs:string"/>
      <xs:element name="address" maxOccurs="1" minOccurs="1" type="xs:string"/>
      <xs:element name="telNo" maxOccurs="1" minOccurs="1" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BankEx.InsufficientFundsException">
    <xs:sequence>
      <xs:element name="overDraftLimit" maxOccurs="1" minOccurs="1" type="xs:float"/>
      <xs:element name="balance" maxOccurs="1" minOccurs="1" type="xs:float"/>
      <xs:element name="withdrawalAmount" maxOccurs="1" minOccurs="1" type="xs:float"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

<!-- end of file : BankEx.xsd -->

Attachment: idl2wsdl.pl
Description: Binary data

Reply via email to