Since that error message is coming back in the Fault, that is something on the 
server side.  Thus, we'd need to see the logs for the server side.

I've never seen that error before either.   Bizarre.


Dan


On Tue June 16 2009 5:12:17 pm 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:S
>ecurity
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
>ity-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/DXH2MtFgokwNrJ2q74
>o
> 2wkjiZ+Tc2ak13ccUGAFWFuc0YmVoSZgYtRRZY/phhj7SHREQiodCeMQ7/4j8IZxZDf+JpGy3dw
>d js2fRIuc9g7AvpC7KX0=
> </ds:SignatureValue>
> <ds:KeyInfo Id="KeyId-327383FBE9F26CE8EF12451752261752">
> <wsse:SecurityTokenReference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
>ity-secext-1.0.xsd"
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuri
>ty-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-wssecuri
>ty-utility-1.0.xsd" wsu:Id="id-2"><ns1:retrieveAllFields
> xmlns:ns1="http://teams.ea.com/";><username>sysadmin</username><password>4ea
>labels</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:Fau
>lt><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.unmarshalF
>ault(Soap11FaultInInterceptor.java:75) at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess
>age(Soap11FaultInInterceptor.java:46) at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess
>age(Soap11FaultInInterceptor.java:35) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
>n.java:236) at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(Ab
>stractFaultChainInitiatorObserver.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(PhaseInterceptorChai
>n.java:236) at
> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:645) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons
>eInternal(HTTPConduit.java:2132) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons
>e(HTTPConduit.java:2015) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon
>duit.java:1940) at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputSt
>ream.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$MessageSenderEndingInte
>rceptor.handleMessage(MessageSenderInterceptor.java:62) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
>n.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
dk...@apache.org
http://www.dankulp.com/blog

Reply via email to