我正在尝试使用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
你有什么想法可以帮助我吗?
谢谢!
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
答案 0 :(得分:0)
有一个随需应变顶点服务。我点击端口80上的... / vertex-ui / vertextcc.jsp地址并获得登录提示。因此,您似乎需要在开始向其推送XML之前发布登录数据。因为我没有帐户,所以看起来更远。我不知道服务器在你登录后会给你什么,但如果它是一个你可以粘贴XML的页面,你可以安装Fiddler并查看Post中的确切内容。 Fiddler还将向您展示Microsoft XMLHTTP发布的内容以及服务器发回的内容。