Missing Soap Headers
--------------------

                 Key: CXF-2221
                 URL: https://issues.apache.org/jira/browse/CXF-2221
             Project: CXF
          Issue Type: Bug
          Components: Soap Binding
    Affects Versions: 2.2.1, 2.1.5, 2.2, 2.1.4, 2.1.3, 2.1.2
         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


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.

Reply via email to