On 27/06/07, Brady Johnson <[EMAIL PROTECTED]> wrote:
I submit a TuscanySCA C++ JIRA for this. https://issues.apache.org/jira/browse/TUSCANY-1392 The problem is that the WSDLOperation instance returned by WSDLDefinition::findOperation( portTypeName, operationName ) does not have the endpoint set. I can see that its not set in WSDLDefinition::findOperation() because that particular signature of the method does not have access to the WSDL service, which is where the endpoint is contained. The other signature of that method: findOperation( serviceName, PortName, operationName ) does set the endpoint in the WSDLOperation since it does have access to the WSDL service. The fix for this problem is not trivial, and leads into another issue with the findOperation() methods. Every time either method is called, they walk the SDO, which could be an acceptable performance hit during load time, but is not an efficient runtime search. There is an operationMap available, but it is never populated. I think the best solution would be to traverse the wsdlModel SDO upon instantiation, and when addWSDLModel() is called, and populate the operationMap. This would solve the above problem of not having access to the WSDL service endpoint, and also address the runtime performance issues associated with walking the SDO.
I would certainly vote for this option.
Another less optimal solution would be to at least add the operation to the operationMap each time findOperation() is called, effectively caching the operations. But this still doesnt address the problem of the WSDL service endpoint. When a solution is decided, I can implement the patch and submit it for a contributor to put into the code base.
Please submit a patch when ready. I'm rebuilding my dev environment after a disk crash but should be able to apply/test patches soon.
Thanks -------------------- Brady Johnson Lead Software Developer - HydraSCA Rogue Wave Software - [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Pete --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
