per Webservice mit GLS kommunizieren

Diskutiere per Webservice mit GLS kommunizieren im Netzwerkprogrammierung Bereich.
R

Roland1

Hallo

Ich sitze jetzt schon seit Tagen, komme aber leider nicht zurecht.

Hab das bisher in VBA laufen, brauche das aber jetzt in JAVA.

Folgenden Code habe ich, auch die Propertys sind alle aus VBA (dort als "RequestHeader")
Nur die Authorization ist eine andere.

Code:
private void test_webservice_5(){    // immer timeout statt antwort   
        
        String address = "https://api.gls-group.eu/public/v1/shipments";
        try {
            URL url = new URL(address);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setDoOutput(true);
            conn.setRequestMethod("POST");        // POST
            conn.addRequestProperty("Method", "POST");
            conn.setRequestProperty("Content-Type", "application/json");
            conn.addRequestProperty("Authorization", "Basic MDQwMTIzNDU3ODphYmNkMTIz");    // falsche benutzerdaten !!   

            conn.setReadTimeout(10000);
            conn.setConnectTimeout(10000);
            conn.setRequestProperty("Host", "api.gls-group.eu");
            conn.setRequestProperty("Accept-Language", "de");
            conn.setRequestProperty("Accept-Encoding", "gzip,deflate");
            conn.setRequestProperty("Accept", "application/json");
            conn.setRequestProperty("Content-Type", "application/json");
            String input = getBody();
            // austausch:
            
// <======= Hier timeout
            OutputStream os = conn.getOutputStream();   // <======= Hier timeout
// <======= Hier timeout
            os.write(input.getBytes());
            os.flush();
            if (conn.getResponseCode() != 200)
            if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {   
            throw new RuntimeException("Failed : HTTP error code : "
            + conn.getResponseCode());
            }
               String type = conn.getContentType();
                        if (type == null) {
                            return;
            }
            
            
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        
    }
Ich bekomme immer einen Timeout, verwendet jemand die GLS API über Java ???
Wen ich zumindest eine Fehlermeldung von GLS bekommen würde, wüsste ich zumindest, daß mich der hört.

lg Roland
 
mihe7

mihe7

Wenn ich Deinen Code laufen lasse (getBody() durch "XYZ" ersetzt), dann erhalte ich

Code:
Exception in thread "main" java.lang.RuntimeException: Failed : HTTP error code : 401
    at Test.main(Test.java:34)
Dabei handelt es sich um die RuntimeException, die hier geworfen wird:
Java:
            if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {   
            throw new RuntimeException("Failed : HTTP error code : "
            + conn.getResponseCode());
            }
 
R

Roland1

Danke, du hast mir sehr geholfen, wird durch die Firewall unseres Dienstleisters Blockiert.
Wenn ich die umgehe funktioniert der Code.

DANKE !!!!
 
Thema: 

per Webservice mit GLS kommunizieren

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben