メッセージ開始イベント (HTTP)にて、記号文字を含むデータを投入するとエラーになるが、回避方法はありますか。

コメント

3件のコメント

  • Avatar
    Hirotaka NISHI (Questetra Support)

    どのような形式でパラメータ及びパラメータの値を渡しているでしょうか?

    HTTP リクエストのクエリパラメータとして送付している場合、「&」はパラメータを区切るための文字となるためそのまま送付されている場合に、区切り文字として処理されてしまっている可能性が高そうです。

    URL エンコード(パーセントエンコード)された文字列「%26」に置き換えて、送付するようにしてください。

    なお、通常は、個々の文字単位ではなく、セットするパラメータの値をエンコードしたのちにセットするよう対応いただければと思います。

     

    参考)パーセントエンコード
    https://developer.mozilla.org/ja/docs/Glossary/percent-encoding

    0
    コメントアクション パーマリンク
  • Avatar
    yano go

    ご回答ありがとうございます。
    URLエンコードして登録した文字については、受け取り後(Questetra登録後)はエンコード前の文字列が登録される認識でよいのでしょうか。

    例えば「P&G」という文字列を登録する際に「P%26G」とすると、メッセージ開始は通るとして、実際に登録されているデータの中身が「P&G」になっているか(あるいは、「P%26G」になるか)です。

    0
    コメントアクション パーマリンク
  • Avatar
    Hirotaka NISHI (Questetra Support)

    はい、デコードされます(HTTP 通信の仕様に基づいて処理されます)。

    例えば、

    .../start?title=P%26G&key=XXXXYYYYZZZZ

    という形式で送付された場合、プロセスの件名には「P&G」がセットされます。

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。