[ 
https://issues.apache.org/jira/browse/TUSCANY-2109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587556#action_12587556
 ] 

Simon Laws commented on TUSCANY-2109:
-------------------------------------

Hi 

Yes. I think you are right. We need to ensure that the "package name of java 
interface must be consistent to the target namespace of wsdl interface".  

You are also correct that missmatched namespaces are not called out explicitly 
in the spec as a reason for marking interfaces as incompatible. 

However the underlying problem here is that the namespace of the interface is 
used to scope the SOAP request that is sent across the wire to the service. If 
the reference interface is not "namespace compatible" with the interface that 
the service is using to describe itself then it won't be able to understand the 
arriving message. 

So I think we need to extend the compatibility test to compare namesapces 
(namespace here would mean the namespace dervied from the java package name, or 
from the JAXWS annotations or from the WSDL). I'm not sure how namespace is 
recorded when the interface type is java so we need to look at that.

Does that sounds right?

Simon

> Conflicts between component reference interface and promoted composite 
> reference interface are not detected 
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-2109
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2109
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Core Runtime
>    Affects Versions: Java-SCA-1.1
>         Environment: All
>            Reporter: Simon Nash
>            Assignee: Simon Laws
>             Fix For: Java-SCA-Next
>
>         Attachments: jira2109.patch, jira2109.zip
>
>
> See TUSCANY-2033 for the background to this problem.
> When a component reference defined with <interface.java> (either explicitly 
> or implicitly by introspection) is promoted to a composite reference defined 
> with <interface.wsdl>, and there is a namespace conflict between the 
> component reference's <interface.java> and the composite reference's 
> <interface.wsdl>. this conflict should be diagnosed as an error because it 
> violates the spec rule that an interface specified on a composite reference 
> must be a compatible superset of the interface of the promoted component 
> reference. In this case, the composite interface is incompatible with the 
> component reference because it has a different namespace.
> There is code in CompositeWireBuilderImpl.connectCompositeReferences() to 
> handle connections between composite references and promoted compoennt 
> references. The only interface processing performed in this method is to copy 
> the component reference's interface contract to the composite reference's 
> interface contract if the composite reference does not have an interface 
> contract. Code should be added here to check for conflicts between the 
> composite reference's interface and the component reference's interface if 
> both interfaces are specified.
> Similar code should be added to 
> CompositeWireBuilderImpl.connectCompositeServices() to check that the 
> composite service interface is a compatible subset of the component service 
> interface as required by the spec. 

-- 
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