Actually, that error message seems to come from an OLD Axis SAAJ implementation. Definitely check the server side parts for any leftover Axis SAAJ things and replace them with a modern implementation. (Sun's SAAJ is what we test with)
Dan On Wed June 17 2009 3:21:58 pm rajla wrote: > Hey Dan, the problem must be something with Spring 3.0+ and CXF > compatibility. That is all I can think of.... What sort of server logs? > All the server really does is throw the exception I posted below after it > chokes and pukes. Other than that I don't see anything else in stdout. > > Thanks > > dkulp wrote: > > 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><wss > >>e:S ecurity > >> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse > >>cur 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/DXH2MtFgokwNrJ2 > >>q74 o > >> 2wkjiZ+Tc2ak13ccUGAFWFuc0YmVoSZgYtRRZY/phhj7SHREQiodCeMQ7/4j8IZxZDf+JpGy > >>3dw d js2fRIuc9g7AvpC7KX0= > >> </ds:SignatureValue> > >> <ds:KeyInfo Id="KeyId-327383FBE9F26CE8EF12451752261752"> > >> <wsse:SecurityTokenReference > >> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse > >>cur ity-secext-1.0.xsd" > >> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec > >>uri 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-wssec > >>uri 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.unmarsh > >>alF ault(Soap11FaultInInterceptor.java:75) at > >> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleM > >>ess age(Soap11FaultInInterceptor.java:46) at > >> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleM > >>ess age(Soap11FaultInInterceptor.java:35) at > >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC > >>hai n.java:236) at > >> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage > >>(Ab stractFaultChainInitiatorObserver.java:96) at > >> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMess > >>age (CheckFaultInterceptor.java:69) at > >> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMess > >>age (CheckFaultInterceptor.java:34) at > >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC > >>hai n.java:236) at > >> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:645) at > >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp > >>ons eInternal(HTTPConduit.java:2132) at > >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp > >>ons e(HTTPConduit.java:2015) at > >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTP > >>Con duit.java:1940) at > >> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutpu > >>tSt 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$MessageSenderEndingI > >>nte rceptor.handleMessage(MessageSenderInterceptor.java:62) at > >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC > >>hai 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 -- Daniel Kulp dk...@apache.org http://www.dankulp.com/blog