Domino 9 und frühere Versionen > ND8: Entwicklung
Datenübergabe an Agent alles in Kleinbuchstaben?
(1/1)
schroederk:
Hallo,
ich bin nun auf ein weiteres Problem gestoßen, das mir bisher bei meinen bisherigen Agenten nicht aufgefallen war (da nicht relevant).
Ich rufe über PHP mittels cURL den Agenten auf und übergebe mittels POST (ist aber auch bei GET so) Texte in Groß- und Kleischrift.
Unmittelbar vor dem Aufruf des Agenten lasse ich mir die Daten nochmal anzeigen und da sind die Daten noch unverändert.
Unmittelbar nach dem Start des Agenten lasse ich mir die Daten auch wieder anzeigen und da sind diese schon komplett in Kleischrift.
Weiß jemand woran das liegt und wie ich das verhindern kann?
mezz:
Code irgendwo kopiert ohne ihn zu verstehen? Da müßtest du schon mindestens den Code posten, sonst dir da kaum jemand was zu sagen.
schroederk:
PHP-Code für den Aufruf des Agenten:
--- Zitat ---function save_knowledgebase_entry ($titel,$text) {
global $notesuser, $noteswebpass;
$text = urlencode($text);
$titel = urlencode($titel);
echo "$titel<br>$text<hr>";
$varURL = "https://mailserver/Technik/knowledgebase.nsf/CreateKBEntry?OpenAgent";
$datapost = $titel."&".$text;
$ch = curl_init($varURL);
curl_setopt($ch, CURLOPT_URL, $varURL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $datapost);
curl_setopt($ch, CURLOPT_USERPWD, $notesuser.":".$noteswebpass);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
$erg = curl_exec($ch);
preg_match("#<body[^>]*>(.*?)</body>#si", $erg, $erg_array);
$output = $erg_array[1];
curl_close($ch);
return $output;
}
--- Ende Zitat ---
Und hier der Code vom Agenten:
--- Zitat ---Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim docid As String
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Dim arg As String, p1 As Long
Dim argarray As Variant
Dim counter As Integer
Dim argtitel As String
Dim argtext As String
On Error GoTo ErrHandler
Set doc = s.DocumentContext
Dim qs As String
qs = doc.query_string(0)
If doc.HasItem("Request_Content") Then
qs=qs & "&"
ForAll aContent In doc.Request_Content
qs=qs & aContent
End ForAll
End If
Print "Werte=" & qs & "<br>"
arg = qs
p1 = InStr(arg, "&")
If p1 = 0 Then ' kein Parameter angegeben?
Print "Error 1: keine Parameter übergeben!"
Exit Sub
End If
arg = LCase(Mid$(arg, p1 + 1)) ' alle Parameter aus der URL extrahieren
argarray = Split(arg,"&") ' jeden Parameter trennen und in Array speichern
argtitel = urlDecode(argarray(0))
argtext = urlDecode(argarray(1))
Print "Titel: " & argtitel & " erstellt<br>"
Set db = s.GetDatabase("MAILSERVER/SRV/Group", "Technik\knowledgebase.nsf", False)
If Not db.IsOpen Then Call db.Open("", "")
Set view = db.GetView("All Documents")
Set doc = db.Createdocument()
docid = doc.UniversalID
doc.Subject = "TEST - " & argtitel
doc.Body = argtext
doc.ApptUNID = docid
Call doc.Save( True, True )
ErrResume:
Exit Sub
ErrHandler:
Print "** CreateKBEntry ** Error occured " & Str(Err) & ": " & Error$ & " in line " & Str(Erl) & ". Agent stopped."
Resume ErrResume
End Sub
Public Function urlDecode(s As String) As String
If Len(s) = 0 Then Exit Function
Dim i As Integer
Dim tmp As String
Dim c As String
For i = 1 To Len(s)
c = Mid$(s, i, 1)
If c = "+" Then c = " "
If c = "%" Then
c = Chr$("&H" + Mid$(s, i + 1, 2))
i = i + 2
End If
tmp = tmp + c
Next i
urlDecode = tmp
End Function
--- Ende Zitat ---
koehlerbv:
Hier wird doch gaaaaaaaaaaaaaaanz laut nach Kleinbuchstaben geschrieen:
--- Code: ---arg = LCase(Mid$(arg, p1 + 1)) ' alle Parameter aus der URL extrahieren
--- Ende Code ---
Bernhard
schroederk:
OMG :o Ich bin echt blind.... und ich hätte einiges verwettet, dass ich die Ausgabe auch schon vorher gesetzt hatte und alles klein gewesen wäre.
Schande über mich. :-[
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln