[ https://issues.apache.org/jira/browse/CXF-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-2221. ------------------------------ Resolution: Fixed Fix Version/s: 2.2.2 2.1.6 > Missing Soap Headers > -------------------- > > Key: CXF-2221 > URL: https://issues.apache.org/jira/browse/CXF-2221 > Project: CXF > Issue Type: Bug > Components: Tooling > Affects Versions: 2.1.2, 2.1.3, 2.1.4, 2.2, 2.1.5, 2.2.1 > Environment: java -version > java version "1.6.0_12" > Java(TM) SE Runtime Environment (build 1.6.0_12-b04) > Java HotSpot(TM) 64-Bit Server VM (build 11.2-b01, mixed mode) > apache-tomcat 6.0.18 > Reporter: Andre Reiter > Assignee: Daniel Kulp > Fix For: 2.1.6, 2.2.2 > > Attachments: cxf_issue2221.tar.gz > > > Hello everybody, > I have a bit trouble with the Soap Headers, they are just not generated... > this is my WSDL: > https://api.webtrends.com/Services/AnalyticsDataService.asmx?WSDL > I generate the client code with "wsdl2java ... -exsh true ..." > my client code: > ###################################################################################### > import javax.xml.ws.Holder; > import org.apache.cxf.interceptor.LoggingInInterceptor; > import org.apache.cxf.interceptor.LoggingOutInterceptor; > import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; > import com.webtrends.ws._1.AnalyticsDataService; > import com.webtrends.ws._1.WTCredentialsHeader; > import com.webtrends.ws._1.WTSessionHeader; > public class Main { > /** > * @param args > */ > public static void main(String[] args) { > JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); > factory.getInInterceptors().add(new LoggingInInterceptor()); > factory.getOutInterceptors().add(new LoggingOutInterceptor()); > factory.setServiceClass(AnalyticsDataService.class); > > factory.setAddress("https://api.webtrends.com/Services/AnalyticsDataService.asmx"); > AnalyticsDataService ads = (AnalyticsDataService) factory.create(); > WTCredentialsHeader credentials = new WTCredentialsHeader(); > credentials.setAccountName("foo"); > credentials.setUsername("bar"); > credentials.setPassword("baz"); > Holder<WTCredentialsHeader> credentialsHolder = new > Holder<WTCredentialsHeader>(credentials); > Holder<WTSessionHeader> sessionHolder = new > Holder<WTSessionHeader>(new WTSessionHeader()); > ads.checkAvailability(credentialsHolder, sessionHolder); > } > } > ###################################################################################### > 15.05.2009 08:01:43 > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose > INFO: Outbound Message > --------------------------- > Encoding: UTF-8 > Headers: {SOAPAction=["http://www.webtrends.com/WS/1.0/CheckAvailability"], > Accept=[*]} > Messages: > Payload: <soap:Envelope > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><CheckAvailability > xmlns="http://www.webtrends.com/WS/1.0"/></soap:Body></soap:Envelope> > -------------------------------------- > 15.05.2009 08:01:45 org.apache.cxf.interceptor.LoggingInInterceptor logging > INFO: Inbound Message > ---------------------------- > Encoding: UTF-8 > Headers: {content-type=[text/xml; charset=utf-8], > X-AspNet-Version=[2.0.50727], Date=[Fri, 15 May 2009 06:01:45 GMT], > Content-Length=[590], X-Powered-By=[ASP.NET], Server=[Microsoft-IIS/6.0], > Cache-Control=[private]} > Messages: > Message: > Payload: <?xml version="1.0" encoding="utf-8"?><soap:Envelope > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Authentication > > failed.</faultstring><faultactor>http://api.webtrends.com/Services/AnalyticsDataService.asmx</faultactor><detail><Reason > xmlns="http://www.webtrends.com/schemas/2006/01">Missing WTCredentialsHeader > and WTSessionHeader in SOAP > message.</Reason></detail></soap:Fault></soap:Body></soap:Envelope> > -------------------------------------- > Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: > Authentication failed. > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:199) > at $Proxy59.checkAvailability(Unknown Source) > at rbmh.webplayer.actions.Main.main(Main.java:33) > Caused by: org.apache.cxf.binding.soap.SoapFault: Authentication failed. > at > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:70) > at > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220) > 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:220) > at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:449) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2029) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1865) > at > org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47) > at > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:170) > at > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) > at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:593) > at > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242) > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178) > ... 2 more > ###################################################################################### > like u can see. there is no Soap Header in the Outbound Message... > and now the very funny thing, i'm using maven, so it's very simple to switch > to another version of CXF > the stuff is working perfectly with the older cxf versions: 2.1, 2.1.1 > but if i use the newer versions: 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.2, 2.2.1, i > get the error above > how can that be? what is wrong > thanks in dvance > regards > andre -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.