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-wssecurity-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/DXH2MtFgokwNrJ2q74o
2wkjiZ+Tc2ak13ccUGAFWFuc0YmVoSZgYtRRZY/phhj7SHREQiodCeMQ7/4j8IZxZDf+JpGy3dwd
js2fRIuc9g7AvpC7KX0=
</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-327383FBE9F26CE8EF12451752261752">
<wsse:SecurityTokenReference
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-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-wssecurity-utility-1.0.xsd";
wsu:Id="id-2"><ns1:retrieveAllFields
xmlns:ns1="http://teams.ea.com/";><username>sysadmin</username><password>4ealabels</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:Fault><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.unmarshalFault(Soap11FaultInInterceptor.java:75)
        at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46)
        at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
        at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
        at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
        at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
        at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:645)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2132)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2015)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1940)
        at
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.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$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.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!*************
-- 
View this message in context: 
http://www.nabble.com/CXF-WS-security-Signing-not-working---%22javax.xml.ws.soap.SOAPFaultException%3A-No-such-Localname-for-SOAP-URI%22-tp24062970p24062970.html
Sent from the cxf-dev mailing list archive at Nabble.com.

Reply via email to