Ant,
You misquoted me slightly :-) Here's a slightly more detailed version of my proposed "wsif-only" fix: Try to find the bindingOperation using the input/output names given. Then if no match is found, try using null for the input/output names. If a match is then found we know that only one operation exists in the binding with the same name as the operation we're looking for (for more details see the com.ibm.wsdl.BindingImpl.getBindingOperation method in wsdl4j). Now check the input/output names of the "matched" bindingOperation object. If they are null then we accept it as a match. If they are not null then we consider it to be a different operation. One downside to this is that you inspect/iterate over the binding operations twice. It's also still up for debate as to whether specifying input/output names in a port type operation and not specifying them in the corresponding binding operation is valid. The spec suggests it isn't for overloaded operations, which makes sense, but seems to allow any combination of port type/binding, input/output names for non-overloaded operations. Owen Owen Burroughs [EMAIL PROTECTED] |---------+----------------------------> | | Anthony | | | Elder/UK/IBM@IBMG| | | B | | | | | | 27/09/2002 11:58 | | | Please respond to| | | axis-dev | | | | |---------+----------------------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| | | | To: [EMAIL PROTECTED] | | cc: "Jeff Greif" <[EMAIL PROTECTED]> | | Subject: [wsif] Bug 13038 - WSIF's dynamic port/operation creation confusion about message names | | | | | >--------------------------------------------------------------------------------------------------------------------------------------------------| There's a bugzilla bug raised for wsif, http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13038, to do with wsif not correctly finding an operation. The problem is because the wsdl, http://www.ebi.ac.uk/xembl/XEMBL.wsdl, specifies an input name on the operation in the portType, but does not specify a name on the input in the binding. This causes the wsdl4j method getBindingOperation in com.ibm.wsdl.BindingImpl to return null when wsif calls it with the operation, input, and output names from the portType. Reading the wsdl spec it not clear to me if it is valid wsdl to leave out the names on the binding when they're specified in the portType. If it is valid is this a wsdl4j bug or should wsif work around it? We could fix it in wsif by doing something like (thanks Owen) trying to find the bindingOperation using the input/output names given, then if no match is found try using null for the input/output names, and then if still no match is then found check to see if the binding input/output names for the matched operation are null. If they are then use that bindingOperation. If not then return null since it is not a "match". What does anyone think? ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208.