Skip to Content
author's profile photo Former Member
Former Member

How to use Basis Authentication in Sender SOAP Adapter

We implemented one Sender SOAP Adapter and we had to implement the modified WEB.XML method to remove the security specification. We have now asked the developer to correct this situation so we can remove this modification. The Interface developer would like to use Basic Authentication. If you have an automated interface sending in a SOAP Message, how do you do Basic Authentication?

I've tried using:

http://host:port/XISOAPAdapter/MessageServlet?channel=:<Service>:<Channel>&sap-user=xiappluser&sap-password=<Password>&sap-language=EN&sap-client=<Client>

When I do this, I still get the Authentication Pop-Up Window.

How does the Sending Interface either supply the ID and Password on the incoming SOAP Message or respond to the Authentication Pop-Up?

Thanks,

Anne

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • Posted on Jan 08, 2008 at 05:25 PM

    confirm the user.

    is it XI (xiappluser) or PI (piappluser) u r using?

    also check the pwd.

    Open the whole link in IE and confirm if it goes thru without asking for authentication.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Shabarish V Nair

      By Defualt the web service exposed by you will use Basic Authentication mode only.

      But the way you do Basic Authentication in the web client is platfrom dependent.

      This is not the way to do Basic authentication

      http://host:port/XISOAPAdapter/MessageServlet?channel=:<Service>:<Channel>&sap-user=xiappluser&sap-password=<Password>&sap-language=EN&sap-client=<Client>

      I am providing you a code snippet on how to Basic Authentication in Java when making the Web Service Call.

      If the client is on some other platform just look for the corresponding api.

      Please award points if you find this answer useful.

      Code Snippet

      URL url = new URL(URL);

      URLConnection connection = url.openConnection();

      if( connection instanceof HttpURLConnection )

      ((HttpURLConnection)connection).setRequestMethod("POST");

      //connection.setRequestProperty("Content-Length",Integer.toString(content.length()) );

      connection.setRequestProperty("Content-Type","text/xml");

      connection.setDoOutput(true);

      String password = User + ":" + Password ;

      //Where con is a URLConnection

      connection.setRequestProperty ("Authorization", "Basic " + encode(User + ":"+ Password));

      connection.connect();

      Encode Method

      public static String encode (String source) {

      BASE64Encoder enc = new sun.misc.BASE64Encoder();

      return(enc.encode(source.getBytes()));

      }

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.