IBM JAX-WS Client Consuming .Net WS with Active Directory Authentication (NTLM)

I want to consume .Net WS from IBM WebSphere.

I created a WS client with an IBM JAX-WS implementation that uses .NET for IIS. The client is on SUSE, and authentication is done using NTLM with Windows Server 2003 Active Directory.

  • If the client is running on the command line, the implementation calls java.net.Authenticator to get the credentials and the request successfully.

  • If the client is running inside RAD, the authenticator is not called with error 401.

  • If the client is running inside WebSphere, the authenticator is not called with error 401.

  • If I create an HttpConnection directly to the .Net WS URL, the authenticator is called and the request is executed.

  • If instead of using the IBM JAX-WS implementation, I use Axis2 (directly, and not the IBM Axis2 JAX-WS implementation), I could pass the Authenticator object to the Axis2 client, and the request will be successful. This only works for the NTLM protocol with Windows Server 2003. When we upgrade to Windows Server 2008, the auth protocol is NTLMv2 (everyone is moving to NTLMv2 because security issues are with NTLM) and the request fails because NTLMv2 is not supported by HTTP Client 3. X, which is an Axis2 dependency. And for some time they are not going to migrate.

If I use a different JAX-WS implementation than IBM, I lose console administration and automatic reading of annotations, and also lose support from IBM.

Questions

I don’t understand why it didn’t work inside RAD, this is the very program that works from the command line.

JAX-WS IBM NTLMv2 ? (java.net.Authenticator , ... )

IBM JAX-WS HTTP-, ?

IBM JVM NTLM- ( , HttpConnection), , IBM WS.

WS ActiveDirectory?

Spring WS HttpClient 4.X, NTLMv2 auth, JAX-WS, IBM. IBM JAX-WS, , Basic AUTH. , Microsoft WS IBM.

conf:

http://docs.oracle.com/javase/6/docs/api/java/net/Authenticator.html#setDefault%28java.net.Authenticator%29

qaru.site/questions/395496/...

!

+5
2

, , .

JAXB RAD JAX-WS. DTO , Spring WS. Spring WS 2.1 Http Client 4.2, NTLMv2.

, , :

  • JAX-WS RAD
  • , , RAD
  • :
  • 3.1 JAXB
  • 3.2 - WebServiceTemplate (Spring).
  • 3.3. JAXB.
  • 3.4

, , JAX-WS , Spring WS.

NTLM NTCredentials WebServiceTemplate.

Axis2 1.7 NTLMv2 HttpClient 4.2.X, .

:

  • WebServiceTemplate WS call

http://static.springsource.org/spring-ws/sites/2.0/apidocs/org/springframework/ws/client/core/WebServiceTemplate.html#marshalSendAndReceive%28java.lang.Object%29

  • WebServiceTemplate

http://static.springsource.org/spring-ws/sites/2.0/apidocs/org/springframework/ws/client/support/WebServiceAccessor.html#getMessageSenders%28%29

  • NTCredentials

http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/auth/NTCredentials.html


: Axis 1.7, NTLM auth .

+2

NTLM (1994?) NTLMv2 (1999) Kerberos ( Windows 2000), NTLMv2 ???

Microsoft WS-Security Kerberos JAX-WS .NET. .

, ( Authenticator, ), Java-, Java Enterprise, Java "", "" ", , WebSphere Server, ( , Node , LDAP ..).

+2

All Articles