Steve, as the exception trace says:
org.apache.axis.types.URI$MalformedURIException: No scheme found in URI. "getClientes" doesn't have a scheme, so i should look something like: "http://hostname.domain.tld/path/getClientes" like in the soapAction. The "action" is mandatory, that's probably why it's allways there. Also look in ex. the Submission to w3c "3. Message Information Headers" [1]: <quote> [action] : URI (mandatory) An identifier that uniquely (and opaquely) identifies the semantics implied by this message. It is RECOMMENDED that value of the [action] property is a URI identifying an input, output, or fault message within a WSDL port type. An action may be explicitly or implicitly associated with the corresponding WSDL definition. Section 3.3 below describes the mechanisms of association. Finally, if in addition to the [action] property, a SOAP Action URI is encoded in a request, the URI of the SOAP Action MUST be the same as the one specified by the [action] property. </quote> the default "action" is defined in "3.3.2 Default Action Pattern" [2] [1] http://www.w3.org/Submission/ws-addressing/#_Toc77464322 [2] http://www.w3.org/Submission/ws-addressing/#_Toc77464327 /Brian > 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/ >> >> >> > >> > >> >> >
