>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/webservicegmc.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.processClientRequest(AddressingHandler.java:240)
        at 
org.apache.axis.message.addressing.handler.AddressingHandler.invoke(AddressingHandler.java:108)
        at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.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(ServiceInterfaceStub.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.invoke(AddressingHandler.java:121)
        at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.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(ServiceInterfaceStub.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.processClientRequest(AddressingHandler.java:240)
        at 
org.apache.axis.message.addressing.handler.AddressingHandler.invoke(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.AddressingHandler">  
                        <parameter name="referencePropertyNames" 
value="{Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}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