Has anybody ran into this problem before? I have a JavaBean which has a HashMap as one of it's attributes. When I run WSDL2Java I get the following exception:
Parsing XML file: http://localhost:7001/axis/services/UserManagerEJBPort?wsdl java.io.IOException: http://xml.apache.org/xml-soap:Map already exists at org.apache.axis.wsdl.toJava.SymbolTable.symbolTablePut(Unknown Source) at org.apache.axis.wsdl.toJava.SymbolTable.createTypeFromDef(Unknown Source) at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source) at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source) at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source) at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source) at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source) at org.apache.axis.wsdl.toJava.SymbolTable.populateTypes(Unknown Source) at org.apache.axis.wsdl.toJava.SymbolTable.populate(Unknown Source) at org.apache.axis.wsdl.toJava.SymbolTable.add(Unknown Source) at org.apache.axis.wsdl.toJava.Emitter.emit(Unknown Source) at org.apache.axis.wsdl.toJava.Emitter.emit(Unknown Source) at org.apache.axis.wsdl.WSDL2Java.emit(Unknown Source) at org.apache.axis.wsdl.WSDL2Java.main(Unknown Source) Note: I am running from the nightly build which was created on Monday, Feb. 11. Here is the WSDL File which was generated for the webservice: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace ="http://localhost:7001/axis/services/UserManagerEJBPort" xmlns ="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENC ="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl ="http://localhost:7001/axis/services/UserManagerEJBPort-impl" xmlns:intf ="http://localhost:7001/axis/services/UserManagerEJBPort" xmlns:tns1 ="http://data.users.itemxchange.com" xmlns:tns2 ="http://data.util.itemxchange.com" xmlns:tns3 ="http://xml.apache.org/xml-soap" xmlns:wsdl ="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap ="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd ="http://www.w3.org/2001/XMLSchema"><types><schema targetNamespace ="http://data.users.itemxchange.com" xmlns ="http://www.w3.org/2001/XMLSchema"><complexType name="user"><all><element name="password" nillable="true" type="xsd:string"/><element name="userID" nillable="true" type="xsd:string"/><element name="emailAddress" nillable ="true" type="xsd:string"/><element name="userName" nillable="true" type ="xsd:string"/><element name="roleVal" type= "xsd:int"/><element name="roleDesc" nillable="true" type ="xsd:string"/></all></complexType><element name="user" nillable="true" type="tns1:user"/></schema><schema targetNamespace ="http://localhost:7001/axis/services/UserManagerEJBPort" xmlns ="http://www.w3.org/2001/XMLSchema"><complexType name ="ArrayOf_tns2_user"><complexContent><restriction base ="SOAP-ENC:Array"><attribute ref="SOAP-ENC:arrayType" wsdl:arrayType ="tns1:user[]"/></restriction></complexContent></complexType><element name ="ArrayOf_tns2_user" nillable="true" type ="intf:ArrayOf_tns2_user"/></schema><schema targetNamespace ="http://data.util.itemxchange.com" xmlns ="http://www.w3.org/2001/XMLSchema"><complexType name ="DataWrapper"><all><element name="storage" nillable="true" type ="tns3:Map"/><element name="startTime" type="xsd:long"/><element name ="endTime" type="xsd:long"/></all></complexType><element name="DataWrapper" nillable="true" type="tns2:DataWrapper"/></schema><schema targetNamespace ="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org /2001/XMLSchema"><complexType name="Map"><sequence><element maxOccurs ="unbounded" minOccurs="0" name="item"><complexType><all><element name ="key" type="xsd:anyType"/><element name="value" type ="xsd:anyType"/></all></complexType></element></sequence></complexType></schema></types> <wsdl:message name="updateUserResponse"> <wsdl:part name="return" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="getUserByNameResponse"> <wsdl:part name="return" type="tns1:user"/> </wsdl:message> <wsdl:message name="getUserByNameRequest"> <wsdl:part name="in0" type="xsd:string"/> </wsdl:message> <wsdl:message name="timedGetAllUsersResponse"> <wsdl:part name="return" type="tns2:DataWrapper"/> </wsdl:message> <wsdl:message name="getAllUsersResponse"> <wsdl:part name="return" type="intf:ArrayOf_tns2_user"/> </wsdl:message> <wsdl:message name="addUserResponse"> <wsdl:part name="return" type="tns1:user"/> </wsdl:message> <wsdl:message name="addUserRequest"> <wsdl:part name="in0" type="tns1:user"/> </wsdl:message> <wsdl:message name="timedGetAllUsersRequest"> </wsdl:message> <wsdl:message name="getUserByIdRequest"> <wsdl:part name="in0" type="xsd:int"/> </wsdl:message> <wsdl:message name="deleteUserByIdResponse"> <wsdl:part name="return" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="getAllUsersRequest"> </wsdl:message> <wsdl:message name="updateUserRequest"> <wsdl:part name="in0" type="tns1:user"/> </wsdl:message> <wsdl:message name="getUserByIdResponse"> <wsdl:part name="return" type="tns1:user"/> </wsdl:message> <wsdl:message name="deleteUserByIdRequest"> <wsdl:part name="in0" type="xsd:int"/> </wsdl:message> <wsdl:portType name="UserManagerEJB"> <wsdl:operation name="deleteUserById" parameterOrder="in0"> <wsdl:input message="intf:deleteUserByIdRequest"/> <wsdl:output message="intf:deleteUserByIdResponse"/> </wsdl:operation> <wsdl:operation name="updateUser" parameterOrder="in0"> <wsdl:input message="intf:updateUserRequest"/> <wsdl:output message="intf:updateUserResponse"/> </wsdl:operation> <wsdl:operation name="getUserById" parameterOrder="in0"> <wsdl:input message="intf:getUserByIdRequest"/> <wsdl:output message="intf:getUserByIdResponse"/> </wsdl:operation> <wsdl:operation name="getAllUsers"> <wsdl:input message="intf:getAllUsersRequest"/> <wsdl:output message="intf:getAllUsersResponse"/> </wsdl:operation> <wsdl:operation name="timedGetAllUsers"> <wsdl:input message="intf:timedGetAllUsersRequest"/> <wsdl:output message="intf:timedGetAllUsersResponse"/> </wsdl:operation> <wsdl:operation name="getUserByName" parameterOrder="in0"> <wsdl:input message="intf:getUserByNameRequest"/> <wsdl:output message="intf:getUserByNameResponse"/> </wsdl:operation> <wsdl:operation name="addUser" parameterOrder="in0"> <wsdl:input message="intf:addUserRequest"/> <wsdl:output message="intf:addUserResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="UserManagerEJBPortSoapBinding" type ="intf:UserManagerEJB"> <wsdlsoap:binding style="rpc" transport ="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="deleteUserById"> <wsdlsoap:operation soapAction="" style="rpc"/> <wsdl:input> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:input> <wsdl:output> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="updateUser"> <wsdlsoap:operation soapAction="" style="rpc"/> <wsdl:input> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:input> <wsdl:output> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getUserById"> <wsdlsoap:operation soapAction="" style="rpc"/> <wsdl:input> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:input> <wsdl:output> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getAllUsers"> <wsdlsoap:operation soapAction="" style="rpc"/> <wsdl:input> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:input> <wsdl:output> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="timedGetAllUsers"> <wsdlsoap:operation soapAction="" style="rpc"/> <wsdl:input> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:input> <wsdl:output> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getUserByName"> <wsdlsoap:operation soapAction="" style="rpc"/> <wsdl:input> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:input> <wsdl:output> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="addUser"> <wsdlsoap:operation soapAction="" style="rpc"/> <wsdl:input> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:input> <wsdl:output> <wsdlsoap:body encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" namespace ="http://localhost:7001/axis/services/UserManagerEJBPort" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="UserManagerEJBPort"> <wsdl:port binding="intf:UserManagerEJBPortSoapBinding" name ="UserManagerEJBPort"> <wsdlsoap:address location ="http://localhost:7001/axis/services/UserManagerEJBPort"/> </wsdl:port> </wsdl:service> </wsdl:definitions>