Does anyone know if its possible to downgrade NTLM on SBS2008? (for testing purposes)?
Also, I am using Axis2 1.3. On Tue, Jun 16, 2009 at 7:32 PM, Andreas Veithen <[email protected]>wrote: > Axis2 currently only has support for NTLMv1. This may explain the > problem. See also AXIS2-4318. > > Andreas > > On Tue, Jun 16, 2009 at 11:11, Andrew Bruno<[email protected]> wrote: > > Hello all, > > > > I have been developing an ExchangeWebServices client using axis2 > (xmlbeans), > > and cannot seem to get NTLM working. > > Basic Authentication is working. > > > > I have a class that extends the generated stub. > > > > It has a constructor > > > > public ExchangeWebServiceBinding(String userName, String passWord, > > boolean secure, String ewsPath, String host, String ntDomain, int port) > > throws RemoteException { > > super(createTargetEndPointUrl(ewsPath, secure, host, port, > > ewsPath)); > > setAuthenticationParameters(userName, passWord, host, ntDomain, > > port); > > } > > > > The setAuthenticationParameters does the authentication: > > > > private void setAuthenticationParameters(String userName, String > > passWord, String host, String ntDomain, int port) throws RemoteException > { > > Protocol AlcHttpsProtocol = new Protocol(HTTPS, new > > EasySSLProtocolSocketFactory(), port); > > Protocol.registerProtocol(HTTPS, AlcHttpsProtocol); > > > > Options options = this._getServiceClient().getOptions(); > > > > HttpTransportProperties.Authenticator ntlmAuthentication = new > > HttpTransportProperties.Authenticator(); > > ntlmAuthentication.setUsername(userName); > > ntlmAuthentication.setPassword(passWord); > > ntlmAuthentication.setHost(host); > > ntlmAuthentication.setPort(port); > > ntlmAuthentication.setRealm(null); > > ntlmAuthentication.setDomain(ntDomain); > > ntlmAuthentication.setAllowedRetry(true); > > > > ArrayList authSchemes = new ArrayList(); > > authSchemes.add(AuthPolicy.NTLM); > > ntlmAuthentication.setAuthSchemes(authSchemes); > > > > options.setProperty(HTTPConstants.AUTHENTICATE, > ntlmAuthentication); > > > > // Set to 5 minutes > > options.setTimeOutInMilliSeconds(300000); > > > > this._getServiceClient().setOptions(options); > > > > logger.info("Authentication parameters set for user [" + > userName + > > "]"); > > } > > > > > > I have setup SBS2008 with "Windows Authentication" enabled on the > > SERVER\Sites\SBS Web Applications\EWS folder, and all others disabled. > > > > I keep getting 401 errors. If I change the AuthPolicy.NTLM to > > AuthPolicy.BASIC, and enable BASIC on the server it works. > > > > Does anyone have any ideas? Is what I am doing above correct? or is > there > > another way? > > > > Thanks > > Andrew > > > > P.S. Also, http://ws.apache.org/axis2/1_3/http-transport.html talks > about > > NTCredentials. Do I need to use these? How to I set them in the stub? > > > > > > > > >
