You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Simon Laws <si...@googlemail.com> on 2008/06/02 14:15:40 UTC

Re: URGENT - CONTINUED Need help again on binding to external web service with login authentication within Tuscany

Hi Marina

I've just been looking at this so some comments in line...

Simon


>
>>>      1) the namespaces used in SOAP BODY are not in conformity with the
>>> WSDL. Indeed, one can find the value "http://translatewithsms"  as the
>>> "pseudo"  namespace _ns_. Replacing that value with the one defined in
>>> the
>>> WSDL say "http://com.osa.mdsp.enabler.sei/SMSEnabler/V2_0/SMSSenderSEI",
>>> the SOAP frame works
>>>
>>> Note that I realized that "translatewithsms" is the package name of my
>>> Eclipse project (containing in particular java client, interfaces etc.
>>> files).
>>
>>
A. How did you generate the Java interface that you are using to type the
component reference that refers to this remote service?
B. How do you define the interface of the reference that refers to the
remote service. Do you use interface.wsdl?

If you have generated your java interface into the package
"translatewithsms" and you use this to describe the reference interface (or
is defaults to this) then it will invent the message namespace based on the
package name I believe.


>
>>>
>>>      2) at HTTP level, the web service in the Nursery is protected by
>>> "Basic Authentication" ; but the "Authorization" header is not sent by
>>> Tuscany
>>>
>>>       (NB: at the current state, we cannot know whether it is actually a
>>> problem EXCEPT if Tuscany uses pre-emptive authentication mecanisms
>>>
>>
Yes. You definitions.xml file turns on the WSSecurity authorization using
the <tuscany:wsConfigParam> element. To do HTTP basic authentication we need
a new a new policy definition. I don't think we have done this yet so I'll
be interested to see if anyone posts here to contradict me.



>>>      3) Note that Tuscany sends the authentication
>>> credentials(user/password) using WS-Security that is not taken into
>>> account
>>> by the Nursery platform.  This is not a problem however, credentials are
>>> not
>>>  operate.
>>>
>>> NB:  tcpdump files can be opened with WireShark http://
>>> www.wireshark.org/download.html
>>>
>>>
I see. This comes back to replacing wssecurity based authentication with
HTTP basic authentication.


>>>
>>>  I might be responsible for these problems as I have probably made
>>> mistakes
>>> in coding (at least regarding the policy expression). Please can you help
>>> me
>>> in correcting.
>>>
>>> Thanks you very much.
>>>
>>> Regards,
>>> Marina.
>>>
>>>
>>>
>>>
>>>

Re: URGENT - CONTINUED Need help again on binding to external web service with login authentication within Tuscany

Posted by Marina Deslaugiers <ma...@orange-ftgroup.com>.
Hi,

Yesterday, I put a message as well as two attachement files on the  
JIRA issue I have created tuscany-2355 but I did not realize it was  
not posted on the user-list. So below it is.

Thanks for your answer (even if I feel you are very busy)

Regards,
Marina.


> Hi,
>
> Following your indications, Simon, I change my composite file to  
> take interface details from the WSDL file into account (adding the  
> <interface.wsdl interface= ... />".
>
> We proceeded again testing with the person responsible of web  
> service "Nursery" support to users.
>
> But, I still get the same error on the namespace:
>  " the namespaces used in SOAP BODY are not in conformity with the  
> WSDL. Indeed, one can find the value "http://translatewithsms"  as  
> the "pseudo"  namespace _ns_. Replacing that value with the one  
> defined in the WSDL say "http://com.osa.mdsp.enabler.sei/SMSEnabler/ 
> V2_0/SMSSenderSEI", the SOAP frame works"
>
> If any, what mistake have I done ? Can you give me a correction,  
> please.
> I attach my modified Composite file and the WSDL file to this post.
>
> Thanks for your help


Le 2 juin 08 à 16:22, Marina Deslaugiers a écrit :

> Hi Simon,
>
> Thank you very much for your help. I will try to understand your  
> explanations and to integrate the changes.
> Unfortunately at the moment I am very busy on other staff so I am  
> not sure I will get the time required to do that before thursday  
> evening.
> BUT I do want to keep in contact with you.
>
> Regarding the HTTP Basic authentication do you plan to add such a  
> definition into Tuscany ?
> This type of authentication is MANDATORY for (and the only one  
> handled by) the nursery web services we must consider in our  
> evaluation.
>>> To do HTTP basic authentication we need a new a new policy  
>>> definition. I don't think we have done this yet so I'll
>>> be interested to see if anyone posts here to contradict me.
>
>
>
> Regards,
> Marina.
>
>
> Le 2 juin 08 à 15:44, Simon Laws a écrit :
>
>> On Mon, Jun 2, 2008 at 1:15 PM, Simon Laws  
>> <si...@googlemail.com>
>> wrote:
>>
>>> Hi Marina
>>>
>>> I've just been looking at this so some comments in line...
>>>
>>> Simon
>>>
>>>
>>>>
>>>>>>      1) the namespaces used in SOAP BODY are not in conformity  
>>>>>> with the
>>>>>> WSDL. Indeed, one can find the value "http:// 
>>>>>> translatewithsms"  as the
>>>>>> "pseudo"  namespace _ns_. Replacing that value with the one  
>>>>>> defined in
>>>>>> the
>>>>>> WSDL say "http://com.osa.mdsp.enabler.sei/SMSEnabler/V2_0/
>>>>>> SMSSenderSEI",
>>>>>> the SOAP frame works
>>>>>>
>>>>>> Note that I realized that "translatewithsms" is the package  
>>>>>> name of my
>>>>>> Eclipse project (containing in particular java client,  
>>>>>> interfaces etc.
>>>>>> files).
>>>>>
>>>>>
>>> A. How did you generate the Java interface that you are using to  
>>> type the
>>> component reference that refers to this remote service?
>>> B. How do you define the interface of the reference that refers  
>>> to the
>>> remote service. Do you use interface.wsdl?
>>>
>>> If you have generated your java interface into the package
>>> "translatewithsms" and you use this to describe the reference  
>>> interface (or
>>> is defaults to this) then it will invent the message namespace  
>>> based on the
>>> package name I believe.
>>>
>>>
>>>>
>>>>>>
>>>>>>      2) at HTTP level, the web service in the Nursery is  
>>>>>> protected by
>>>>>> "Basic Authentication" ; but the "Authorization" header is not  
>>>>>> sent by
>>>>>> Tuscany
>>>>>>
>>>>>>       (NB: at the current state, we cannot know whether it is  
>>>>>> actually a
>>>>>> problem EXCEPT if Tuscany uses pre-emptive authentication  
>>>>>> mecanisms
>>>>>>
>>>>>
>>> Yes. You definitions.xml file turns on the WSSecurity  
>>> authorization using
>>> the <tuscany:wsConfigParam> element. To do HTTP basic  
>>> authentication we need
>>> a new a new policy definition. I don't think we have done this  
>>> yet so I'll
>>> be interested to see if anyone posts here to contradict me.
>>>
>>>
>>>
>>>>>>      3) Note that Tuscany sends the authentication
>>>>>> credentials(user/password) using WS-Security that is not taken  
>>>>>> into
>>>>>> account
>>>>>> by the Nursery platform.  This is not a problem however,  
>>>>>> credentials are
>>>>>> not
>>>>>>  operate.
>>>>>>
>>>>>> NB:  tcpdump files can be opened with WireShark http://
>>>>>> www.wireshark.org/download.html
>>>>>>
>>>>>>
>>> I see. This comes back to replacing wssecurity based  
>>> authentication with
>>> HTTP basic authentication.
>>>
>>>
>>>>>>
>>>>>>  I might be responsible for these problems as I have probably  
>>>>>> made
>>>>>> mistakes
>>>>>> in coding (at least regarding the policy expression). Please  
>>>>>> can you
>>>>>> help me
>>>>>> in correcting.
>>>>>>
>>>>>> Thanks you very much.
>>>>>>
>>>>>> Regards,
>>>>>> Marina.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>> Marina
>>
>> I tried a test to help clarrify what I'm talking about in terms of  
>> getting
>> the namespace right. I changed a calculator sample I'm using for  
>> some other
>> testing to take the namespace from a manually altered WSDL file.  
>> This is how
>> I set up the composite.
>>
>>     <component name="CalculatorServiceComponent">
>>         <implementation.java  
>> class="calculator.CalculatorServiceImpl"/>
>>         <reference name="addService">
>>            <interface.wsdl interface="
>> http://calculator2#wsdl.interface(AddService)"/>
>>            <binding.ws uri="http://localhost:8085/AddService"
>> requires="authentication" />
>>         </reference>
>>         <reference name="subtractService"
>> target="SubtractServiceComponent"/>
>>         <reference name="multiplyService"
>> target="MultiplyServiceComponent"/>
>>         <reference name="divideService"  
>> target="DivideServiceComponent"/>
>>     </component>
>>
>>     <component name="AddServiceComponent">
>>         <implementation.java class="calculator.AddServiceImpl"/>
>>         <service name="AddService">
>>              <interface.wsdl interface="
>> http://calculator2#wsdl.interface(AddService)" />
>>              <binding.ws uri="http://localhost:8085/AddService"
>> requires="authentication"/>
>>         </service>
>>     </component>
>>
>> The WSDL sits alongside the composite file in the contribution and is
>> automatically parsed by the runtime. Note that I'm telling the  
>> reference to
>> take the interface details from the WSDL file with the line
>>
>> <interface.wsdl interface="http://calculator2#wsdl.interface 
>> (AddService)"/>
>>
>> This won't fix your HTTP basic authentication problem but should  
>> correct the
>> namespace issue.
>>
>> Regards
>>
>> Simon
>


Re: URGENT - CONTINUED Need help again on binding to external web service with login authentication within Tuscany

Posted by Marina Deslaugiers <ma...@orange-ftgroup.com>.
Hi Simon,

Thank you very much for your help. I will try to understand your  
explanations and to integrate the changes.
Unfortunately at the moment I am very busy on other staff so I am not  
sure I will get the time required to do that before thursday evening.
BUT I do want to keep in contact with you.

Regarding the HTTP Basic authentication do you plan to add such a  
definition into Tuscany ?
This type of authentication is MANDATORY for (and the only one  
handled by) the nursery web services we must consider in our evaluation.
>> To do HTTP basic authentication we need a new a new policy  
>> definition. I don't think we have done this yet so I'll
>> be interested to see if anyone posts here to contradict me.



Regards,
Marina.


Le 2 juin 08 à 15:44, Simon Laws a écrit :

> On Mon, Jun 2, 2008 at 1:15 PM, Simon Laws <si...@googlemail.com>
> wrote:
>
>> Hi Marina
>>
>> I've just been looking at this so some comments in line...
>>
>> Simon
>>
>>
>>>
>>>>>      1) the namespaces used in SOAP BODY are not in conformity  
>>>>> with the
>>>>> WSDL. Indeed, one can find the value "http://translatewithsms"   
>>>>> as the
>>>>> "pseudo"  namespace _ns_. Replacing that value with the one  
>>>>> defined in
>>>>> the
>>>>> WSDL say "http://com.osa.mdsp.enabler.sei/SMSEnabler/V2_0/
>>>>> SMSSenderSEI",
>>>>> the SOAP frame works
>>>>>
>>>>> Note that I realized that "translatewithsms" is the package  
>>>>> name of my
>>>>> Eclipse project (containing in particular java client,  
>>>>> interfaces etc.
>>>>> files).
>>>>
>>>>
>> A. How did you generate the Java interface that you are using to  
>> type the
>> component reference that refers to this remote service?
>> B. How do you define the interface of the reference that refers to  
>> the
>> remote service. Do you use interface.wsdl?
>>
>> If you have generated your java interface into the package
>> "translatewithsms" and you use this to describe the reference  
>> interface (or
>> is defaults to this) then it will invent the message namespace  
>> based on the
>> package name I believe.
>>
>>
>>>
>>>>>
>>>>>      2) at HTTP level, the web service in the Nursery is  
>>>>> protected by
>>>>> "Basic Authentication" ; but the "Authorization" header is not  
>>>>> sent by
>>>>> Tuscany
>>>>>
>>>>>       (NB: at the current state, we cannot know whether it is  
>>>>> actually a
>>>>> problem EXCEPT if Tuscany uses pre-emptive authentication  
>>>>> mecanisms
>>>>>
>>>>
>> Yes. You definitions.xml file turns on the WSSecurity  
>> authorization using
>> the <tuscany:wsConfigParam> element. To do HTTP basic  
>> authentication we need
>> a new a new policy definition. I don't think we have done this yet  
>> so I'll
>> be interested to see if anyone posts here to contradict me.
>>
>>
>>
>>>>>      3) Note that Tuscany sends the authentication
>>>>> credentials(user/password) using WS-Security that is not taken  
>>>>> into
>>>>> account
>>>>> by the Nursery platform.  This is not a problem however,  
>>>>> credentials are
>>>>> not
>>>>>  operate.
>>>>>
>>>>> NB:  tcpdump files can be opened with WireShark http://
>>>>> www.wireshark.org/download.html
>>>>>
>>>>>
>> I see. This comes back to replacing wssecurity based  
>> authentication with
>> HTTP basic authentication.
>>
>>
>>>>>
>>>>>  I might be responsible for these problems as I have probably made
>>>>> mistakes
>>>>> in coding (at least regarding the policy expression). Please  
>>>>> can you
>>>>> help me
>>>>> in correcting.
>>>>>
>>>>> Thanks you very much.
>>>>>
>>>>> Regards,
>>>>> Marina.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
> Marina
>
> I tried a test to help clarrify what I'm talking about in terms of  
> getting
> the namespace right. I changed a calculator sample I'm using for  
> some other
> testing to take the namespace from a manually altered WSDL file.  
> This is how
> I set up the composite.
>
>     <component name="CalculatorServiceComponent">
>         <implementation.java  
> class="calculator.CalculatorServiceImpl"/>
>         <reference name="addService">
>            <interface.wsdl interface="
> http://calculator2#wsdl.interface(AddService)"/>
>            <binding.ws uri="http://localhost:8085/AddService"
> requires="authentication" />
>         </reference>
>         <reference name="subtractService"
> target="SubtractServiceComponent"/>
>         <reference name="multiplyService"
> target="MultiplyServiceComponent"/>
>         <reference name="divideService"  
> target="DivideServiceComponent"/>
>     </component>
>
>     <component name="AddServiceComponent">
>         <implementation.java class="calculator.AddServiceImpl"/>
>         <service name="AddService">
>              <interface.wsdl interface="
> http://calculator2#wsdl.interface(AddService)" />
>              <binding.ws uri="http://localhost:8085/AddService"
> requires="authentication"/>
>         </service>
>     </component>
>
> The WSDL sits alongside the composite file in the contribution and is
> automatically parsed by the runtime. Note that I'm telling the  
> reference to
> take the interface details from the WSDL file with the line
>
> <interface.wsdl interface="http://calculator2#wsdl.interface 
> (AddService)"/>
>
> This won't fix your HTTP basic authentication problem but should  
> correct the
> namespace issue.
>
> Regards
>
> Simon


Re: URGENT - CONTINUED Need help again on binding to external web service with login authentication within Tuscany

Posted by Simon Laws <si...@googlemail.com>.
On Mon, Jun 2, 2008 at 1:15 PM, Simon Laws <si...@googlemail.com>
wrote:

> Hi Marina
>
> I've just been looking at this so some comments in line...
>
> Simon
>
>
>>
>>>>      1) the namespaces used in SOAP BODY are not in conformity with the
>>>> WSDL. Indeed, one can find the value "http://translatewithsms"  as the
>>>> "pseudo"  namespace _ns_. Replacing that value with the one defined in
>>>> the
>>>> WSDL say "http://com.osa.mdsp.enabler.sei/SMSEnabler/V2_0/
>>>> SMSSenderSEI",
>>>> the SOAP frame works
>>>>
>>>> Note that I realized that "translatewithsms" is the package name of my
>>>> Eclipse project (containing in particular java client, interfaces etc.
>>>> files).
>>>
>>>
> A. How did you generate the Java interface that you are using to type the
> component reference that refers to this remote service?
> B. How do you define the interface of the reference that refers to the
> remote service. Do you use interface.wsdl?
>
> If you have generated your java interface into the package
> "translatewithsms" and you use this to describe the reference interface (or
> is defaults to this) then it will invent the message namespace based on the
> package name I believe.
>
>
>>
>>>>
>>>>      2) at HTTP level, the web service in the Nursery is protected by
>>>> "Basic Authentication" ; but the "Authorization" header is not sent by
>>>> Tuscany
>>>>
>>>>       (NB: at the current state, we cannot know whether it is actually a
>>>> problem EXCEPT if Tuscany uses pre-emptive authentication mecanisms
>>>>
>>>
> Yes. You definitions.xml file turns on the WSSecurity authorization using
> the <tuscany:wsConfigParam> element. To do HTTP basic authentication we need
> a new a new policy definition. I don't think we have done this yet so I'll
> be interested to see if anyone posts here to contradict me.
>
>
>
>>>>      3) Note that Tuscany sends the authentication
>>>> credentials(user/password) using WS-Security that is not taken into
>>>> account
>>>> by the Nursery platform.  This is not a problem however, credentials are
>>>> not
>>>>  operate.
>>>>
>>>> NB:  tcpdump files can be opened with WireShark http://
>>>> www.wireshark.org/download.html
>>>>
>>>>
> I see. This comes back to replacing wssecurity based authentication with
> HTTP basic authentication.
>
>
>>>>
>>>>  I might be responsible for these problems as I have probably made
>>>> mistakes
>>>> in coding (at least regarding the policy expression). Please can you
>>>> help me
>>>> in correcting.
>>>>
>>>> Thanks you very much.
>>>>
>>>> Regards,
>>>> Marina.
>>>>
>>>>
>>>>
>>>>
>>>>
Marina

I tried a test to help clarrify what I'm talking about in terms of getting
the namespace right. I changed a calculator sample I'm using for some other
testing to take the namespace from a manually altered WSDL file. This is how
I set up the composite.

    <component name="CalculatorServiceComponent">
        <implementation.java class="calculator.CalculatorServiceImpl"/>
        <reference name="addService">
           <interface.wsdl interface="
http://calculator2#wsdl.interface(AddService)"/>
           <binding.ws uri="http://localhost:8085/AddService"
requires="authentication" />
        </reference>
        <reference name="subtractService"
target="SubtractServiceComponent"/>
        <reference name="multiplyService"
target="MultiplyServiceComponent"/>
        <reference name="divideService" target="DivideServiceComponent"/>
    </component>

    <component name="AddServiceComponent">
        <implementation.java class="calculator.AddServiceImpl"/>
        <service name="AddService">
             <interface.wsdl interface="
http://calculator2#wsdl.interface(AddService)" />
             <binding.ws uri="http://localhost:8085/AddService"
requires="authentication"/>
        </service>
    </component>

The WSDL sits alongside the composite file in the contribution and is
automatically parsed by the runtime. Note that I'm telling the reference to
take the interface details from the WSDL file with the line

<interface.wsdl interface="http://calculator2#wsdl.interface(AddService)"/>

This won't fix your HTTP basic authentication problem but should correct the
namespace issue.

Regards

Simon