Beruflich Dokumente
Kultur Dokumente
• Knowledge Base
Project :
• Axis2 > Java
Apache Axis2 has inbuilt support for Basic, NTLM and Proxy authentication via commons-httpclient-3.0. Basic
and NTLM use preemptive authentication scheme of commons-httpclient.
Configuration for Proxy Authentication It has to be noted that Proxy Authentication via httpclient is available
only with HTTP 1.0 version. Configuration for Proxy Authentication is available at deployment time (axis2.xml)
or runtime.
1. Proxy Authentication at Deployment time In Axis2.xml, user will be able to find the following entry:
<transportSender name="http"
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
<parameter name="PROTOCOL"
locked="false">HTTP/1.1</parameter>
<parameter name="Transfer-Encoding"
locked="false">chunked</parameter>
</transportSender>
<transportSender name="http"
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
<parameter name="PROTOCOL"
locked="false">HTTP/1.0</parameter>
<parameter name="PROXY" proxy_host="proxy_host_name"
proxy_port="proxy_host_port"
locked="true>userName:domain:passWord</parameter>
</transportSender>
options.setProperty(org.apache.axis2.transport.http.HTTPConstants.PROXY,
proxyProperties);
Basic and NTLM Authentication Axis2 uses commons-httpclient's preemptive authentication scheme to
support Basic and NTLM Authentication.
HttpTransportProperties.BasicAuthentication basicAuthentication =
new HttpTransportProperties().new BasicAuthentication();
basicAuthentication.setUsername("axis2");
basicAuthentication.setPassword("axis2");
options.setProperty(
org.apache.axis2.transport.http.HTTPConstants.BASIC_AUTHENTICATION,
basicAuthentication);
HttpTransportProperties.NTLMAuthentication ntlmAuthentication =
new HttpTransportProperties().new NTLMAuthentication();
ntlmAuthentication.setUsername("axis2");
ntlmAuthentication.setPassword("axis2");
ntlmAuthentication.setHost("axis2");
ntlmAuthentication.setPort(9443);
ntlmAuthentication.setRealm("someRealm");
options.setProperty(
org.apache.axis2.transport.http.HTTPConstants.NTLM_AUTHENTICATION,
ntlmAuthentication);
try {
Service1Stub spServer = new
Service1Stub("http://test001:9998/Service.asmx");
// NTLM Authentication
List<String> authScheme = new ArrayList<String>();
authScheme.add(HttpTransportProperties.Authenticator.NTLM);
HttpTransportProperties.Authenticator ntlm =
new HttpTransportProperties.Authenticator();
ntlm.setAuthSchemes(authScheme);
ntlm.setUsername("administrator");
ntlm.setPassword("1");
ntlm.setHost("test001");
ntlm.setPort(9998);
ntlm.setDomain("sps2007");
Options options =
spServer._getServiceClient().getOptions();
options.setProperty(HTTPConstants.AUTHENTICATE, ntlm);
spServer._getServiceClient().setOptions(options);
} catch (AxisFault e) {
e.printStackTrace();
}
// Base Authentication
// HttpTransportProperties.Authenticator authenticator = new
HttpTransportProperties.Authenticator();
// List<String> authScheme = new ArrayList<String>();
// authScheme.add(HttpTransportProperties.Authenticator.BASIC);
// authenticator.setAuthSchemes(authScheme);
// authenticator.setUsername("administrator");
// authenticator.setPassword("1");
// authenticator.setHost("test001");
// authenticator.setDomain("sps2007");
// authenticator.setPort(port);
//
// Options options = stub._getServiceClient().getOptions();
// options.setProperty(HTTPConstants.AUTHENTICATE,
authenticator);
// stub._getServiceClient().setOptions(options);
// PROXY Authentication
// HttpTransportProperties.ProxyProperties proxyProperties
// = new HttpTransportProperties.ProxyProperties();
// proxyProperties.setProxyName("test001.sps2007.com");//test001
// proxyProperties.setProxyPort(9998);
// proxyProperties.setDomain("sps2007.com");
// proxyProperties.setUserName("administrator");
// proxyProperties.setPassWord("1");
// Options options = stub._getServiceClient().getOptions();
// options.setProperty(HTTPConstants.PROXY, proxyProperties);
// stub._getServiceClient().setOptions(options);