J2ME 1.4 + BasicAuth

lespaul

Mitglied
Hallo,

ich habe einen Server an dem ich Daten mit meinem Java-Programm übermitteln will.
In dem Bild sieht man eine erfolgreiche Übermittlung mit einem Rest-Client.

Wie kann ich Header+Value mit o.g. Java einstellen?

Vielen dank
Lespaul
 

Anhänge

  • java_basic_auth.JPG
    java_basic_auth.JPG
    35,5 KB · Aufrufe: 29
N

nillehammer

Gast
Wenn Du direkt mit URLConnection arbeitest, kannst Du den Header selbst setzen:
Java:
String userPassword = username + ":" + password; 
String encoded = new sun.misc.BASE64Encoder().encode(userPassword.getBytes()); 
URLConnection uc = url.openConnection(); 
uc.setRequestProperty("Authorization", "Basic " + encoded); // <--- Da baust Du den Header ein
uc.connect();
Falls Du ein Framework à la HttpClient benutzt, schreibe bitte welches. Da wird es auch eine spezifische Methode geben...
 

lespaul

Mitglied
Hallo, ich habe habe versucht einen Header mit folgendem hinzuzufügen:
Java:
putMethod.setRequestHeader( new Header("Authorization", "Basic cdEmb3J0ZXI6301jOut0buE=") );
Der Server antowrtet:
<html>
<head>
<title>Apache Tomcat/6.0.24 - Error report</title>
</head>
<body>
<h1>HTTP Status 401 - UserDetailsService returned null, which is an interface contract violation</h1>
<HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>UserDetailsService returned null, which is an interface contract violation</u></p><p><b>description</b> <u>This request requires HTTP authentication (UserDetailsService returned null, which is an interface contract violation).</u></p>
<HR size="1" noshade= "noshade"><h3>Apache Tomcat/6.0.24</h3>
</body>
</html>

???:L
 
N

nillehammer

Gast
Ok, Du benutzt offensichtlich keine URLConnection, sondern ein Framework. Darum noch mal die Bitte: "Falls Du ein Framework à la HttpClient benutzt, schreibe bitte welches."
 
N

nillehammer

Gast
Code:
putMethod.setRequestHeader
Das kommt so ja nicht aus dem Standard JSE. Da hast Du offensichtlich eine lib eingebunden, deren Funktionen/Klassen du nutzt. Welche ist das?
 

lespaul

Mitglied
Achso, ja die PutMethod zB. ist in org.apache.commons.httpclient.methods.PutMethod

Java:
/*
 * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/java/org/apache/commons/httpclient/methods/PutMethod.java,v 1.26 2004/04/18 23:51:37 jsdever Exp $
 * $Revision: 601 $
 * $Date: 2011-03-07 08:50:21 +0100 (Mo, 07 Mrz 2011) $
 *
 * ====================================================================
 *
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *      [url]http://www.apache.org/licenses/LICENSE-2.0[/url]
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation.  For more
 * information on the Apache Software Foundation, please see
 * <http://www.apache.org/>.
 *
 */

package org.apache.commons.httpclient.methods;

/**
 * Implements the HTTP PUT method.
 * <p>
 * The HTTP PUT method is defined in section 9.6 of 
 * <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
 * <blockquote>
 * The PUT method requests that the enclosed entity be stored under the
 * supplied Request-URI. If the Request-URI refers to an already
 * existing resource, the enclosed entity SHOULD be considered as a
 * modified version of the one residing on the origin server. 
 * </blockquote>
 * </p>
 * 
 * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
 * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
 * @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
 * @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
 *
 * @version $Revision: 601 $
 * @since 1.0
 */
public class PutMethod extends EntityEnclosingMethod {

    // ----------------------------------------------------------- Constructors

    /**
     * No-arg constructor.
     *
     * @since 1.0
     */
    public PutMethod() {
        super();
    }


    /**
     * Constructor specifying a URI.
     *
     * @param uri either an absolute or relative URI
     *
     * @since 1.0
     */
    public PutMethod(String uri) {
        super(uri);
    }

    // --------------------------------------------------------- Public Methods

    /**
     * Return <tt>"PUT"</tt>.
     * @return <tt>"PUT"</tt>
     *
     * @since 2.0
     */
    public String getName() {
        return "PUT";
    }
}
 
Zuletzt bearbeitet:

Neue Themen


Oben