PowerBuilder Vertex连接

时间:2012-02-01 20:34:42

标签: connection powerbuilder vertex

我正在尝试使用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)并接收一个大的xml,并返回基于ls_get_url 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

1 个答案:

答案 0 :(得分:0)

有一个随需应变顶点服务。我点击端口80上的... / vertex-ui / vertextcc.jsp地址并获得登录提示。因此,您似乎需要在开始向其推送XML之前发布登录数据。因为我没有帐户,所以看起来更远。我不知道服务器在你登录后会给你什么,但如果它是一个你可以粘贴XML的页面,你可以安装Fiddler并查看Post中的确切内容。 Fiddler还将向您展示Microsoft XMLHTTP发布的内容以及服务器发回的内容。