You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/05/18 15:53:45 UTC

[jira] Resolved: (CXF-2221) Missing Soap Headers

     [ 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.