On Fri, May 30, 2008 at 11:25 AM, Marina Deslaugiers < [EMAIL PROTECTED]> wrote:
> Hi, > > As planned this morning, we have made directly test with the person > responsible of web service "Nursery" support to users. > > We have detected various problems. > > I attach (I hope joined files will actually be sent otherwise please let me > know) two "sniff" files at the TCP level on communication with the web > server "Nursery": > - The first one (see Aspen.tcpdump) corresponds to TCP frames sent > by Tuscany that does not work > > - The second one (see Support.tcpdump) corresponds to TCP frames > sent by the Nursery support -after modification (correction) of the Tuscany > frames- that does work > > > > Following are the differences and explanations reported by the person > responsible for the Nursery WS support: > > 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). > > 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 > > 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 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. > > > > > > > > > > Le 29 mai 08 à 18:30, Marina Deslaugiers a écrit : > > >> Hi, >> >> Thanks for the answer. >> >> Hi Marina >>> >>> ... We need to collect a bit more information before deciding what to >>> do. ... So >>> firstly do you know what the response SOAP message looks like on the >>> wire. >>> >> >> >> Well, at the moment, I do not know anything about that. So I have managed >> to directly test - tomorrow morning - with the person responsible of web >> service support to users (who uses sniffers). I hope we would be able to get >> and provide you with the information on the response SOAP message. >> >> >> In the meantime, below are the policy "definitions.xml" file and the >> ClientPWCBHandler.java file. >> >> Also can you show me what you security policy looks like (obviously be >>> careful not to disclose any confidential information such as real >>> usernames >>> or passwords on the mail list)? >>> >>> >> >> >> ========================================== >> definitions.xml file >> >> <?xml version="1.0" encoding="ASCII"?> >> <!-- >> * Licensed to the Apache Software Foundation (ASF) under one >> * .... >> * under the License. >> --> >> <sca:definitions xmlns="http://www.osoa.org/xmlns/sca/1.0" >> targetNamespace="http://www.osoa.org/xmlns/sca/1.0 >> " >> xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" >> xmlns:tuscany=" >> http://tuscany.apache.org/xmlns/sca/1.0" >> xmlns:sms="http://sample"> >> >> >> <!-- WS Security POLICY SETS --> >> <sca:policySet name="sms:wsClientAuthenticationPolicy" >> provides="sca:authentication" >> appliesTo="sca:reference/sca:binding.ws"> >> <tuscany:wsConfigParam> >> <parameter name="OutflowSecurity"> >> <action> >> <items>UsernameToken</items> >> <user>myUsername</user> >> >> >> <passwordCallbackClass>translatewithsms.ClientPWCBHandler</passwordCallbackClass>" >> + >> <passwordType>PasswordText</passwordType> >> </action> >> </parameter> >> </tuscany:wsConfigParam> >> </sca:policySet> >> >> </sca:definitions> >> ========================================== >> >> >> ========================================== >> ClientPWCBHandler.java file >> >> /* >> * Licensed to the Apache Software Foundation (ASF) under one >> * ... >> * under the License. >> */ >> package translatewithsms; >> >> import java.io.IOException; >> >> import javax.security.auth.callback.Callback; >> import javax.security.auth.callback.CallbackHandler; >> import javax.security.auth.callback.UnsupportedCallbackException; >> >> import org.apache.ws.security.WSPasswordCallback; >> >> /** >> * Sample userid passwd generation class >> */ >> public class ClientPWCBHandler implements CallbackHandler { >> >> public void handle(Callback[] callbacks) throws IOException, >> UnsupportedCallbackException { >> System.out.println("*** PASSAGE DANS HANDLE de ClientPWCBHandler"); >> for (int i = 0; i < callbacks.length; i++) { >> System.out.println("*** Calling Client UserId/Password Handler .... >> "); >> WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; >> pwcb.getIdentifer(); >> pwcb.setPassword(""myPassword"); >> } >> } >> >> } >> ========================================== >> >> Regards, >> Marina. >> >> >> Le 29 mai 08 à 14:42, Simon Laws a écrit : >> >> On Thu, May 29, 2008 at 1:19 PM, Marina Deslaugiers < >>> [EMAIL PROTECTED]> wrote: >>> >>> Hi, >>>> >>>> Please can someone URGENTLY help me on my coding (at least provide me >>>> with >>>> an analogous example) ? >>>> >>>> I provide you with the WSDL file I forgot to send >>>> >>>> Thanks >>>> *Regards,* >>>> ** >>>> *Marina.* >>>> * >>>> * >>>> ** >>>> >>>> ** >>>> * >>>> * >>>> * >>>> * >>>> >>>> Le 26 mai 08 à 17:15, Marina Deslaugiers a écrit : >>>> >>>> Hi, >>>> >>>> I am currently trying to connect to the external web service with >>>> user/password authentication (without HTTPS) I mentioned in my previous >>>> e-mails. >>>> >>>> But I cannot succeed. Can you help me, please. I join composite and >>>> definitions.xml files. >>>> >>>> Following is the error message I get: >>>> >>>> ============================================================== >>>> Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor >>>> >>>> ** Entrez le mode de traduction : fr_en, fr_es, fr_it... >>>> ** Entrez le texte a traduire >>>> bonjour Monsieur >>>> lang= text= bonjour Monsieur >>>> lang= >>>> langue non indiquee par console >>>> positionnement langue par Property Tuscany= fr_en >>>> le texte= bonjour Monsieur >>>> texte traduit= traduction impossible probleme serveur Web >>>> messagingWS injecte >>>> CONTENU DU SMSETO CREE = traduction impossible probleme serveur Web >>>> WS messaging appele >>>> *** PASSAGE DANS HANDLE de ClientPWCBHandler >>>> *** Calling Client UserId/Password Handler .... >>>> org.apache.axis2.AxisFault: Policy Falsified >>>> at >>>> >>>> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486) >>>> at >>>> >>>> org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343) >>>> at >>>> >>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389) >>>> at >>>> >>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211) >>>> at >>>> >>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) >>>> at >>>> >>>> org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invokeTarget(Axis2BindingInvoker.java:101) >>>> at >>>> >>>> org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(Axis2BindingInvoker.java:76) >>>> at >>>> >>>> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:74) >>>> at >>>> >>>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:249) >>>> at >>>> >>>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:146) >>>> at $Proxy11.sendSMS(Unknown Source) >>>> at translatewithsms.MessagingImpl.sendSMS(MessagingImpl.java:45) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>>> at java.lang.reflect.Method.invoke(Unknown Source) >>>> at >>>> >>>> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:105) >>>> at >>>> >>>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:249) >>>> at >>>> >>>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:146) >>>> at $Proxy9.sendSMS(Unknown Source) >>>> at >>>> >>>> translatewithsms.TranslatorwithsmsImpl.translateAndSendSMS(TranslatorwithsmsImpl.java:39) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>>> at java.lang.reflect.Method.invoke(Unknown Source) >>>> at >>>> >>>> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:105) >>>> at >>>> >>>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:249) >>>> at >>>> >>>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:146) >>>> at $Proxy7.translateAndSendSMS(Unknown Source) >>>> at >>>> >>>> translatewithsms.TranslatorwithsmsClient.main(TranslatorwithsmsClient.java:28) >>>> Retour d'envoi du SMS : null >>>> ============================================================== >>>> >>>> Regards, >>>> Marina. >>>> >>>> <WSmediawebtranslatorwebsms.composite> >>>> >>>> <definitions.xml> >>>> >>>> >>>> >>>> Le 7 mai 08 à 14:54, Simon Laws a écrit : >>>> >>>> On Wed, May 7, 2008 at 1:49 PM, Marina Deslaugiers < >>>> [EMAIL PROTECTED]> wrote: >>>> >>>> Hi Simon, >>>> >>>> Thanks for the explanations. I will download and have a look to the >>>> calculator example you mention. >>>> >>>> However, I already have seen the >>>> sample/helloworld-ws-reference(service)-secure and I do not know >>>> whether >>>> and how I can use the policies they define ; indeed, as I said, I use to >>>> bind to a non-SCA web service - say the web service is not encapsulated >>>> in >>>> a >>>> SCA component. >>>> >>>> So, in this case, can I use the manner you indicate to me ? if yes, what >>>> are the changes to introduce in the policy description (definitions.xml >>>> and/or other files)? >>>> >>>> >>>> Regards, >>>> Marina. >>>> >>>> samples/helloworld-ws-reference-secure and >>>> >>>> samples/helloworld-ws-service-secure >>>> >>>> >>>> >>>> >>>> Le 7 mai 08 à 12:13, Simon Laws a écrit : >>>> >>>> >>>> On Mon, May 5, 2008 at 4:11 PM, Marina Deslaugiers < >>>> >>>> [EMAIL PROTECTED]> wrote: >>>> >>>> Hi, >>>> >>>> Hello, >>>> >>>> I am coming back to you as I now have to connect to an external web >>>> service with user/password authentication and I do not know how this >>>> can be >>>> done (using policies I guess) in tuscany. >>>> >>>> I use a coding analogue to the one in the simple HelloWorld Web >>>> service >>>> example provided (and corrected by you) in >>>> >>>> * [jira] Commented: (TUSCANY-2268) Exceptions errors on binding >>>> toexternal web services* >>>> >>>> The WSDL of the web service seems to be in "document literal" >>>> encoding. >>>> However, the web service (accessible at the following URL ttp:// >>>> 161.105.181.118/xml/SMSEnabler/V2.0/SMSSenderSEI which is different of >>>> the >>>> one mentioned in the WSDL file) is private to our company so it is not >>>> publicly available. >>>> >>>> Attached to this e-mail is the WSDL file. >>>> >>>> Can you help me again, please ? >>>> >>>> thanks. >>>> >>>> *Regards,* >>>> ** >>>> *Marina.* >>>> ** >>>> >>>> ** >>>> * >>>> * >>>> >>>> >>>> >>>> Hi Marina >>>> >>>> >>>> The sample samples/calculator-ws-secure-webapp shows some username and >>>> password based authentication. For example, you will note that some of >>>> the >>>> references/service require authentication.. >>>> >>>> >>>> <component name="CalculatorServiceComponent"> >>>> <implementation.java class="calculator.CalculatorServiceImpl"/> >>>> <reference name="addService" > >>>> <interface.java interface="calculator.AddService" /> >>>> <binding.ws uri=" >>>> http://localhost:8080/sample-calculator-ws-secure-webapp/ >>>> AddServiceComponent >>>> " >>>> requires="authentication" /> >>>> </reference> >>>> >>>> .... >>>> >>>> <component name="AddServiceComponent"> >>>> <implementation.java class="calculator.AddServiceImpl"/> >>>> <service name="AddService"> >>>> <interface.java interface="calculator.AddService" /> >>>> <binding.ws requires="authentication"/> >>>> </service> >>>> >>>> >>>> In this case the definitions.xml file defines service and reference >>>> policy >>>> sets that implement this intent as follows >>>> >>>> <sca:policySet name="calc:wsAuthenticationPolicy" >>>> provides="sca:authentication" >>>> appliesTo="sca:service/sca:binding.ws" >>>> >>>> >>>> <tuscany:wsConfigParam> >>>> >>>> <parameter name="InflowSecurity"> >>>> <action> >>>> <items>UsernameToken</items> >>>> >>>> >>>> >>>> >>>> <passwordCallbackClass>calculator.security.ServerPWCBHandler</passwordCallbackClass> >>>> </action> >>>> </parameter> >>>> </tuscany:wsConfigParam> >>>> </sca:policySet> >>>> >>>> <sca:policySet name="calc:wsClientAuthenticationPolicy" >>>> provides="sca:authentication" >>>> appliesTo="sca:reference/sca:binding.ws"> >>>> <tuscany:wsConfigParam> >>>> <parameter name="OutflowSecurity"> >>>> <action> >>>> <items>UsernameToken</items> >>>> <user>CalculatorUser</user> >>>> >>>> >>>> >>>> >>>> <passwordCallbackClass>calculator.security.ClientPWCBHandler</passwordCallbackClass>" >>>> + >>>> <passwordType>PasswordText</passwordType> >>>> </action> >>>> </parameter> >>>> </tuscany:wsConfigParam> >>>> </sca:policySet> >>>> </component> >>>> >>>> These policy sets configure Axis2 to call out to the callback classes >>>> specified in order to get the username and password to be included in >>>> the >>>> soap envelope. There is another, non-webapp, example of this in >>>> samples/helloworld-ws-reference-secure and >>>> samples/helloworld-ws-service-secure >>>> >>>> Hope that helps >>>> >>>> Simon >>>> >>>> >>>> In theory you should be able to use the reference side policy to >>>> configure >>>> security in order to authenticate with the remove non-sca web service. >>>> However this depends a lot on how the remote service is expecting you >>>> to >>>> authenticate with it. Do you know the details in this case. I have to >>>> admit >>>> to not having tried this with an external service so we are both >>>> learning >>>> here:-) >>>> >>>> Simon >>>> >>>> >>>> >>>> >>>> >>>> Hi Marina >>> >>> The error is reporting that a fault is coming back in the response SOAP >>> message. We need to collect a bit more information before deciding what >>> to >>> do. I'm not sure if this is actually the "org.apache.axis2.AxisFault: >>> Policy >>> Falsified" error or not as I don't recognize this particular error. So >>> firstly do you know what the response SOAP message looks like on the >>> wire. >>> Also can you show me what you security policy looks like (obviously be >>> careful not to disclose any confidential information such as real >>> usernames >>> or passwords on the mail list)? >>> >>> Regards >>> >>> Simon >>> >> >> > > Hi Marina Thanks for doing this. The attachments didn't make it through the mail list unfortunately. Can you open a JIRA ( http://issues.apache.org/jira/browse/TUSCANY) for this problem and attach them there. We will then have a more precise way of tracking any changes we need to make to fix the problems you are seeing. I'm setting up a local test here so I'll take a look at your definitions.xml file you sent previously in the mean time. Regards Simon