Steve,

if you like to sig/encrypt elements of the adressing part
of the request pls place the security handler _after_ the
adressing handler. It is necessary that the elements are in
the request before WSS4J can encrypt/sign the elements.

Regards,
Werner

> -----Ursprüngliche Nachricht-----
> Von: Steve Behrendt [mailto:[EMAIL PROTECTED] 
> Gesendet: Dienstag, 5. Juli 2005 15:59
> An: Steve Behrendt; Dittmann, Werner
> Cc: [email protected]
> Betreff: RES: RES: How to configure UsernameTokenSignature
> 
> 
> >The problem in this case is, that the process of add the 
> "action" property doesn't work. It always throws a exception:
> 
> I fixed the problem. The URI class only accept a argument 
> that is conformed to a schema like "http://getclientes";. I 
> changed the "ServiceInterfaceStub.class" like this:
> 
>           
> _call.setSOAPActionURI("http://localhost/WebServiceGMC/webserv
> icegmc.asmx?op=getClientes");
>         //_call.setSOAPActionURI("getClientes");
> 
> It's strange, but it works. Do anyone say why that works that way?
> 
> 
> Steve
> 
> -----Mensagem original-----
> De: Steve Behrendt 
> Enviada em: terça-feira, 5 de julho de 2005 10:21
> Para: Dittmann, Werner
> Cc: [email protected]
> Assunto: RES: RES: How to configure UsernameTokenSignature
> 
> 
> Werner,
> 
> Thanks for the hint!! Now I want to add the addributes 
> "action", "MessageId", "ReplayTo" and "To".
> When I use the ws-adressing-project, the handler always call 
> the part of the "action", even I don't define it in the .wsdd 
> file. I think it's a bug, or isn't it?
> The problem in this case is, that the process of add the 
> "action" property doesn't work. It always throws a exception:
> 
> AxisFault
>  faultCode: 
> {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>  faultSubcode: 
>  faultString: 
> org.apache.axis.types.URI$MalformedURIException: No scheme 
> found in URI.
>  faultActor: 
>  faultNode: 
>  faultDetail: 
>       
> {http://xml.apache.org/axis/}stackTrace:org.apache.axis.types.
> URI$MalformedURIException: No scheme found in URI.
>       at org.apache.axis.types.URI.initialize(URI.java:483)
>       at org.apache.axis.types.URI.<init>(URI.java:281)
>       at org.apache.axis.types.URI.<init>(URI.java:265)
>       at 
> org.apache.axis.message.addressing.handler.AddressingHandler.p
> rocessClientRequest(AddressingHandler.java:240)
>       at 
> org.apache.axis.message.addressing.handler.AddressingHandler.i
> nvoke(AddressingHandler.java:108)
>       at 
> org.apache.axis.strategies.InvocationStrategy.visit(Invocation
> Strategy.java:32)
>       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>       at org.apache.axis.client.AxisClient.invoke(AxisClient.java:127)
>       at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
>       at org.apache.axis.client.Call.invoke(Call.java:2748)
>       at org.apache.axis.client.Call.invoke(Call.java:2424)
>       at org.apache.axis.client.Call.invoke(Call.java:2347)
>       at org.apache.axis.client.Call.invoke(Call.java:1804)
>       at 
> net.weg.service.ServiceInterfaceStub.getClientes(ServiceInterf
> aceStub.java:284)
>       at net.weg.service.client.main(client.java:96)
> 
>       {http://xml.apache.org/axis/}hostname:brjgsd181091
> 
> org.apache.axis.types.URI$MalformedURIException: No scheme 
> found in URI.
>       at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
>       at 
> org.apache.axis.message.addressing.handler.AddressingHandler.i
> nvoke(AddressingHandler.java:121)
>       at 
> org.apache.axis.strategies.InvocationStrategy.visit(Invocation
> Strategy.java:32)
>       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>       at org.apache.axis.client.AxisClient.invoke(AxisClient.java:127)
>       at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
>       at org.apache.axis.client.Call.invoke(Call.java:2748)
>       at org.apache.axis.client.Call.invoke(Call.java:2424)
>       at org.apache.axis.client.Call.invoke(Call.java:2347)
>       at org.apache.axis.client.Call.invoke(Call.java:1804)
>       at 
> net.weg.service.ServiceInterfaceStub.getClientes(ServiceInterf
> aceStub.java:284)
>       at net.weg.service.client.main(client.java:96)
> Caused by: org.apache.axis.types.URI$MalformedURIException: 
> No scheme found in URI.
>       at org.apache.axis.types.URI.initialize(URI.java:483)
>       at org.apache.axis.types.URI.<init>(URI.java:281)
>       at org.apache.axis.types.URI.<init>(URI.java:265)
>       at 
> org.apache.axis.message.addressing.handler.AddressingHandler.p
> rocessClientRequest(AddressingHandler.java:240)
>       at 
> org.apache.axis.message.addressing.handler.AddressingHandler.i
> nvoke(AddressingHandler.java:108)
>       ... 11 more
> 
> 
> My wsdd-File is that:
> 
> <deployment xmlns="http://xml.apache.org/axis/wsdd/";
>             
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
>          
> <globalConfiguration >
>       <requestFlow>
>               <handler 
> type="java:org.apache.ws.axis.security.WSDoAllSender" >
>                       <parameter name="action" 
> value="Timestamp UsernameTokenSignature" />
>                       <parameter name="passwordCallbackClass" 
> value="net.weg.service.PWCallback" />                         
>                                                                 
>                       <parameter name="signatureParts" 
> value="{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body; 
>                               
> {Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-
> wss-wssecurity-utility-1.0.xsd}Timestamp;" />
>               </handler>
>               
>               <handler name="addr" 
> type="java:org.apache.axis.message.addressing.handler.Addressi
> ngHandler">  
>                       <parameter 
> name="referencePropertyNames" 
> value="{Element}{http://schemas.xmlsoap.org/ws/2004/03/address
> ing}MessageID;
>                               
> {Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}ReplayTo;
>                               
> {Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}To"/>  
>       </handler>
>               
>       </requestFlow>
> </globalConfiguration>  
> 
> <transport name="java" 
> pivot="java:org.apache.axis.transport.java.JavaSender"/>
> <transport name="http" 
> pivot="java:org.apache.axis.transport.http.HTTPSender"/>
> <transport name="local" 
> pivot="java:org.apache.axis.transport.local.LocalSender"/>
>  
> </deployment>
> 
> 
> The Program throws the exception at this point in the 
> "org.apache.axis.message.addressing.handler.AddressingHandler"
>  in the method "processClientRequest"
> 
>         // set Action
>         String action = msgContext.getSOAPActionURI();
>         if (action != null) {
>             headers.setAction(new Action(new URI(action))); 
> ///// Here is the exception thrown --> action has the value 
> "getClientes" - the name of the method in the webservice.
>         } else if(headers.getAction() != null) {
>             msgContext.setUseSOAPAction(true);
>             // Make SOAP action match
>             
> msgContext.setSOAPActionURI(headers.getAction().toString());
>         }
> 
> Thanks to everyone!!!!
> 
> Steve
> 
> 
> -----Mensagem original-----
> De: Dittmann, Werner [mailto:[EMAIL PROTECTED]
> Enviada em: terça-feira, 5 de julho de 2005 03:28
> Para: Steve Behrendt
> Cc: [email protected]
> Assunto: AW: RES: How to configure UsernameTokenSignature
> 
> 
> Steve.
> 
> about the problem "Timestamp" not found, just
> reverse the actions. That is do "Timestamp"
> first, then the Signature. The handler works
> from left to right, builds up the request
> as it works thru the actions. This, you try
> to perform a Signature of en element that is 
> not yet build into the request.
> 
> Regards,
> Werner
> 
> > -----Ursprüngliche Nachricht-----
> > Von: Steve Behrendt [mailto:[EMAIL PROTECTED] 
> > Gesendet: Montag, 4. Juli 2005 19:28
> > An: Werner Dittmann
> > Cc: [email protected]
> > Betreff: RES: RES: How to configure UsernameTokenSignature
> > 
> > 
> > Werner,
> > 
> > Thanks for the tip. Now I have another problem. The engine 
> > don't signate a part of the message. It stops with a 
> > Exception shown at the bottom of the Mail. 
> > 
> > .NET with wse2.0 sp3 uses signature based on usernametoken 
> > for the "wsa:Action", "wsa:MessageID", "wsa:ReplayTo", 
> > "wsa:To", "wsu:Timestamp" and the "soap:Body wsu:Id" 
> > elements. I began with Timestamp, but it downs't work.
> > 
> > AxisFault
> >  faultCode: 
> > {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
> >  faultSubcode: 
> >  faultString: WSDoAllSender: Error during Signatur with 
> > UsernameToken 
> > secretorg.apache.ws.security.WSSecurityException: General 
> > security error (WSEncryptBody/WSSignEnvelope: Element to 
> > encrypt/sign not found: 
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> > rity-secext-1.0.xsd, Timestamp)
> >  faultActor: 
> >  faultNode: 
> >  faultDetail: 
> >     {http://xml.apache.org/axis/}stackTrace:WSDoAllSender: 
> > Error during Signatur with UsernameToken 
> > secretorg.apache.ws.security.WSSecurityException: General 
> > security error (WSEncryptBody/WSSignEnvelope: Element to 
> > encrypt/sign not found: 
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> > rity-secext-1.0.xsd, Timestamp)
> >     at 
> > org.apache.ws.axis.security.WSDoAllSender.performUT_SIGNAction
> > (WSDoAllSender.java:512)
> >     at 
> > org.apache.ws.axis.security.WSDoAllSender.invoke(WSDoAllSender
> > .java:336)
> >     at 
> > org.apache.axis.strategies.InvocationStrategy.visit(Invocation
> > Strategy.java:32)
> >     at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> >     at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> >     at org.apache.axis.client.AxisClient.invoke(AxisClient.java:127)
> >     at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
> >     at org.apache.axis.client.Call.invoke(Call.java:2748)
> >     at org.apache.axis.client.Call.invoke(Call.java:2424)
> >     at org.apache.axis.client.Call.invoke(Call.java:2347)
> >     at org.apache.axis.client.Call.invoke(Call.java:1804)
> >     at 
> > net.weg.service.ServiceInterfaceStub.getClientes(ServiceInterf
> > aceStub.java:284)
> >     at net.weg.service.client.main(client.java:95)
> > 
> >     {http://xml.apache.org/axis/}hostname:brjgsd181091
> > 
> > WSDoAllSender: Error during Signatur with UsernameToken 
> > secretorg.apache.ws.security.WSSecurityException: General 
> > security error (WSEncryptBody/WSSignEnvelope: Element to 
> > encrypt/sign not found: 
> > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> > rity-secext-1.0.xsd, Timestamp)
> >     at 
> > org.apache.ws.axis.security.WSDoAllSender.performUT_SIGNAction
> > (WSDoAllSender.java:512)
> >     at 
> > org.apache.ws.axis.security.WSDoAllSender.invoke(WSDoAllSender
> > .java:336)
> >     at 
> > org.apache.axis.strategies.InvocationStrategy.visit(Invocation
> > Strategy.java:32)
> >     at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> >     at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> >     at org.apache.axis.client.AxisClient.invoke(AxisClient.java:127)
> >     at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
> >     at org.apache.axis.client.Call.invoke(Call.java:2748)
> >     at org.apache.axis.client.Call.invoke(Call.java:2424)
> >     at org.apache.axis.client.Call.invoke(Call.java:2347)
> >     at org.apache.axis.client.Call.invoke(Call.java:1804)
> >     at 
> > net.weg.service.ServiceInterfaceStub.getClientes(ServiceInterf
> > aceStub.java:284)
> > 
> >     at net.weg.service.client.main(client.java:95)
> > 
> > Here is my .wsdd-File:
> > 
> > <deployment xmlns="http://xml.apache.org/axis/wsdd/";
> >             
> > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
> >          
> > <globalConfiguration >
> >     <requestFlow>
> >             <handler 
> > type="java:org.apache.ws.axis.security.WSDoAllSender" >
> >                     <parameter name="action" 
> > value="UsernameTokenSignature Timestamp" />
> >                     <parameter name="passwordCallbackClass" 
> > value="net.weg.service.PWCallback" />                               
> >                                                               
> >                     <parameter name="signatureParts" 
> > value="{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-
> > 200401-wss-wssecurity-secext-1.0.xsd}Timestamp" />
> >             </handler>
> >     </requestFlow>
> > </globalConfiguration>  
> > 
> > <transport name="java" 
> > pivot="java:org.apache.axis.transport.java.JavaSender"/>
> > <transport name="http" 
> > pivot="java:org.apache.axis.transport.http.HTTPSender"/>
> > <transport name="local" 
> > pivot="java:org.apache.axis.transport.local.LocalSender"/>
> >  
> > </deployment>
> > 
> > Any idea?
> > Thanks!!!
> > 
> > Steve
> > 
> > -----Mensagem original-----
> > De: Werner Dittmann [mailto:[EMAIL PROTECTED]
> > Enviada em: sábado, 2 de julho de 2005 07:42
> > Para: Steve Behrendt
> > Cc: [email protected]
> > Assunto: Re: RES: How to configure UsernameTokenSignature
> > 
> > 
> > Steve,
> > 
> > just remove the action that you don't want from the scenarios, e.g
> > the encrypt.
> > 
> > On the Callback problem: as the deployment setup overwrights the
> > progeamatic setup the "passwordCallbackClass parameter"
> > will be used by the handler. As I can see you define a java
> > source file here - not a class. pls check your setup and fix
> > it.
> > 
> > Regards,
> > Werner
> > 
> > Steve Behrendt schrieb:
> > > Werner,
> > > 
> > > 
> > >>AFAIK the Secnario 3a (or 2a?) of the interop scenarios
> > >>show ho to use the stuff. 
> > > 
> > > 
> > > The Problem is that the stuff is only shown with encryption 
> > etc. But I only want to use a signature base on the 
> > UsernameToken - for an implementation with Microsoft .NET.
> > > But when I call the method of the service, the handler 
> > (PasswordCallBackHandler) is not passed.
> > > 
> > > My Handler:
> > > 
> > > <deployment xmlns="http://xml.apache.org/axis/wsdd/";
> > >             
> > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
> > >          
> > > <globalConfiguration >
> > >   <requestFlow>
> > >           <handler 
> > type="java:org.apache.ws.axis.security.WSDoAllSender" >
> > >                           <parameter name="action" 
> > value="UsernameTokenSignature" />
> > >                   <parameter name="passwordCallbackClass" 
> > value="net.weg.service.PWCallback.java" />
> > >           </handler>
> > >   </requestFlow>
> > > </globalConfiguration>  
> > > 
> > > <transport name="java" 
> > pivot="java:org.apache.axis.transport.java.JavaSender"/>
> > > <transport name="http" 
> > pivot="java:org.apache.axis.transport.http.HTTPSender"/>
> > > <transport name="local" 
> > pivot="java:org.apache.axis.transport.local.LocalSender"/>
> > >  
> > > </deployment>
> > > 
> > > and thats a part of my client:
> > > 
> > >           PWCallback pwCallback = new PWCallback();
> > >           ServiceInterfaceStub axisPort = 
> > (ServiceInterfaceStub)service;
> > >           
> > >           axisPort._setProperty(WSHandlerConstants.USER, 
> > usuario); //fixe o usuario
> > >           
> > axisPort._setProperty(WSHandlerConstants.PW_CALLBACK_REF,pwCal
> > lback); //fixe a classe //do handler
> > > 
> > > The Message is sent, but hasn't a Header with the 
> > UsenameToken or the Signature.
> > > 
> > > 
> > > For a little bit of help,
> > > i'm very gratefully.
> > > 
> > > STEVE
> > > 
> > > 
> > > -----Mensagem original-----
> > > De: Dittmann, Werner [mailto:[EMAIL PROTECTED]
> > > Enviada em: quarta-feira, 29 de junho de 2005 11:33
> > > Para: Steve Behrendt; [email protected]
> > > Assunto: AW: How to configure UsernameTokenSignature
> > > 
> > > 
> > > Steve,
> > > 
> > > AFAIK the Secnario 3a (or 2a?) of the interop scenarios
> > > show ho to use the stuff. 
> > > 
> > > We've not fully tested interop with Microsoft or others.
> > > 
> > > Regards,
> > > Werner
> > > 
> > > 
> > >>-----Ursprüngliche Nachricht-----
> > >>Von: Steve Behrendt [mailto:[EMAIL PROTECTED] 
> > >>Gesendet: Mittwoch, 29. Juni 2005 14:36
> > >>An: [email protected]
> > >>Betreff: RES: How to configure UsernameTokenSignature
> > >>
> > >>
> > >>Hi,
> > >>
> > >>Is there now an existing implementation of the 
> > >>UsernameTokenSignature "Problem"?
> > >>Because my implementation is using only a UsernameToken and I 
> > >>want to implement more security, but without using keys.
> > >>
> > >>Greets,
> > >>Steve
> > >>
> > >>-----Mensagem original-----
> > >>De: Davanum Srinivas [mailto:[EMAIL PROTECTED]
> > >>Enviada em: terça-feira, 21 de junho de 2005 10:53
> > >>Para: Dittmann, Werner
> > >>Cc: Granqvist, Hans; [email protected]
> > >>Assunto: Re: How to configure UsernameTokenSignature
> > >>
> > >>
> > >>Hi Werner,
> > >>
> > >>updated the specs directory. Please take a look and let me 
> > know if you
> > >>need something else.
> > >>
> > >>-- dims
> > >>
> > >>On 6/21/05, Dittmann, Werner <[EMAIL PROTECTED]> wrote:
> > >>
> > >>>Hans,
> > >>>
> > >>>are the drafts publicly available? Can't find
> > >>>them on the OASIS WSS pages.
> > >>>
> > >>>Regards,
> > >>>Werner
> > >>>
> > >>>
> > >>>>-----Ursprüngliche Nachricht-----
> > >>>>Von: Granqvist, Hans [mailto:[EMAIL PROTECTED]
> > >>>>Gesendet: Montag, 20. Juni 2005 17:31
> > >>>>An: [email protected]
> > >>>>Betreff: RE: How to configure UsernameTokenSignature
> > >>>>
> > >>>>
> > >>>>
> > >>>>><quote>
> > >>>>>The Username Token profile does not currently define a key
> > >>>>>derivation algorithm. The OASIS WSS TC is expected to address
> > >>>>>this issue in a subsequent specification. </quote>
> > >>>>
> > >>>>The latest (March 2005 and onward) WSS 1.1 draft of the
> > >>>>UsernameToken profile defines key derivation in section 4.
> > >>>>
> > >>>>Hans
> > >>>>
> > >>>
> > >>
> > >>-- 
> > >>Davanum Srinivas -http://blogs.cocoondev.org/dims/
> > >>
> > > 
> > > 
> > 
> > 
> 

Reply via email to