标题:vfp和webservice接口的报文数据交互
只看楼主
xqmxqm01
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-9-28
结帖率:50%
已结贴  问题点数:20 回复次数:4 
vfp和webservice接口的报文数据交互
现在需要用vfp客户端访问webservice接口,当扫描一个送货单号码后需通过这个接口返回接收服务器端发送过来的xml报文,送货单的各个货物处理好后,再发送xml报文至端口。服务器上送货单有更新就发送xml报文过来接收,请教应给怎样去访问连接接口并取得数据报文和发送数据报文?(服务器的接口已经写好,无须开发)
搜索更多相关主题的帖子: 发送 报文 vfp 数据 接口 
2020-09-29 17:23
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:10 
以前弄过一个Web Service的,不过那个时候访问后,得到的是一个数组,不是XML,不过我想大同小异.参考代码如下
程序代码:
PUBLIC oSOAP  as Object
PUBLIC WebserviceUrl as String
oSOAP=Createobject("MSSOAP.soapclient30")  &&建立对象
WebserviceUrl="http://ws./WebServices/WS.asmx?wsdl"   &&改成自己要的URL

DIMENSION  Rs(1) as String
TRY  
oSOAP.MSSoapInit(WebserviceUrl,"WherWS","WherWSSoap",) 
* MSSoapInit( )方法的语法格式如下:
*!*    oSoapClient.MSSoapInit(WSDLFile,ServiceName,Port,WSMLFile)
*!*    参数说明如下:
*!*    WSDLFile
*!*    字符型。该参数是WSDL文件的URL,用于描述由服务器提供的服务,或者是包含在WSDL文件中的一个字符串。如果该参数的第一个字符是“<”,表示该参数值是一个WSDL字符串;否则,表示该参数值是一个WSDL文件。
*!*    ServiceName
*!*    字符型。可选的。该参数是在WDSL文件中的服务。如果忽略该参数、或为NULL、或为空字符串(""),在初始化SoapClient30对象时,则使用在WSDL文件中指定的第一个服务。
*!*    Port
*!*    字符型。可选的。该参数是在WSDL文件的端口名称,用来包含在SOAP请求信息中的指定操作。如果忽略该参数、或为NULL、或为空字符串(""),在初始化SoapClient30对象时,则使用在WSDL文件中指定的第一个端口。
*!*    WSMLFile
*!*    字符型。可选的。该参数是WSML文件的URL,在使用自定义类型映射程序时,该参数是必须的。
*如何获得这些参数名称?使用浏览器或其他文本编辑器中打开所生成的WSDL文件,其中的service元素便是服务的名称,port元素是端口名称。

 recode=SPACE(500)

 Rs = oSoap.getRegion()

CATCH TO errExp
    IF errexp.errorno=1429 THEN 
        MESSAGEBOX('错误号:'+LTRIM(STR(errexp.errorno)) + '  出错模块:' + ;
        errexp.PROCEDURE + '  出错行号:'+LTRIM(STR(errexp.lineno)) + ;
        '  错误的进一步描述:' + CHR(13) + ;
        '=====================================================================' + cHR(13) + ;
        +errexp.message , ;
        16,'提示:未成功连接互联网!')
    ENDIF 
FINALLY 
IF NOT EMPTY(rs) THEN 
    thisform.grid1.RecordSource=''
    LOCAL ir as Integer
    CREATE CURSOR tmpP1( Col1  c(16) ,col2 c(10))
    FOR ir=1 TO ALEN(rs)
        INSERT INTO tmpP1( cc1,cc2 )  ;
            VALUES ( ... )
    ENDFOR 
    SELECT tmpP1
    GO TOP 
    thisform.grid1.RecordSourceType= 1
    thisform.grid1.RecordSource='tmpP1'
ENDIF 
    RELEASE oSOAP 
ENDTRY 
2020-09-30 11:15
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:10 
学习啦,谢谢!
2020-10-01 05:47
xqmxqm01
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-9-28
得分:0 
谢谢喔
2020-10-10 13:58
xqmxqm01
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-9-28
得分:0 
请问怎么发送数据报文?
2020-10-13 10:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503318-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.119284 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved