axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Serg Nesterenko <nestere...@softwarium.net>
Subject Re: [Axis2]Re: "No credentials available for NTLM"
Date Thu, 05 Jan 2006 14:52:10 GMT
Thank you. I use the latest code in SVN (Axis2-0.94) and build (maven) Axis2-0.94-SNAPSHOT.
But now:
used proxy properties
	proxy.setUserName("user");
        proxy.setPassWord("pass");
        proxy.setProxyName("msserver"); // why? i use directly connect to server.
        proxy.setProxyPort(8008);
        proxy.setDomain("msserver");
 and result:
Transport error 401
HTTP Error 401.2 - Unauthorized: Access is denied due to server configuration. Internet Information
Services (IIS)
(i try use also options.setProperty(Constants.USER_NAME,...))

I read http-transport.html and don't understand - how use  NTCredentials?
And additionally: where put axis2.xml ?

Saminda Abeyruwan wrote:

>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>Modification to Basic Authentication Setting in Axis2-0.94-SNAPSHOT.
>Please use following,
>
>Saminda Abeyruwan wrote:
>  
>
>>A small notification, please use the latest code in SVN to run the
>>sample. (Axis2-0.94)
>>
>>Thank you
>>
>>Saminda
>>
>>Saminda Abeyruwan wrote:
>>
>>    
>>
>>>>Hi,
>>>>
>>>>Following code will allow you to connect to MS Share Point with
>>>>"Integrated Windows authentication" and "Basic authentication on MS
>>>>Server  2003 using Axis2 client.
>>>>
>>>>public class Client {
>>>>   private static String toEpr =
>>>>"http://msserver:8008/_vti_bin/DWS.asmx?WSDL";
>>>>
>>>>   public static void main(String[] args) throws AxisFault {
>>>>       HttpTransportProperties.ProxyProperties proxy = new
>>>>HttpTransportProperties().new ProxyProperties();
>>>>
>>>>       
>>>>        
>>>>
>	//////////////////////////////////////////////////////////
>	// Please use the following settings
>	proxy.setUserName("user");
>        proxy.setPassWord("pass");
>        proxy.setProxyName("msserver");
>        proxy.setDomain("");
>	/////////////////////////////////////////////////////////
>  
>
>>>>       Options options = new Options();
>>>>       options.setTo(new EndpointReference(toEpr));
>>>>       options.setProperty(HTTPConstants.PROXY,proxy);
>>>>
>>>>       ServiceClient serviceClient = new ServiceClient();
>>>>       serviceClient.setOptions(options);
>>>>       OMElement result = serviceClient.sendReceive(getPayload());
>>>>
>>>>       try {
>>>>           XMLStreamWriter writer = XMLOutputFactory.newInstance()
>>>>                   .createXMLStreamWriter(System.out);
>>>>           result.serialize(writer);
>>>>           writer.flush();
>>>>       } catch (XMLStreamException e) {
>>>>           e.printStackTrace();
>>>>       }
>>>>   }
>>>>
>>>>   private static OMElement getPayload() {
>>>>       OMFactory fac = OMAbstractFactory.getOMFactory();
>>>>       OMNamespace omNs = fac.createOMNamespace(
>>>>               "http://schemas.microsoft.com/sharepoint/soap/dws/", "dws");
>>>>       OMElement method = fac.createOMElement("FindDoc", omNs);
>>>>       OMElement value = fac.createOMElement("Text", omNs);
>>>>       value.addChild(fac.createText(value, "Axis2 Echo String "));
>>>>       method.addChild(value);
>>>>       System.out.println(method.getText());
>>>>       return method;
>>>>   }
>>>>}
>>>>
>>>>To do NTLM authentication, one  needs to fill the
>>>>HttpTransportProperties.ProxyProperties been with following
>>>>
>>>>proxy.setProxyName("xxyy");
>>>>proxy.setProxyPort("<some integer>");
>>>>
>>>>The prior will be the runtime setting of Basic/NTLM authentication.
>>>>Apart from that one can use axis2.xml to configure the authentication.
>>>>So one has to fill the axis2.xml as follows,
>>>>
>>>>...
>>>>
>>>><transportSender name="http"
>>>>class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
>>>>       <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
>>>>       <parameter name="PROXY" proxy_host="proxy_host_name"
>>>>proxy_port="proxy_host_port"
>>>>locked="true>userName:domain:passWord</parameter>
>>>></transportSender>
>>>>...
>>>>
>>>>
>>>>The prior will help you out to do Basic/NTLM Authentication using Axis2.
>>>>For more detail please be kind enough to use http-transport.html in
>>>>xdocs folder in Axis2 distribution and need more help please buzz us
>>>>anytime.
>>>>
>>>>Thank you
>>>>
>>>>Saminda
>>>>
>>>>Serg Nesterenko wrote:
>>>>
>>>>
>>>>        
>>>>
>>>>>>public class Client2 {
>>>>>>
>>>>>> private static String toEpr =
>>>>>>"http://msserver:8008/_vti_bin/DWS.asmx?WSDL";
>>>>>>
>>>>>> public static void main(String[] args) throws AxisFault {
>>>>>>     Authenticator.setDefault(new AxisAuthenticator("msserver\\user",
>>>>>>"pass"));
>>>>>>           Options options = new Options();
>>>>>>     options.setTo(new EndpointReference(toEpr));
>>>>>>     options.setListenerTransportProtocol(Constants.TRANSPORT_HTTP);
>>>>>>     options.setUseSeparateListener(false);
>>>>>>     options.setProperty(Constants.Configuration.ENABLE_REST,
>>>>>>Constants.VALUE_FALSE);
>>>>>>     options.setProperty(Constants.USER_NAME, "msserver\\user");
>>>>>>     options.setProperty(Constants.PASSWORD, "pass");
>>>>>>           Call call = new Call();
>>>>>>     call.setClientOptions(options);
>>>>>>     OMElement result = call.invokeBlocking("FindDoc", getPayload());
>>>>>>
>>>>>>     try {
>>>>>>         XMLStreamWriter writer =
>>>>>>XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);
>>>>>>         result.serialize(writer);
>>>>>>         writer.flush();
>>>>>>     } catch (XMLStreamException e) {
>>>>>>         e.printStackTrace();
>>>>>>     } catch (FactoryConfigurationError e) {
>>>>>>         e.printStackTrace();
>>>>>>     }
>>>>>> }
>>>>>>
>>>>>> private static OMElement getPayload() {
>>>>>>     OMFactory fac = OMAbstractFactory.getOMFactory();
>>>>>>     OMNamespace omNs =
>>>>>>fac.createOMNamespace("http://schemas.microsoft.com/sharepoint/soap/dws/",
>>>>>>"dws");
>>>>>>     OMElement method = fac.createOMElement("FindDoc", omNs);
>>>>>>     OMElement value = fac.createOMElement("Text", omNs);
>>>>>>     value.addChild(fac.createText(value, "Axis2 Echo String "));
>>>>>>     method.addChild(value);
>>>>>>     System.out.println(method.getText());
>>>>>>     return method;
>>>>>> }
>>>>>>}
>>>>>>
>>>>>>Thank you
>>>>>>
>>>>>>
>>>>>>Saminda Abeyruwan wrote:
>>>>>>
>>>>>>Please post your client code, So we can simulate it here.
>>>>>>
>>>>>>Thank you
>>>>>>
>>>>>>Saminda
>>>>>>
>>>>>>Serg Nesterenko wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>            
>>>>>>
>>>>>>>>>Hello!
>>>>>>>>>I used Axis 2 (0.93).
>>>>>>>>>I try connect to MS Share Point with "Integrated Windows
authentication"
>>>>>>>>>and "Basic authentication (also tried swith off)" on MS
Server  2003.
>>>>>>>>>
>>>>>>>>>My code contain:
>>>>>>>>>    options.setProperty(Constants.USER_NAME, "msserver\\user");
>>>>>>>>>    options.setProperty(Constants.PASSWORD, "pass");
>>>>>>>>>and
>>>>>>>>>   Authenticator.setDefault(new
>>>>>>>>>AxisAuthenticator("msserver\\user","user"));
>>>>>>>>>
>>>>>>>>>And result:
>>>>>>>>>- Invoking Handler 'AddressingOutHandler' in Phase 'MessageOut'
>>>>>>>>>- ntlm authentication scheme selected
>>>>>>>>>- No credentials available for NTLM <any realm>@msserver:8008
>>>>>>>>>
>>>>>>>>>org.apache.axis2.AxisFault: Transport error 401 . Error
Message is
>>>>>>>>><!DOCTYPE HTML ............
>>>>>>>>>HTTP Error 401.2 - Unauthorized: Access is denied due
to server
>>>>>>>>>configuration.<br>Internet Information Services
(IIS)
>>>>>>>>>.................
>>>>>>>>>at
>>>>>>>>>org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:265)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:93)
>>>>>>>>>at
>>>>>>>>>org.apache.axis2.client.InOutMEPClient.send(InOutMEPClient.java:392)
>>>>>>>>>at
>>>>>>>>>org.apache.axis2.client.InOutMEPClient.invokeBlocking(InOutMEPClient.java:154)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>at org.apache.axis2.client.Call.invokeBlocking(Call.java:91)
>>>>>>>>>at userguide.clients.Client2.main(Client2.java:73)
>>>>>>>>>
>>>>>>>>>Why this don't work?
>>>>>>>>>Why i cannot to switch Client to "Basic authentication"?
>>>>>>>>>I not used "Code Generator Wizard".
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>
>>>>>>            
>>>>>>
>>>>        
>>>>
>-----BEGIN PGP SIGNATURE-----
>Version: GnuPG v1.4.1 (GNU/Linux)
>Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>
>iD8DBQFDvLyBYmklbLuW6wYRAgthAJ4orlSYfWvU0WJ3FiMbLNA+J+pJpwCfchzN
>cWjD/Lv+6wY60q23PQEPaqE=
>=m+hx
>-----END PGP SIGNATURE-----
>  
>

Mime
View raw message