2009-06-16 6 views
1

Ich erstelle einen Unterdialog, den ein anderer Hersteller aufruft. Ich habe Probleme beim Lesen der Werte, die von diesem Anbieter in meinen Unterdialog übernommen wurden. Ich kann die übergebenen Parameter lesen, wenn ich den Subdialog selbst von einem anderen vxml-Browser aus anrufe, daher denke ich, dass der andere Anbieter sie falsch übergibt. Allerdings konnte ich in der w3c-Spezifikation keine Details darüber finden, wie diese Daten tatsächlich übergeben werden. Wenn IIS meine Seite vom verwendeten Sprachbrowser aus sendet, sehe ich die Parameter nicht als Teil der Abfragezeichenfolge. Wenn jedoch der Browser für diesen anderen Hersteller meinen Unterdialog anfordert, sehe ich die Parameter in der Abfragezeichenfolge und die Werte werden nicht in den entsprechenden angezeigt. Dies führt zu der Annahme, dass die Variablen falsch übergeben werden. Gibt es irgendwo, wo ich Details darüber erfahren kann, wie dieser Prozess funktionieren soll? Wie kann ich bestätigen, dass diese Werte nicht tatsächlich übergeben werden? Vielen Dank!Übergeben von Unterdialogparametern in VXML

Antwort

1

Das Subdialog-Element kann für den Übergang zu Formularen innerhalb desselben Dokuments oder eines externen Dokuments verwendet werden. Da Sie angeben, dass Sie mit einer dritten Partei arbeiten, gehe ich davon aus, dass der Unterdialog ein externes Formular in Ihrem Dokument ist.

Der Subdialog übergibt Argumente über die HTTP-Anfrage. Wenn das Methodenattribut des Unterdialogs GET oder nicht gesetzt ist, werden sie Argumente auf der URL sein. Wenn es Post ist, werden sie in die Anfrage eingebettet. Wenn Sie ein Standard-Servlet/jsp erstellen, sollten Sie in der Lage sein, diese Argumente wie in jeder Webanwendung zu verwenden.

Wie Sie wahrscheinlich bemerkt haben, ist die VoiceXML-Spezifikation in vielen Details schwach. Ein besonderes Problem besteht darin, wie komplexe Objekte (ECMAScript-Objekte) übergeben werden. Einige Browser werden sie nicht weitergeben, einige konvertieren in Textargumente wie x.y.z = 42 und einige konvertieren in eine JSON-Zeichenkette. Ich empfehle, bei der Weitergabe primitiver Variablen zu bleiben.

Zum Thema der Übergabe von Objekten können Sie verschiedene Verhaltensweisen in einem Browser finden, wenn Sie innerhalb des Dokuments den Übergang zu einem anderen Dokument durchführen.

Einige schnelle Kontrolle:

  • Prüfen Sie, ob der Anbieter eine Beispielanwendung hat, die das Argument
  • Überprüfen vorbei zeigt, dass Sie einen Browser verwenden, der Verkäufer verwendet hat ihre Anwendung zu validieren.
Verwandte Themen