Hi, I have generated a cxf client using wsdl2java tool. This client is built to consume the sharepoint webservice which requires NTLM authentication.
I was initially On the link : http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html , under the NTLM authentication section, it is stated that - "On Java 6, NTLM authentication is built into the Java runtime and you don't need to do anything special" . As such I just turned off chunking and try to connect to the webservice, However I get a Server redirected too many times issue. The code and the error are as given below: ************************************************************************************************************************************************************ Code ************************************************************************************************************************************************************* SiteData ss = new SiteData(wsdlURL, SERVICE_NAME); SiteDataSoap port = ss.getSiteDataSoap(); //Turn off chunking so that NTLM can occur Client client = org.apache.cxf.frontend.ClientProxy.getClient(port); HTTPConduit http = (HTTPConduit) client.getConduit(); HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); httpClientPolicy.setConnectionTimeout(36000); httpClientPolicy.setAllowChunking(false); http.setClient(httpClientPolicy); System.out.println("Invoking getSite..."); javax.xml.ws.Holder<java.lang.Long> _getSite_getSiteResult = new javax.xml.ws.Holder<java.lang.Long>(); javax.xml.ws.Holder<com.microsoft.schemas.sharepoint.soap.SSiteMetadata> _getSite_sSiteMetadata = new javax.xml.ws.Holder<com.microsoft.schemas.sharepoint.soap.SSiteMetadata>(); javax.xml.ws.Holder<com.microsoft.schemas.sharepoint.soap.ArrayOfSWebWithTime> _getSite_vWebs = new javax.xml.ws.Holder<com.microsoft.schemas.sharepoint.soap.ArrayOfSWebWithTime>(); javax.xml.ws.Holder<java.lang.String> _getSite_strUsers = new javax.xml.ws.Holder<java.lang.String>(); javax.xml.ws.Holder<java.lang.String> _getSite_strGroups = new javax.xml.ws.Holder<java.lang.String>(); javax.xml.ws.Holder<com.microsoft.schemas.sharepoint.soap.ArrayOfString> _getSite_vGroups = new javax.xml.ws.Holder<com.microsoft.schemas.sharepoint.soap.ArrayOfString>(); //Webservice call port.getSite(_getSite_getSiteResult, _getSite_sSiteMetadata, _getSite_vWebs, _getSite_strUsers, _getSite_strGroups, _getSite_vGroups); ********************************************************************************************************************************************************************** Error Message *********************************************************************************************************************************************************************** The error I get is as follows : Dec 13, 2010 1:30:05 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging WARNING: Interceptor for {http://schemas.microsoft.com/sharepoint/soap/}SiteData#{http://schemas.microsoft.com/sharepoint/soap/}GetSite has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Could not send Message. at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:244) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) at $Proxy39.getSite(Unknown Source) at com.microsoft.schemas.sharepoint.soap.SiteDataSoap_SiteDataSoap_Client.main(SiteDataSoap_SiteDataSoap_Client.java:190) Caused by: java.net.ProtocolException: ProtocolException invoking http://corp.abc.com/_vti_bin/SiteData.asmx: Server redirected too many times (20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:2058) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2043) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) ... 8 more Caused by: java.net.ProtocolException: Server redirected too many times (20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2250) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2134) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1988) ... 11 more Caused by: java.net.ProtocolException: Server redirected too many times (20) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.HttpURLConnection.getResponseCode(Unknown Source) at org.apache.cxf.transport.http.HTTPConduit.processRetransmit(HTTPConduit.java:1457) at org.apache.cxf.transport.http.HTTPConduit.access$600(HTTPConduit.java:146) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRetransmits(HTTPConduit.java:2102) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2129) ... 12 more Exception in thread "main" javax.xml.ws.WebServiceException: Could not send Message. at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135) at $Proxy39.getSite(Unknown Source) at com.microsoft.schemas.sharepoint.soap.SiteDataSoap_SiteDataSoap_Client.main(SiteDataSoap_SiteDataSoap_Client.java:190) Caused by: java.net.ProtocolException: ProtocolException invoking http://corp.abc.com/_vti_bin/SiteData.asmx: Server redirected too many times (20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:2058) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:2043) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:244) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) ... 2 more Caused by: java.net.ProtocolException: Server redirected too many times (20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2250) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2134) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1988) ... 11 more Caused by: java.net.ProtocolException: Server redirected too many times (20) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.HttpURLConnection.getResponseCode(Unknown Source) at org.apache.cxf.transport.http.HTTPConduit.processRetransmit(HTTPConduit.java:1457) at org.apache.cxf.transport.http.HTTPConduit.access$600(HTTPConduit.java:146) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRetransmits(HTTPConduit.java:2102) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2129) ... 12 more Can you please help me with this? -- View this message in context: http://cxf.547215.n5.nabble.com/CXF-client-NTLM-Authentication-Issue-tp3303631p3303631.html Sent from the cxf-user mailing list archive at Nabble.com.
