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]

Reply via email to