On Mon, Jul 28, 2008 at 7:33 PM, Simon Laws <[EMAIL PROTECTED]>wrote:

>
>
> On Mon, Jul 28, 2008 at 7:02 PM, Ramkumar R <[EMAIL PROTECTED]> wrote:
>
>> Hi Ant,
>> I believe, this issue cropped up due to a fix provided through
>> TUSCANY-2354, this issue did not exist before in 1.2 release as the code did
>> not do proper validation to ensure that all the intents and policysets are
>> resolved. TUSCANY-2354 came up with a fix as to resolve all the simple
>> intents first and then simple policysets and then the referred policysets
>> and so on, which i believe worked for most of the validation.
>>
>> Currently, I am able to resolve this issue by applying this patch....
>> (reason: a confilict exist wsClientAuthenticationPolicy)
>>
>> Index:
>> modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/definitions.xml
>> ===================================================================
>> ---
>> modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/definitions.xml
>>  (revision
>> 680260)
>> +++
>> modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/definitions.xml
>>  (working
>> copy)
>> @@ -37,7 +37,7 @@
>>    </tuscany:wsConfigParam>
>>   </sca:policySet>
>>
>> - <sca:policySet name="wsClientAuthenticationPolicy"
>> + <sca:policySet name="wsClientAuthenticationPolicy2"
>>    provides="tuscany:wsAuthentication"
>>    appliesTo="//sca:binding.ws">
>>     <tuscany:wsConfigParam>
>> Index:
>> src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthentication.composite
>> ===================================================================
>> ---
>> modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthentication.composite
>>  (revision
>> 680260)
>> +++
>> modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthentication.composite
>>  (working
>> copy)
>> @@ -41,7 +41,7 @@
>>          <reference name="helloWorldWS" />
>>      </component>
>>
>> -    <reference name="helloWorldWS"
>> promote="HelloWorldComponent/helloWorldWS"
>> policySets="tuscany:wsClientAuthenticationPolicy">
>> +    <reference name="helloWorldWS"
>> promote="HelloWorldComponent/helloWorldWS"
>> policySets="tuscany:wsClientAuthenticationPolicy2">
>>          <interface.wsdl interface="
>> http://helloworld-om-uri#wsdl.interface(HelloWorld<http://helloworld-om-uri/#wsdl.interface%28HelloWorld>)"
>> />
>>          <binding.ws wsdlElement="
>> http://helloworld-om-uri#wsdl.binding(HelloWorldSoapBinding<http://helloworld-om-uri/#wsdl.binding%28HelloWorldSoapBinding>
>> )"
>>                      
>> uri="http://localhost:8085/myExplicitURI"/<http://localhost:8085/myExplicitURI%22/>
>> >
>>
>> Can anyone try this and let me know if this works.
>>
>> NOTE: I also strongly believe that we need to address the issue of
>> treating the definitions.xml as global to SCA domain, and try to resolve the
>> policy artifacts once all the policy definitions are loaded.
>>
>>
>>  On 7/28/08, ant elder <[EMAIL PROTECTED]> wrote:
>>>
>>>
>>>
>>> On Mon, Jul 28, 2008 at 6:20 PM, Jean-Sebastien Delfino <
>>> [EMAIL PROTECTED]> wrote:
>>>
>>>> Simon Laws wrote:
>>>>
>>>>>
>>>>>
>>>>> On Sat, Jul 26, 2008 at 7:27 PM, Raymond Feng <[EMAIL PROTECTED]<mailto:
>>>>> [EMAIL PROTECTED]>> wrote:
>>>>>
>>>>>    I see the same regression too.
>>>>>        I further debugged the issue and found out the behavior depends
>>>>> the
>>>>>    order how artifacts are resolved.
>>>>>        1) The SCADefinitions model contains the Intent and PolicySet
>>>>> models
>>>>>    2) The PolicySet model may reference Intent models
>>>>>        Now say we have two definitions.xml file in the contribution,
>>>>> then
>>>>>    there will be two SCADefinitions objects: D1 and D2. Let's assume D1
>>>>>    contains I1 (Intent) and D2 contains P1 (PolicySet). P1 references
>>>>>    I1. The current code resolve D1 and D2 independently.          If D1
>>>>> is resolved before D2, then I1 is set to resolved and P1 will
>>>>>    be resolved as I1 is resolved. But if D2 is resolved before D1, the
>>>>>    P1 cannot be resolved as I1 is not resolved yet. This explains why
>>>>>    we see different behaviors.
>>>>>        It seems that we will have to resolve all the Intents first
>>>>> before
>>>>>    we can resolve PolictSets. This happens within one single
>>>>>    SCADefinitions but not across more than one SCADefinitions.
>>>>>        One hack would be to set Intent to resolved during the read
>>>>> phase.
>>>>>    Or we merge all the definitions before the resolve. Any suggestions?
>>>>>        Thanks,
>>>>>    Raymond
>>>>>
>>>>>
>>>>>    *From:* ant elder <mailto:[EMAIL PROTECTED]>
>>>>>    *Sent:* Saturday, July 26, 2008 4:20 AM
>>>>>    *To:* dev@tuscany.apache.org <mailto:dev@tuscany.apache.org>
>>>>>    *Subject:* Re: Policy error building binding-ws-axis2, was: Error
>>>>>    building binding-ws-axis2
>>>>>
>>>>>
>>>>>
>>>>>    On Sat, Jul 26, 2008 at 2:38 AM, Jean-Sebastien Delfino
>>>>>
>>>>>    <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
>>>>>
>>>>>        Raymond Feng wrote:
>>>>>
>>>>>            My guess is that the message complains:
>>>>>
>>>>>            With the following policySet:
>>>>>
>>>>>             <sca:policySet name="wsClientAuthenticationPolicy"
>>>>>               provides="tuscany:wsAuthentication"
>>>>>
>>>>>               appliesTo="//sca:binding.ws <http://binding.ws>">
>>>>>
>>>>>            "tuscany:wsAuthentication" is a provided intent by the
>>>>>            policy set and it cannot find the definition of intent
>>>>>            "tuscany:wsAuthentication".
>>>>>
>>>>>            Thanks,
>>>>>            Raymond
>>>>>
>>>>>
>>>>>        I've debugged, opened JIRA TUSCANY-2499 to track the problem and
>>>>>        committed a workaround (linked to 2499).
>>>>>
>>>>>        --        Jean-Sebastien
>>>>>
>>>>>
>>>>>    The work around breaks the build for me with the error below.
>>>>>    Backing out r679944 and everything is working ok in my environment.
>>>>>
>>>>>    Caused by: org.osoa.sca.ServiceRuntimeException: Provided Intent -
>>>>>    
>>>>> {http://tuscany.apache.org/xmlns/sca/1.0}wsAuthentica<http://tuscany.apache.org/xmlns/sca/1.0%7DwsAuthentica>
>>>>>
>>>>>    <http://tuscany.apache.org/xmlns/sca/1.0%7DwsAuthentica>
>>>>>    tion not found for PolicySet
>>>>>    {
>>>>> http://tuscany.apache.org/xmlns/sca/1.0}wsClientAuthenticationPolicy<http://tuscany.apache.org/xmlns/sca/1.0%7DwsClientAuthenticationPolicy>
>>>>>
>>>>>    <
>>>>> http://tuscany.apache.org/xmlns/sca/1.0%7DwsClientAuthenticationPolicy>
>>>>>
>>>>>            at
>>>>>
>>>>>  
>>>>> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.analyseProblems(DefaultSCADomain.java:309)
>>>>>            at
>>>>>
>>>>>  
>>>>> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.addContribution(DefaultSCADomain.java:334)
>>>>>            at
>>>>>
>>>>>  
>>>>> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:183)
>>>>>            at
>>>>>
>>>>>  
>>>>> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:120)
>>>>>            at
>>>>>
>>>>>  
>>>>> org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:242)
>>>>>            ... 20 more
>>>>>
>>>>>      ...ant
>>>>>
>>>>> Looking at the code it's interesting as
>>>>> ContributionServiceImp.processReadPhase() has special code to ensure that
>>>>> all the intents, policy sets etc from all definitions that are found 
>>>>> during
>>>>> the read of a single contribution are added to the
>>>>> policyDefinitionsResolver. However when it comes to resolve time, as 
>>>>> Raymond
>>>>> points out, the definitions.xml files are resolved independently, one at a
>>>>> time. Hence successful resolution is order dependent.
>>>>>
>>>>> It seems to me that the solution to this depends on whether we take the
>>>>> spec at face value and assume that definitions.xml files that can appear 
>>>>> in
>>>>> contributions in Tuscany are logically part of "a global, SCA Domain-wide
>>>>> file". Or if  these individual definitions.xml  files are subject to
>>>>> contribution import/export semantics?
>>>>>
>>>>> If the former then we need some separate domain level processing (just
>>>>> before the build phase?) that does policy resolution. If the latter we 
>>>>> need
>>>>> to make sure that the policy artifacts are resolved in the correct order
>>>>> across definitions files within a contribution rather than just within a
>>>>> single definitons.xml file.
>>>>>
>>>>> To me the latter seems to fit the contribution model more accurately
>>>>> and hence it seems to be the more consistent of the two. Does seem to
>>>>> contradict the spec though.
>>>>>
>>>>> Simon
>>>>>
>>>>>
>>>>>
>>>>
>>>> Two thoughts:
>>>>
>>>> - We should follow the spec and assume that definitions.xml are global
>>>> in an SCA domain. Using the contribution resolve mechanism would contribute
>>>> to pollute app artifacts (contributions) with Policy related declarations
>>>> (as your app contributions would have to declare imports for the policies).
>>>>
>>>> - This issue is just another manifestation of a bigger issue with the
>>>> Contribution service which runs the resolve phase too early, per
>>>> contribution, before all contributions are read. Fixing that will fix the
>>>> Policy issue and will allow us to remove the workarounds in the current
>>>> Policy processing code, which - although I didn't completely understand 
>>>> that
>>>> code - seems to change the Intent's unresolved flag when it shouldn't.
>>>>
>>>> --
>>>> Jean-Sebastien
>>>>
>>>
>>> Does anyone know if something changed recently to cause this problem or
>>> did it exist before in the 1.2 release? It sounds like it existed before and
>>> as it seems like a non-trivial fix I wondered if we could still release 1.3
>>> anyway and try to fix this later in a 1.3.1 release?
>>>
>>>    ...ant
>>>
>>>
>>
>>
>>
>> --
>> Thanks & Regards,
>> Ramkumar Ramalingam
>
>
> So am I right in thinking that this patch does not affect release 1.3?
>
> Simon
>

That looks right to me, the change was in r675018 in trunk and thats not
included the 1.3 branch.

   ...ant

Reply via email to