[ 
https://issues.apache.org/jira/browse/TUSCANY-1392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brady Johnson updated TUSCANY-1392:
-----------------------------------

    Attachment: WSDLDefinition.cpp
                WSDLDefinition_cpp_JIRA_TUSCANY_1392
                WSDLDefinition_h_JIRA_TUSCANY_1392

Attaching patches. Notice that in addition to the svn diff files, I attached 
the actual cpp source file since the its a rather large change.

> The WSDLOperation instance returned by WSDLDefinition::findOperation( 
> portTypeName, operationName ) does not have the endpoint set.
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-1392
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1392
>             Project: Tuscany
>          Issue Type: Bug
>          Components: C++ SCA
>    Affects Versions: Cpp-M3
>         Environment: All platforms
>            Reporter: Brady Johnson
>             Fix For: Cpp-Next
>
>         Attachments: WSDLDefinition.cpp, 
> WSDLDefinition_cpp_JIRA_TUSCANY_1392, WSDLDefinition_h_JIRA_TUSCANY_1392
>
>
> 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.
> 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.
> --------------------
> Brady Johnson
> Lead Software Developer - HydraSCA
> Rogue Wave Software - [EMAIL PROTECTED]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to