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-----

Reply via email to