Authenticate with ntlm (or kerberos) using java UrlConnection

I need to consume a rest web service with java, passing the credentials of a domain user account.
right now I'm doing it with classic asp
set xmlHttp = server.createObject( "msxml2.serverxmlhttp" )
xmlHttp.open method, url, false, domain & "\" & user, password
xmlHttp.send body
out = xmlHttp.responseText
set xmlHttp = nothingand with asp.net
HttpWebRequest request = (HttpWebRequest) WebRequest.Create( url );
request.Credentials = new NetworkCredential(user, password, domain);
request.Method = WebRequestMethods.Http.Get
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader outStream = new StreamReader( response.GetResponseStream(), Encoding.UTF8) ;
output = outStream.ReadToEnd();how can I achieve this with java (running on windows, by the way)? Take into account that I'm not using the credentials of the currently logged user, I'm specifing the domain account (I have the password)
please tell me it's as easy as with classic asp and asp.net....

thanks a lot for your reply...
the web service supports kerberos, it's just a classic asp page working on IIS6 with integrated security, If I use IE to browse some page, with fiddler I can see the kerberos token going with the http request...
so I'll try no make it work with kerberos... do you know any tutorial that can easy my way??? I guess what I'm trying to do should be pretty standard stuff...
thanks a lot...

Similar Messages

  • Having trouble with creation of a cloud service with multiple virtual machines using java sdk.

    I am creating a cloud service on azure with 2 virtual machines using java sdk API. Service created successfully.
    My input endpoint details are as follows.
    INPUT ENDPOINTS
    Head : 191.238.144.47:2400
    Head : 191.238.144.47:22
    Node0 : 191.238.144.47:43211
    For Head instance port 2400 is for HTTPS and port 22 is for SSH and for Node0 instance port 43211 is for SSH.
    But I am having problem with doing a ssh on Head instance. Sometimes it works sometimes doesn't. Same problem with HTTPS also.
    I have some application running over there but when i try to access it thru browser sometimes it works but most of the time doesn't. When I restart the instances from azure portal, its works after
    that(not always but most of the time). 
    Now I am confused what is going on there. I am creating cloud service and virtual machines using java sdk and setting input endpoints also. After creation of all instances i restart every instance programmatically .
    I am not sure whether restart is required or not. It must be something to do with input endpoints only but not able to get the right thing i guess. When i do the same thing thru azure portal(creation of cloud service with virtual machines and setting up input
    end points) everything works fine but not achieving the result when implementing it by java sdk API. Please help me.

    HI Nithin,
    Thanks for your reply. I am setting the endpoints after creating my instances using update call. Here's the code snippet.
    AzureService aServ = new AzureService(session);
     if(aServ.checkNameAvailability(clusterName)) {
               aServ.createHostedService(clusterName, "dbX cluster");         
             // Creating head instance
             aServ.createHead(clusterName, imgName, headType, userName, pswd);  
            // Setting end points for head node
             String name = "ssh";
             int port = 22;
             aServ.updateVMInputEndpoint(clusterName, "Head", name, port);
             // Restarting head instance
             aServ.restartVM(clusterName, "Head");
           String roleName = "Node";
           String tmpRoleName = "";
           for(int i=0; i<noi; i++) {
                      port = 43210+(i+1);
                      tmpRoleName = roleName + i;
                   // Creating node instance
                    aServ.createVM(clusterName, tmpRoleName, imgName, nodeType, userName, pswd);
                  // Setting end points for node instance
                   aServ.updateVMInputEndpoint(clusterName, tmpRoleName, name, port);
                  // Restarting node instance
                 aServ.restartVM(clusterName, tmpRoleName);
          // Method to update the input endpoint details 
          public void updateVMInputEndpoint(String clusterName, String vmName, String name, int port)
            throws Exception {
                    VirtualMachineGetResponse resp = computeManagementClient.getVirtualMachinesOperations().
                                                            get(clusterName, clusterName, vmName);
                    VirtualMachineUpdateParameters updateParameters = new VirtualMachineUpdateParameters();
                    //get the configuration list
                    ArrayList<ConfigurationSet> configlist = resp.getConfigurationSets();
                    //get inputendpoint list and update it
                    ArrayList<InputEndpoint> endpointlist = configlist.get(0).getInputEndpoints();
                    InputEndpoint inputEndpoint = new InputEndpoint();
                    inputEndpoint.setEnableDirectServerReturn(false);
                    inputEndpoint.setPort(port);
                    inputEndpoint.setLocalPort(port);
                    inputEndpoint.setName(name);
                    inputEndpoint.setProtocol(InputEndpointTransportProtocol.TCP);
                    endpointlist.add(inputEndpoint);
                    // Open port for https on head node
                    if(vmName.equals("Head")) {
                            inputEndpoint = new InputEndpoint();
                            inputEndpoint.setEnableDirectServerReturn(false);
                            inputEndpoint.setPort(2400);
                            inputEndpoint.setLocalPort(2400);
                            inputEndpoint.setName("https");
                            inputEndpoint.setProtocol(InputEndpointTransportProtocol.TCP);
                            endpointlist.add(inputEndpoint);
                    updateParameters.setConfigurationSets(configlist);
                    //required for update
                    OSVirtualHardDisk osVirtualHardDisk = resp.getOSVirtualHardDisk();
                    updateParameters.setOSVirtualHardDisk(osVirtualHardDisk);
                    updateParameters.setRoleName(resp.getRoleName());
                    OperationResponse updtResp = computeManagementClient.getVirtualMachinesOperations().update(clusterName, clusterName, resp.getRoleName(), updateParameters);
    And every time i am creating a new cloud service along with head and node instances. Region is "South Central US".
    I am setting ProvisionGuestAgent field to true at instance creation time. Thank you.

  • Complete code to send an attachment with a text message using java mailapi

    complete code to send an attachment with a text message using java mailapi
    code should be free from error

    http://java.sun.com/products/javamail/FAQ.html#examples
    Was this code too hard to find?
    Was the FAQ too hard to find?

  • How to interact with google search engine using java HTTP POST

    I am trying to develop an desktop app that acts as an online radio tuner. I want to use google as an index site for actually searching for radio stations online. So I was wandering if it is possible for me to use java to actually interface with the google search engine servers. For example, I have built a gui that allows you to enter search text. This gui will connect to the web. I would like it to connect to the Google site and post the query to the google web servers. Then i would like to began to parse the response( html page) that i get back from the google servers. Like using google without actually typing in the text field on the google site. Can anyone tell me if it is possible to do this with java. If so, what would be the best way to go about doing this. Thanks.

    Thanks for the response. It was actually alot easier to do than I anticipated. All I had to do was create a URL object initialized with the google url(search text embedded in the url - http://www.google.com/search?q=" + searchText + "&hl=en&ie=UTF-8&oe=UTF8).
    Looks like this:
    String google = http://www.google.com/search?q=" + searchText + "&hl=en&ie=UTF-8&oe=UTF8;
    URL url = new URL(google);  // creating Google Url object
    URLConnection connection = url.openConnection();
           connection.setDoOutput(true);
           connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" );  // fooling google servers into thinking the request is coming from a real browser
           BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));The content returned by the google server can be accessed calling the BufferedReader class methods.

  • Possible deadlocks with in-memory database using Java

    I've written a completely in-memory database using the Java API on BDB 4.6 and 4.7 for Windows and Linux (x86). The completely in-memory database means the database content and logs are entirely in-memory and the overflow pages will not be written to a disk file.
    The database environment and the database are configured to be transactional. All database access methods are specified to be auto-commit by setting the transaction argument to null. The environment is configured to be multi-threaded (which is the default when using the Java API).
    When run with a single-threaded client, the application works correctly on both Windows and Linux for BDB 4.6 and 4.7.
    When run with a multi-thread client that uses two thread for the database access, I run into a deadlock inside the call to the Database.delete method about half the time.
    I am assuming that in the "auto-commit" mode, a deadlock should not be possible.
    Any reported problems with using Java with in-memory database?
    Thanks.
    Hisur

    Hi Hisur,
    If you are using transactions and multiple threads, you will have to deal with deadlock. In this particular case, it's likely that a delete is causing two btree pages to be merged (called a "reverse split"). Auto-commit makes no difference in this case -- the application must retry the operation.
    Regards,
    Michael Cahill, Oracle.

  • LightweightDispatcher issue with Applets in Browser using Java 7, not 6

    Spent the last year at work setting up some GUI JApplets for demos our of code. The JApplets house a number of layers of JPanels and JComponents, but should have no heavyweight components as children. I've set up standalone applications that run one of the JApplets as a child of a JFrame, and those demos have no trouble. When I run the same demo but as a JApplet in a browser, I get errors. Please note that the demo is a JApplet but written like the demo that uses a JFrame, so the JApplet causing an issue is a child of the JApplet the browser knows about.
    The issue is seen when the user mouses-over the child JApplet. The listener of the component being moused-over is trying to send an event that the LightweightDispatcher is erroring trying to retarget. It does not seem to find the component that should be receiving the event. For reference, the JApplet implements the mouse-listener interface and is set as the mouse-listener for all its children recursively. Here is the error that is seen:
    Exception in thread "AWT-EventQueue-2" java.lang.AssertionError
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.trackMouseEnterExit(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
         at java.awt.EventQueue.access$000(Unknown Source)
         at java.awt.EventQueue$3.run(Unknown Source)
         at java.awt.EventQueue$3.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
         at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
         at java.awt.EventQueue$4.run(Unknown Source)
         at java.awt.EventQueue$4.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    and it repeats that for every mouse event that tries to fire within the child JApplet.
    Any thoughts on what this could be?
    I had a similar issue with key strokes not finding the focused JComponent within the child JApplet, but I made my own KeyboardEventManager to handle that issue. Unfortunately there are no paths like that to override for the mouse listeners, not to mention that there is no focused object for the events erroring.
    I do see that when I stop adding the mouse-listeners then the error does not appear, so I'm sure its related to that.
    I suppose the most important note here though is that the JApplets were built using Java 6, but the error is seen when running the JApplet with the 1.7 JRE. Also, the JApplet is opened using a JNLP. When the JNLP is set to run at 1.6+ the demo runs fine, when set to 1.7+, the error is seen.
    Please let me know if anyone has seen this or has a solution, or if I should report this as a bug to Oracle.

    This shouldn't be the case. You did make sure you are pointing the applet at the plug in correct? That means you are using an <object> tag as opposed to the <applet> tag in the HTML file?
    If not, run your HTML page through the HtmlConverter that comes with the plugin and try using the resulting HTML.
    Bryan

  • Problem with CORBA application deployed using Java Web Start 1_6_0.

    Java Web Start fans and experts:
    We have been using Java Web Start to deploy the client side of a CORBA-based application since the inception of Java Web Start ... including Java Web Start 1.0 right up through the present.
    With Java Web Start 1_6_0, we see evidence that Web Start is "tinkering with" the IOR that CORBA uses to communicate. In all previous versions of Java Web Start, independent of the JRE which the application uses, the stringified IOR have been the same size regardless of whether the application is deployed locally or via Java Web Start. With Java Web Start 1_6_0, the stringified IOR is much longer than the "real" IOR (again, regardless of the JRE used by the application itself). To me this smells like a bug in Java Web Start 1_6_0. Has anyone else observed this behavior?
    Here are some specifics .... I've run the same client application with various JREs both with and without Java Web Start as the deployment mechanism. The application was compiled and runs against servers that are running JDK 1_5_0_09.
    Here is the summary of my results from a Linux box running various JREs, various versions of Java Web Start, and also running as a non-JWS deployed application. I've listed the length of the stringified IOR in each case.
    JRE 1.5.0 non-JWS client: stringified IOR length = 344
    JRE 1.6.0 non-JWS client: stringified IOR length = 344 ... this, I think, excludes the JRE as the cause of these problems.
    Java WS 1.5.0, JRE 1.5.0 JWS client: stringified IOR length = 344
    Java WS 1.5.0, JRE 1.6.0 JWS client: stringified IOR length = 344
    Java WS 1.6.0, JRE 1.6.0 JWS client: stringified IOR length = 1568
    Java WS 1.6.0, JRE 1.5.0 JWS cleint: stringified IOR length = 1568
    In all cases, the stringified IOR length is determined by the service receiving the message and is always running JRE 1_5_9_09 and is
    always the same 344 characters in length UNLESS it was deployed
    using Java Web Start 1_6_0, in which case it in nearly 5 times as big!
    To me, it sure looks as if there is a problem with Java Web Start 1_6_0 to be adding so much to the stringified IOR. Note: it's hard to tell how different the underlying IOR is in the JWS 1_6_0 case because, unlike most other ORBs, the Sun ORB doesn't have a tool to extract the IOR into a human readable structure. However, I can think of no good reason why the identical application deployed using Java Web Start 1_6_0 should have a stringified IOR length that is different than that of the same application deployed in non-JWS form or should differ from the behavior seen in all previous releases of Java Web Start.
    Any clues or suggestions? Has anyone else observed this behavior?
    Thanks,
    John

    Hi.
    I got a different problem. My Corba application works in JRE 1.6, but doesn't works in JRE 1.5.X. I got an unexpected error and my console shows:
    getSubjectX500Principal NoSuchMethodError: java.lang NoSuchMethodError
    #### Java Web Start Error:
    #### null
    Can you help me?

  • How can I authenticate to a XI server using java via SOAP (SAAJ)

    Hi everybody!
    I need to connect (SOAP) to a XI server using JAVA
    I'm using SAAJ api.The problem is XI server need authentication but I can't found the way to do it! this is a part of code
    SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance();
    SOAPConnection connection = soapConnFactory.createConnection();
    URL destination = new URL("https://host:port");
    SOAPMessage reply = connection.call(message, destination);
    (message is the XML code)
    but the application has the following error:
    com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection post
    GRAVE: SAAJ0009: Fallo en el envío del mensaje
    I think, maybe is a authentication problem, because the XI server needs it. But I don't have idea how can I send the user and pass
    Any IDea???? please
    the libraries are ok imported, I use netweaver to develop-
    thanks in advantage

    hi Leslie,
    there are only a few of these errors,
    you can try this:
    http://www.oxygenxml.com/forum/ftopic1103.html&sid=0abee8c719481a3dd783ff7d5cd84105
    are you sure your URL is accessible from your location?
    you may also check:
    http://www.google.pl/search?hl=pl&q=HttpSOAPConnectionpostSAAJ0009%3A&lr=
    Regards,
    michal

  • How to extract email with attachments from outlook using java

    anybody please suggest a solution to the above problem. the program needs to store the attachments from the mails of outlook automatically into the hard disk

    anybody please suggest a solution to the above
    problem. the program needs to store the attachments
    from the mails of outlook automatically into the hard
    diskBest done by not using Java but anything from C++ to VB and reading the Outlook API.

  • Problem with expected formats when using Java

    Hi All,
    I am having an issue with some java code trying to run an insert or update function in a custom java app. The issue is appearing when I am using custom objects 1 and 3.
    I have created the java classes in Axis without any problems.
    In custom object 1:
    crmondemand.ws.tag.CustomObject1WS_CustomObject1InsertOrUpdate_Input tagList = new crmondemand.ws.tag.CustomObject1WS_CustomObject1InsertOrUpdate_Input();
    vLines = 20
    crmondemand.xml.tag.CustomObject1[] atag = new crmondemand.xml.tag.CustomObject1[vLines];
    for (int r=1; r < vLines; r++) {
    crmondemand.xml.tag.CustomObject1 vtag = new crmondemand.xml.tag.CustomObject1();
    vtag.setExternalSystemId(data[CurrentRow][0]); //tagId atag[r] = vtag;
    CurrentRow = CurrentRow+1;
    tagList.setListOfCustomObject1(atag);
    This works fine.
    In Custom Object 3:
    crmondemand.ws.service.CustomObject3WS_CustomObject3InsertOrUpdate_Input serviceList = new crmondemand.ws.service.CustomObject3WS_CustomObject3InsertOrUpdate_Input();
    vLines = 20
    crmondemand.xml.service.CustomObject3[] aservice = new crmondemand.xml.service.CustomObject3[vLines];
    for (int r=1; r < vLines; r++) {
    crmondemand.xml.service.CustomObject3 vservice = new crmondemand.xml.service.CustomObject3();
    vservice.setExternalSystemId(data[CurrentRow][0]); //serviceEUId aservice[r] = vservice;
    CurrentRow = CurrentRow+1;
    serviceList.setListOfCustomObject3(aservice);
    Does not work and gives me the following error:
    method setListOfCustomObject3 in class crmondemand.ws.service.CustomObject3WS_CustomObject3InsertOrUpdate_Input cannot be applied to given types;
    required: crmondemand.ws.service.CustomObject3[]
    found: crmondemand.xml.service.CustomObject3[]
    reason: actual argument crmondemand.xml.service.CustomObject3[] cannot be converted to crmondemand.ws.service.CustomObject3[] by method invocation conversion
    Any ideas?
    The code for both objects is identical apart from the names of the objects.
    Thanks in advance
    Mark.

    Hi, this is a naming issue on co3 if you use axis, co3 has somehow a upper letter where co1 and co2 does not, check for the inconsistency and change it accordingly should work.

  • Problem with too small page size using Java 2D Printing API.

    Hello,
    I have problem with resolution of printer using Java 2D Printing API. Despite my printer has 600 x 600 DPI, inside java.awt.print.Printable.print(Graphics, PageFormat, int) I receive page format with 600 x 840 page size.
    I have tried to set resolution using javax.print.attribute.PrintRequestAttributeSetand javax.print.attribute.standard.PrinterResolution, but with no result.
    Can anybody solve this problem?
    Regards,
    Karl.

    600 x 840 is a Point value; Point is defined as 1/72nd of an inch. Printers do have much higher DPI than this, but I believe that this DPI has to do with richness of the printed image, not an actual ability to color with that level of resolution. You might want to try calling zoom on your Graphics2D object. Otherwise, I don't know what else you can try.

  • How to send Secured Mail using Java Mail?

    I want to send mails with "Send Secure" option using Java Mail. Now mails are being sent using Java Mail connecting to smtp host.
    Appreciating your help.
    Thanks.

    There are third party libraries to help with this. Bouncy Castle is very popular.
    See the [JavaMail Third Party Products|http://java.sun.com/products/javamail/Third_Party.html] page.

  • Using Java Access bridge (Accessibility) with oracle forms 6.0 client

    I'm trying to use JAB (java Access bridge ) to capture events in oracle forms 6.0 client .
    I've a Jinitiator 1.1.8 and JRE version 1.4x
    I've configured JAB as per the installation guide . However the events don't surface in Java Monkey .
    Has anybody encountered similar issue ? what is the solution for the issue ??
    Also on one of the forums I read Jinitiator 1.3x and above is automatically recognised by Java Access bridge .
    For jinitiator version less than 1.3 manual configuration is required . however I haven;'t been able to find any on the oracle forms KB
    Also here is the excerpt from the link http://www.oracle.com/us/corporate/accessibility/faqs/index.html
    Q: Are there special steps for using Java-based applications with assistive technology?
    A: If the Oracle application is written in Java, such as JDeveloper or Oracle Forms (runtime), customers must first install the latest version of Sun's Java Access Bridge. The Java Access Bridge provides the integration with screen readers such as JAWS or SuperNova that support Java. You just download the Access Bridge and install it. Sun's AccessBridge 2.0x recognizes Oracle's JInitiator 1.3x and above so no manual configuration steps are necessary. The Access Bridge is available from: http://java.sun.com/products/accessbridge. At the time this document was written, Access Bridge 2.0.1 is the most current publicly available production release; Oracle recommends upgrading to this version. Sun's AccessBridge is bundled with Oracle Universal Installer (OUI) and can be found in the Java Runtime Engine (JRE). More information for configuring such products is in the respective product documentation, or on http://www.oracle.com/us/corporate/accessibility/products/index.html.
    Edited by: 974810 on 4 Dec, 2012 1:10 AM

    ODP.NET requires Oracle Client 9.2 or higher.
    You can find additional information about ODP.NET from the FAQ:
    http://www.oracle.com/technology/tech/windows/odpnet/faq.html
    and the ODP.NET homepage:
    http://www.oracle.com/technology/tech/windows/odpnet/index.html
    Hope that helps,
    Mark

  • How to include Logs/log4j in SOA with out using java embedding activity

    Hi,
    I have a requirement where I need to log the values of a particular variable and need to store it in a new log file. Is there any way to log the details with out using java embedding activity.
    Thanks,

    You can try this.
    http://veejai24.blogspot.co.uk/2008/04/simple-way-to-implement-log4j-in-your.html
    Thanks,
    Vijay

  • How to do Front End Validation for JSP Forms using Java Script with 9iJD...

    How to do Front End validation using 9iJD. Any wizard is there. We need to do the val. using Java Script. If its not available, please include that in the Production Release.

    Thanks a lot. When is the Production Release is scheduled. Please tell us whether itll be available for Free Download. Bec, we couldnt buy. Bec, if its working fine with all the options without any bug only, we can ask our company to buy 9iJD by stating the advantages. Just explain us.

Maybe you are looking for

  • External hard drive does not work

    I bought an external USB hard drive. At first, it worked. I could see an icon on my desktop and could load some stuff onto it. Then I unplugged it (probably the wrong way, I just unplugged it) and when I replugged it, I could not see the icon anymore

  • Can I import photos from iPhoto to my iPad?

    Just a quick question, would it be possible to download photos and videos especially, from iPhoto to my iPad? I have a few videos that I would like to keep on my iPad, but are too big to send via email. Thanks

  • Upload Email in to Sharepoint Site

    hi can we do Email upload  in sharepoint site?.. if yes,pls guide me to upload.. Thanks arWINdh

  • Live cache database growth

    Dear all, How can be we get the database growth of livecache database for a period of time? Please guide me the path to find these values. Thanks n Regards, KK

  • Probleme validation numéros de série

    Mon systeme me demande de me connecter à Internet pour valider mon numéro de série. Je suis connecté, Adob est ouvert mais le systeme persiste à me demander de me connecter à Internet