DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15686>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15686 WDSL2java - Accepting non-conforming <port> definitions Summary: WDSL2java - Accepting non-conforming <port> definitions Product: Axis Version: current (nightly) Platform: PC OS/Version: Windows XP Status: NEW Severity: Normal Priority: Other Component: WSDL processing AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] *********************************** *** Description *********************************** WDSL2java currently processes the following non-conforming WSDL documents without error message or warning: 1.) WSDL file with a <port> with missing 'name' attribute Impact: Port has name "null" in generated code Spec: According to WSDL 1.1 (A.4.1), the name attribute is "required" Example: see Error-MissingPortName.wsdl in attached zip 2.) WSDL file with two ports with the same name in the same service. Impact: the second definition is "lost". This is probably a bug in WSDL4J (com.ibm.wsdl.xml.WSDLReaderImpl#parsePort()), not in Axis. Spec: According to WSDL 1.1, Sec 2.6 port names must be unique among all ports defined in the enclosing WSDL document. Example: see Error-DuplicatedPortNameInService.wsdl in attached zip 3.) WSDL file with two ports with the same name, defined in different services. Spec: According to WSDL 1.1, Sec 2.6 port names must be unique among all ports defined in the enclosing WSDL document. Example: see Error-DuplicatedPortNameInDifferentServices.wsdl *********************************** *** Proposed solution *********************************** The zip in the attachement contains a patch which solves cases (1) and (3). It introduces an additional symbol table entry type -> 'PortEntry' and checks for (1) and (3) in SymbolTable.java. Case (2) could be fixed by either - fixing WSDL4J - creating a Axis specific WSDLReader inheriting from IBMs WSDLReaderImpl and fixing parsePort() and addPort()