Also, die Athentifizierung funktioniert nun soweit(siehe unten)
Nur erkennt der Baustein kein "DONE", obwohl im R_BUF.BUFFER "1.1 200 OK" steht(Ausserhalb des Bausteins abgefragt).
Scheinbar ein Problem von BUFFER_SEARCH in Step 30.
Deaktiviere ich die User Authentication, der Fehler 401 tritt auf, dann ermittelt die Suche eine del_pos von 139!
Bitte um Hilfe
(* -------------------------------------------------------------------------*)
text := CONCAT(text,URL_DATA.HEADER);
_STRING_TO_BUFFER(STR:=text,POS:=idx,PT:=S_BUF.BUFFER,SIZE:=UINT#4096); (* HTTP Version in buffer kopieren *)
S_BUF.BUFFER:=_STRING_TO_BUFFER.pt;
idx := idx + LEN(text);
(* -------------------------------------------------------------------------*)
(* Authorization-Header in der Form Benutzername:Passwort Base64-codiert *)
(* -------------------------------------------------------------------------*)
user_pwd := CONCAT(URL_DATA.USER,':');
user_pwd := CONCAT(user_pwd,URL_DATA.PASSWORD);
(* -------------------------------------------------------------------------*)
BASE64_ENCODE_STR_1(RUN:=USER_PWD_ACTIVE,STR1:=user_pwd,STR2:=user_pwd_base64);
user_pwd:=BASE64_ENCODE_STR_1.STR1;
user_pwd_base64:=BASE64_ENCODE_STR_1.STR2;
(* -------------------------------------------------------------------------*)
(* HTTP Authorization in buffer kopieren *)
(* -------------------------------------------------------------------------*)
IF USER_PWD_ACTIVE THEN
text:=CONCAT('Authorization: Basic ', user_pwd_base64);
text := CONCAT(text,delimiter4b);
_STRING_TO_BUFFER(STR:=text,POS:=idx,PT:=S_BUF.BUFFER,SIZE:=UINT#4096);
S_BUF.BUFFER:=_STRING_TO_BUFFER.pt;
idx := idx + LEN(text);
END_IF;
(* -------------------------------------------------------------------------*)
text := CONCAT('Host: ',URL_DATA.DOMAIN);
text := CONCAT(text,delimiter4b); (* workaround für pcworx -> kein $0D$0A als Stringkonstante möglich *)
_STRING_TO_BUFFER(STR:=text,POS:=idx,PT:=S_BUF.BUFFER,SIZE:=UINT#4096); (* HTTP Host in buffer kopieren *)
S_BUF.BUFFER:=_STRING_TO_BUFFER.pt;
idx := idx + LEN(text);
(* -------------------------------------------------------------------------1,221*