Calling web service from WebMethods with NTLM auth.

I have a webservice descriptor (consumer) in webMethods running in Linux which calls a web service in Sharepoint that has NTLM authentication.

I am getting this exception and I can not find any information on NTLMAuthListener.

[SIZE=2]

Any idea?

Thanks.[/SIZE]

Hi, Same situation here I am trying to call microsoft Dynamics API web service and seeing the same error,

com.wm.app.b2b.server.ServiceException: java.lang.NoClassDefFoundError: Could not initialize class com.wm.net.NTLMAuthListener

Do you remember what was the fix for this issue.

Thank you,
Akhil

Check if thepackage WmWin32 is activated, and the service win32.ntlm:reg is started.

Hi Mahesh,

Thank you for your quick reply,

I did enabled it and started that service and added it in the startup services too, that didn’t work for me still seeing the same error. And the IS version is 9.6.

Please see the attached “NTLMAuthList-Error.xml” error. If you look at the transportInfo–> requestHeaders–> Authorization it is taking as Basic followed by some value.

To fix this I have added transportHeaders–>Authorization in my request as “NTLM” and see different error,
400 Bad request…
ERROR BODY:
com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ‘"’ (code 34) in DOCTYPE declaration; expected a space between public and system identifiers
at [row,col {unknown-source}]: [1,50]

Is it correct to add Authorization in “transportHeaders”? I have tested in soapUI and it worked without adding Authorization in “transportHeaders” But i gave the Autorization type @ credentials Place (See attached JPG)
UnexpectedChar_DOCTYPE_Dec_Error.xml (25.9 KB)


NTLMAuthList-Error.xml (22.5 KB)

I wont be able to assist your further on this topic. Lets see if someone comments.

NP, Thank you for looking into it Mahesh,

It didn’t fix completely but made a progress, these are the things I tried

  • Java based NTLM client Auth support originally done in IS 9.7, had to apply fix for IS 9.6 “IS_9.6_Core_Fix3” (for 9.5 here is the “IS_9.5_SP1_Core_Fix5”).
  • And then apply “IS_9.6_Win32_Fix1” fix for WmWin32 package, which handles NTLM Auth.

But now I am seeing below error

SOAP Header missing error – “org.apache.axis2.AxisFault: SOAP header missing”

  • Tried with adding/removing Headers which worked in soapUI and removing some/all headers, gives us the same error.

Any Suggestions?

Just few more details for your investigation

1> It’s pretty important to use the current IS core fix and the current WSS fix, because together they fix several SOAP and web service security issues.

2> Are their any policy files involved in your scenarios like “X509Authentication_Signature” policy, Username_Over_Transport policy.

3> Kindly involve SAG global support, may be its time for them to suggest you an idea :idea:

Finally Working

Worked by adding WSS policy “X509 Authentication” in WSD. But, had to delete the <sp:IncludeTimestamp /> from “X509 Authentication” policy @ “IntegrationServer\instances\default\config\wss\policies\X509Authentication.policy”
Then Add the policy in WSD policies

For more information refer: “WS-Security X509 Certificate Token WebMethods 8.2 - webMethods - Software AG Tech Community & Forums


Thank you.
Akhil R.

How did you figure out adding WSS policy “X509 Authentication” ?