0

PowerBuilder 11.1 を使用して Vertex 税データベースに接続しようとしていますが、次のコードで問題が発生しています。

ls_status_text = loo_xmlhttp.StatusTextのリターン コードは 200 で問題ないので、正しく接続していると思いますll_status_code = loo_xmlhttp.Status

コードから戻り値を取得するとls_response_text = loo_xmlhttp.ResponseText、戻り値は MOTW メッセージです。


次のコードが ls_get_url (頂点に送信される xml を含む) を送信し、ls_get_url xml に基づいて計算された税率で大きな xml を受け取ることを期待しています。私が得ているのは、 ls_status_text = 'OK' および ll_Status_code = 200 (300 を超えるものは問題です) です。

// リクエストを取得する loo_xmlhttp.open ("GET",ls_get_url , false) loo_xmlhttp.send()

//Get response
ls_status_text = ''
ls_status_text = loo_xmlhttp.StatusText
ll_status_code =  loo_xmlhttp.Status

上記のコード ブロックが正常に実行された後、次のコードが実行されます。

    if ll_status_code >= 300 then
        MessageBox("HTTP POST Request Failed", ls_response_text)
    else
        //Get the response we received from the web server
        ls_response_text = loo_xmlhttp.ResponseText

        MessageBox("POST Request Succeeded", ls_response_text)
    end if

「POST Request Succeeded」というメッセージ ボックスが表示されますが、ls_response_text には Mark Of The Web 構文が含まれています。

私に役立つアイデアはありますか?

ありがとう!

String ls_get_url, ls_post_url
String ls_post_variables, ls_response
String ls_response_text, ls_status_text
long   ll_status_code
OleObject loo_xmlhttp

//include parameters on the URL here for get parameters

ls_get_url = 'http://10.1.1.65:8095/vertex-ui/vertextcc.jsp'

try
    //Create an instance of our COM object
    loo_xmlhttp = CREATE oleobject
    loo_xmlhttp.ConnectToNewObject( 'Microsoft.XMLHTTP')

    // Get request
    loo_xmlhttp.open ("GET",ls_get_url , false)
    loo_xmlhttp.send()

    //Get response
    ls_status_text = ''
    ls_status_text = loo_xmlhttp.StatusText
    ll_status_code =  loo_xmlhttp.Status

    //Check HTTP Response code for errors
    if ll_status_code >= 300 then
        MessageBox("HTTP GET Request Failed", ls_response_text)
    else
        //Get the response we received from the web server
        ls_response_text = loo_xmlhttp.ResponseText
        MessageBox("GET Request Succeeded", ls_response_text)
    end if

    ls_post_url = 'http://10.1.1.65:8095/vertex-ui/vertextcc.jsp'
    ls_post_variables = "I add my custom xml here - I can run it in the vertex software and      the xml executes fine"

    loo_xmlhttp.open ("POST",ls_post_url, false)
    loo_xmlhttp.send(ls_post_variables)

    //Get response
    ls_status_text = loo_xmlhttp.StatusText
    ll_status_code =  loo_xmlhttp.Status

    //Check HTTP Response code for errors

    if ll_status_code >= 300 then
        MessageBox("HTTP POST Request Failed", ls_response_text)
    else
        //Get the response we received from the web server
        ls_response_text = loo_xmlhttp.ResponseText

        MessageBox("POST Request Succeeded", ls_response_text)
    end if

    loo_xmlhttp.DisconnectObject()

catch (RuntimeError rte)
    MessageBox("Error", "RuntimeError - " + rte.getMessage())
end try
4

1 に答える 1

0

オンデマンド Vertex サービスがあります。ポート 80 で .../vertex-ui/vertextcc.jsp アドレスにアクセスすると、ログイン プロンプトが表示されました。そのため、XML を押し込む前に、ログイン データを投稿する必要があるようです。アカウントを持っていないので、これ以上見ることができませんでした。ログイン後にサーバーが何を提供するかはわかりませんが、XML を貼り付けることができるページであれば、Fiddlerをインストールして、Post に含まれるものを正確に確認できます。また、Fiddler は、Microsoft XMLHTTP が何を投稿しているか、サーバーが何を送り返しているかを示します。

于 2012-02-02T17:25:14.297 に答える