cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: CXF WS-security Signing not working - "javax.xml.ws.soap.SOAPFaultException: No such Localname for SOAP URI"
Date Thu, 18 Jun 2009 18:30:00 GMT
On Wed June 17 2009 9:11:03 pm rajla wrote:
> Sorry Dan, sometimes I am a a really loser.....you are 100% right, the
> guilty party was old AXIS stuff server side.  After that, I pushed the SAAJ
> stuff into the stupid endorsed directory (who came up with that brilliant
> idea anyway???? it is like the JBoss windows registry ha ha ha).....
>
> anyway, then I added bouncy castle stuff to my class path and voila.....
>
> Speaking of which, I don't remember needing bouncy castle before
> either......in fact, i think i have working in-production web services
> without bouncy castle.....which is a little weird.....anyway, no big deal,
> once i put it in, it works like a champ.

In order to fix a particular interop bug determining if a particular cert is 
compatible, wss4j used a particular class directly from BC.   That fixed the 
problem, but then added a direct dependency on BC.   I changed that code last 
week to use the BC method if BC is there, otherwise fall back to the old 
method.   Thus, the next version of WSS4J should go back to not requiring BC.

You could use the latest 1.5.8 SNAPSHOTS if you want to try it.

Dan



>
> thanks Dan, I would never have realized with was AXIS stuff without you...
>
> rajla wrote:
> > Hello, I am getting the exception
> > "javax.xml.ws.soap.SOAPFaultException: No such Localname for SOAP URI"
> > when implementing signature secruity with WS-Security in CXF.  What does
> > this mean?  Anyone have any insights on what I can do to resolve this
> > issue?
> >
> >
> > Honestly, I don't remember this being so difficult to implement in older
> > CXF and I don't think I have ever seen this error before.  I tried to to
> > google it a lot today and by the looks of it, not many other people have
> > seen this before either.  I am on version 2.2 now.
> >
> > Could anyone please describe to me what this error means?  What process
> > do I need to resolve it?  P.S.  The web service works fine without the
> > interceptors when I don't try and use WS-security.  I followed the
> > WS-Security instructions listed here:
> > http://cwiki.apache.org/CXF20DOC/ws-security.html
> >
> > That is, I generated a keystore for my server side, generated a public
> > key for my client.  Imported the public key for my client into the
> > keystore.
> >
> > Any assistance anyone can give me in regards to resolving this issue is
> > greatly appreciated.
> >
> > Below is the whole message and exception, including the SOAP exchange and
> > stuff.:
> >
> > log4j:WARN No appenders could be found for logger
> > (org.apache.cxf.bus.spring.BusApplicationContext).
> > log4j:WARN Please initialize the log4j system properly.
> > Jun 16, 2009 11:00:10 AM org.apache.cxf.bus.spring.BusApplicationContext
> > getConfigResources
> > INFO: No cxf.xml configuration file detected, relying on defaults.
> > Jun 16, 2009 11:00:14 AM
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> > buildServiceFromClass
> > INFO: Creating Service {http://teams.ea.com/}EATeamsWSService from class
> > com.ea.teams.EATeamsWS
> > Jun 16, 2009 11:00:26 AM
> > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
> > INFO: Outbound Message
> > ---------------------------
> > ID: 1
> > Address: http://teams-rwsdv:9019/teamsws/EATeamsWS
> > Encoding: UTF-8
> > Content-Type: text/xml
> > Headers: {SOAPAction=[""], Accept=[*/*]}
> > Payload: <soap:Envelope
> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><wsse
> >:Security
> > xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
> >urity-secext-1.0.xsd" soap:mustUnderstand="1"><ds:Signature
> > xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-1">
> > <ds:SignedInfo>
> > <ds:CanonicalizationMethod
> > Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
> > <ds:SignatureMethod
> > Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
> > <ds:Reference URI="#id-2">
> > <ds:Transforms>
> > <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
> > </ds:Transforms>
> > <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
> > <ds:DigestValue>9ugq2OUuSZq3m5dk2pchTf+XSNA=</ds:DigestValue>
> > </ds:Reference>
> > </ds:SignedInfo>
> > <ds:SignatureValue>
> > ntGCqu+lVsS5LWvKr2Bovba2xkOrIH7uOVwPk2GzEDVBUd6hdWY1Cw/l/DXH2MtFgokwNrJ2q
> >74o
> > 2wkjiZ+Tc2ak13ccUGAFWFuc0YmVoSZgYtRRZY/phhj7SHREQiodCeMQ7/4j8IZxZDf+JpGy3
> >dwd js2fRIuc9g7AvpC7KX0=
> > </ds:SignatureValue>
> > <ds:KeyInfo Id="KeyId-327383FBE9F26CE8EF12451752261752">
> > <wsse:SecurityTokenReference
> > xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
> >urity-secext-1.0.xsd"
> > xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> >rity-utility-1.0.xsd"
> > wsu:Id="STRId-327383FBE9F26CE8EF12451752261753"><ds:X509Data>
> > <ds:X509IssuerSerial>
> > <ds:X509IssuerName>CN=teams</ds:X509IssuerName>
> > <ds:X509SerialNumber>1245171677</ds:X509SerialNumber>
> > </ds:X509IssuerSerial>
> > </ds:X509Data></wsse:SecurityTokenReference>
> > </ds:KeyInfo>
> > </ds:Signature></wsse:Security></soap:Header><soap:Body
> > xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> >rity-utility-1.0.xsd" wsu:Id="id-2"><ns1:retrieveAllFields
> > xmlns:ns1="http://teams.ea.com/"><username>sysadmin</username><password>4
> >ealabels</password></ns1:retrieveAllFields></soap:Body></soap:Envelope>
> > --------------------------------------
> > Jun 16, 2009 11:00:27 AM org.apache.cxf.interceptor.LoggingInInterceptor
> > logging
> > INFO: Inbound Message
> > ----------------------------
> > ID: 1
> > Encoding: UTF-8
> > Content-Type: text/xml; charset=utf-8
> > Headers: {Content-Length=[225], Server=[Jetty(6.1.18)],
> > content-type=[text/xml; charset=utf-8]}
> > Payload: <soap:Envelope
> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:F
> >ault><faultcode>soap:Server</faultcode><faultstring>No such
Localname for
> > SOAP
> > URI</faultstring></soap:Fault></soap:Body></soap:Envelope>
> > --------------------------------------
> > javax.xml.ws.soap.SOAPFaultException: No such Localname for SOAP URI
> > 	at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:141)
> > 	at $Proxy47.retrieveAllFields(Unknown Source)
> > 	at test.ea.ws.WebServiceClient.main(WebServiceClient.java:46)
> > Caused by: org.apache.cxf.binding.soap.SoapFault: No such Localname for
> > SOAP URI
> > 	at
> > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarsha
> >lFault(Soap11FaultInInterceptor.java:75) at
> > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMe
> >ssage(Soap11FaultInInterceptor.java:46) at
> > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMe
> >ssage(Soap11FaultInInterceptor.java:35) at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
> >ain.java:236) at
> > org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(
> >AbstractFaultChainInitiatorObserver.java:96) at
> > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessa
> >ge(CheckFaultInterceptor.java:69) at
> > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessa
> >ge(CheckFaultInterceptor.java:34) at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
> >ain.java:236) at
> > org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:645) at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespo
> >nseInternal(HTTPConduit.java:2132) at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespo
> >nse(HTTPConduit.java:2015) at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPC
> >onduit.java:1940) at
> > org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutput
> >Stream.java:47) at
> > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:180)
> > 	at
> > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
> > 	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
> > 	at
> > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingIn
> >terceptor.handleMessage(MessageSenderInterceptor.java:62) at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
> >ain.java:236) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:471) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:301) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:253) at
> > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:121)
> > 	... 2 more
> > *************FINISHED!*************

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Mime
View raw message