PB调用SAP的WebService

通过pb自动生成的代理,来访问sap webservice的时候,提示不明错误。

 

而通过SoapUI测试,webservice服务是正常的,故觉得通过自己组报文的形式,通过http来访问webservice服务。

SoapUI的Request Editor窗口的Raw显示的是http的header需要设置的内容,xml显示的是body的内容。

剩下的工作和其他的http调用一样了。

//设置Header
//g_httpclient.SetHeader("Content-Type","application/soap+xml")
g_httpclient.SetHeader("action","urn:sap-com:document:sap:rfc:functions:ZIFWS_MAIN_INBOUND:ZIFFM_MAIN_INBOUNDRequest")

//组装报文
xmlnode_root = req_xmldoc.addchild("soap:Envelope")
xmlnode_root.SetAttribute("xmlns:soap","http://www.w3.org/2003/05/soap-envelope")
xmlnode_root.SetAttribute("xmlns:urn","urn:sap-com:document:sap:rfc:functions")
xmlnode_root.addchild("soap:Header")
xmlnode_root = xmlnode_root.addchild("soap:Body").addchild("urn:ZIFFM_MAIN_INBOUND")
	
ls_reqjson1 = '{"ZINTR_OO":"'+ls_vname+'","ZSYST_LOGI":"ZHZS800","ZINTR_SEQ":"SAP000001","ZKEY_ARR":"M01"}'
	
xmlnode_temp = xmlnode_root.addchild("IM_CTRL")
xmlnode_temp.settext(ls_reqjson1)
	

ls_reqjson2 = '{"DATA1":{"DATA":[{"ZDATE":"'+string(today(),"yyyymmdd")+'"}]}}'

xmlnode_temp = xmlnode_root.addchild("IM_DATA")
xmlnode_temp.settext(ls_reqjson2)

//post调用
rsp = g_httpclient.request(enums.HTTP_METHOD_POST,req_xmldoc.Serialize(),"application/soap+xml")

//获取返回数据
rsp_xmldoc = rsp.GetDataXML()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值