cURL liefert nur 400 zurück, keine aktualisierung möglich

Fragen zum LANCOM Wireless ePaper

Moderator: Lancom-Systems Moderatoren

Antworten
Mazzen
Beiträge: 2
Registriert: 29 Apr 2019, 09:50

cURL liefert nur 400 zurück, keine aktualisierung möglich

Beitrag von Mazzen »

Hallo zusammen,
wir versuchen über cURL und XML das Display zu beschreiben. Dazu benutzen wir die Dateien aus dem Beispiel im Handbuch. However liefert der cURL Befehl immer nur 400 zurück und nix passiert auf dem Display. Ich habe die XML und XSL extra schon heftig eingedampft... :cry:

XML

Code: Alles auswählen

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
 <TaskOrder title="Refresh D31804AB for Aachen"> 
 <TemplateTask labelId="D31804AB" externalId="4711" template="test.xsl"> 
  <room roomName="Aachen">  
   <field key="chair2" value="Karin Klein"/> 
  </room> 
 </TemplateTask> 
 </TaskOrder>
XSL

Code: Alles auswählen

 <?xml version="1.0" encoding="UTF-8"?>
 <!Das Template ist für 7,4' Displays vorgesehen, die in horizontaler Ausrichtung angebracht sind.--> 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
 
 <xsl:template match="Record"> 
 
  <!-- Render-Informationen für 7,4' Displays --> 
  <image height="480" width="800" rotation="90" font-family="Verdana"> 
 
  </image> 
 </xsl:template> 
 </xsl:stylesheet>
curl -v POST -d @test.xml http://10.10.128.55:8001/service/task --header "Content-Type:application/xml"

Code: Alles auswählen

* Rebuilt URL to: POST/
* Could not resolve host: POST
* Closing connection 0
curl: (6) Could not resolve host: POST
*   Trying 10.10.128.55...
* TCP_NODELAY set
* Connected to 10.10.128.55 (10.10.128.55) port 8001 (#1)
> POST /service/task HTTP/1.1
> Host: 10.10.128.55:8001
> User-Agent: curl/7.58.0
> Accept: */*
> Content-Type:application/xml
> Content-Length: 292
>
* upload completely sent off: 292 out of 292 bytes
< HTTP/1.1 400 Bad Request
< Date: Tue, 30 Apr 2019 07:45:43 GMT
< Connection: close
< Content-Length: 0
<
* Closing connection 1
den curl Befehl schicke ich von einer Ubuntu Maschine an den ePaper Server. die test.xls und xml liegt sowohl lokal auf dem client und auf dem Server in \data, da ich mir nixht sicher bin wo die Dateien hin gehören. Ich bin nun etwas Ratlos woran es liegen kann das es nicht funktioniert.

:G)
LHWE
Beiträge: 6
Registriert: 26 Jul 2005, 09:45

Re: cURL liefert nur 400 zurück, keine aktualisierung möglich

Beitrag von LHWE »

Hallo,

dein curl Befehl ist nicht ganz richtig.
Du hast geschrieben:
curl -v POST -d @test.xml http://10.10.128.55:8001/service/task --header "Content-Type:application/xml"
Der muss wie folgt aussehen:

Code: Alles auswählen

curl -v -X POST -d @test.xml http://10.10.128.55:8001/service/task --header "Content-Type:application/xml"
In der Ausgabe des curl Kommandos ist zu sehen, dass curl das POST versucht als Host zu interpretieren.

Gruß
Mazzen
Beiträge: 2
Registriert: 29 Apr 2019, 09:50

Re: cURL liefert nur 400 zurück, keine aktualisierung möglich

Beitrag von Mazzen »

Hi,
das stimmt so nicht ganz. Du hast ja nur ein -X dazu gemacht. Das ist Doppelt gemoppelt, denn ich benutze nur ein -v für Verbose. Das Ändert aber grundsätzlich nichts an dem curl, oder sehe ich das Falsch? Hab die Abfrage gerade so wie du Sie gemacht hast abgefeutert und es bestätigt nur:

Code: Alles auswählen

Note: Unnecessary use of -X or --request, POST is already inferred.
HWild
Beiträge: 2
Registriert: 14 Jan 2020, 13:31

Re: cURL liefert nur 400 zurück, keine aktualisierung möglich

Beitrag von HWild »

Gibt es dazu schon eine Lösung?
Bei mir sieht das genau so aus und es passiert 0.

C:\Users\>curl -v -X POST -d @test.xml http://epaper-server:8001/service/task --header "Content-Type:application/xml"
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 10.100.204.245...
* TCP_NODELAY set
* Connected to epaper-server (10.100.204.245) port 8001 (#0)
> POST /service/task HTTP/1.1
> Host: epaper-server:8001
> User-Agent: curl/7.55.1
> Accept: */*
> Content-Type:application/xml
> Content-Length: 559
>
* upload completely sent off: 559 out of 559 bytes
< HTTP/1.1 400 Bad Request
< Date: Tue, 14 Jan 2020 12:04:55 GMT
< Connection: close
< Content-Length: 0
<
* Closing connection 0

C:\Users\>
HWild
Beiträge: 2
Registriert: 14 Jan 2020, 13:31

Re: cURL liefert nur 400 zurück, keine aktualisierung möglich

Beitrag von HWild »

Bei Start des Server bekomme ich aber auch noch ein paar Warnungen, ist das bei euch auch so?

[INFO 2020-01-14 13:33:46,345 at.mrdevelopment.esl.server.Server]: Starting SES-imagotag Core Service, Version 1.10.1, Build 9441
[INFO 2020-01-14 13:33:46,345 at.mrdevelopment.esl.server.Server]: Command line arguments: []
[INFO 2020-01-14 13:33:46,345 at.mrdevelopment.esl.server.Server]: Service integration level: 1
[INFO 2020-01-14 13:33:46,360 at.mrdevelopment.toolkit.SystemInfo]: ActiveThreads=19
[INFO 2020-01-14 13:33:46,376 at.mrdevelopment.toolkit.SystemInfo]: AvailableProcessors=2
[INFO 2020-01-14 13:33:46,376 at.mrdevelopment.toolkit.SystemInfo]: Classpath=server.jar
[INFO 2020-01-14 13:33:46,391 at.mrdevelopment.toolkit.SystemInfo]: Cwd=C:\Program Files (x86)\LANCOM\WePD-Server\.
[INFO 2020-01-14 13:33:46,391 at.mrdevelopment.toolkit.SystemInfo]: DefaultEncoding=windows-1252
[INFO 2020-01-14 13:33:46,391 at.mrdevelopment.toolkit.SystemInfo]: FreeMemory=27 MB
[INFO 2020-01-14 13:33:46,391 at.mrdevelopment.toolkit.SystemInfo]: JavaHome=C:\Program Files\Java\jre1.8.0_231
[INFO 2020-01-14 13:33:46,407 at.mrdevelopment.toolkit.SystemInfo]: JavaRuntimeName=Java(TM) SE Runtime Environment
[INFO 2020-01-14 13:33:46,407 at.mrdevelopment.toolkit.SystemInfo]: JavaRuntimeVersion=1.8.0_231-b11
[INFO 2020-01-14 13:33:46,423 at.mrdevelopment.toolkit.SystemInfo]: JavaVmName=Java HotSpot(TM) 64-Bit Server VM
[INFO 2020-01-14 13:33:46,423 at.mrdevelopment.toolkit.SystemInfo]: MaxMemory=1007 MB
[INFO 2020-01-14 13:33:46,423 at.mrdevelopment.toolkit.SystemInfo]: OsArch=AMD64
[INFO 2020-01-14 13:33:46,423 at.mrdevelopment.toolkit.SystemInfo]: OsName=Windows 10
[INFO 2020-01-14 13:33:46,423 at.mrdevelopment.toolkit.SystemInfo]: OsVersion=10.0
[INFO 2020-01-14 13:33:46,423 at.mrdevelopment.toolkit.SystemInfo]: PreferIPv4Stack=false
[INFO 2020-01-14 13:33:46,423 at.mrdevelopment.toolkit.SystemInfo]: TotalMemory=61 MB
[INFO 2020-01-14 13:33:46,423 at.mrdevelopment.toolkit.SystemInfo]: Uptime=10 seconds
[INFO 2020-01-14 13:33:46,423 at.mrdevelopment.toolkit.SystemInfo]: UsedMemory=103 MB
[INFO 2020-01-14 13:33:46,673 at.mrdevelopment.esl.custom.impl.Level1Implementation]: Import of fixtures is disabled by configuration
[INFO 2020-01-14 13:33:46,673 at.mrdevelopment.esl.custom.impl.Level1Implementation]: Not starting HTTP server on port 8000 because it is not used by any plugin
[WARN 2020-01-14 13:33:48,048 at.mrdevelopment.esl.accesspoint.AccessPoint]: Failed to read default transmitter firmware image file
[INFO 2020-01-14 13:33:49,110 com.imagotag.esl.license.LicenseManagement]: Generated LANCOM system serial is 5135006133531116
[WARN 2020-01-14 13:33:49,657 at.mrdevelopment.esl.accesspoint.AccessPoint]: Failed to read default transmitter firmware image file
backslash
Moderator
Moderator
Beiträge: 7010
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: cURL liefert nur 400 zurück, keine aktualisierung möglich

Beitrag von backslash »

Hi HWild

laut der curl man page mußt du zum hochladen einer Datei entweder

curl --data-binary @filename URL

oder

curl --upload-file filename URL

oder

curl -T filename URL

vewenden, aber auf keinen Fall

curl -d @filename URL

Gruß
Backslash
Antworten