Foxtable(狐表)用户栏目专家坐堂 → 请教Webservice 生成dll调用问题


  共有3119人关注过本帖树形打印复制链接

主题:请教Webservice 生成dll调用问题

帅哥哟,离线,有人找我吗?
lemonkashi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:215 积分:1682 威望:0 精华:0 注册:2017/9/26 13:40:00
请教Webservice 生成dll调用问题  发帖心情 Post By:2020/8/29 12:29:00 [只看该作者]

请教蓝老师如果将一下webservice生成dll 然后引用到狐表中。按照论坛里面之前写的帖子 创建都失败 ,可能是我这里面的webservice写的方式和论坛里面的不一样。
http://49.232.191.89/WebLisService/RequestFormWebService.asmx
想调用里面的AppliyUpLoad 函数


谢谢  蓝老师

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/29 14:21:00 [只看该作者]

dll'是怎么引用webservice的,写了什么代码?

foxtable又是怎么引用dll的?写了什么代码?运行提示什么错误?


 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:215 积分:1682 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/8/29 14:41:00 [只看该作者]

蓝老师好  
我参考如下帖子 
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=92876&authorid=0&page=0&star=1
将webservice 生成一个dll文件
操作截图见附件1.png
在VS中参考上面帖子写的代码截图见附件2.png
---------------
引用生成的dll文件
在ft中写的测试代码如下:
WeblisServiceTest.RequestFormWebService.RequestFormWebServiceSoap.HelloWorld()

参考附件3.png

点确定后提示报错如下
见附件4.png


比对 参考帖子的代码后 感觉和 我提供的webservice定的方式不一样  所以请教蓝老师 谢谢



[此贴子已经被作者于2020/8/29 14:44:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:215 积分:1682 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/8/29 14:42:00 [只看该作者]


[此贴子已经被作者于2020/8/29 16:57:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:215 积分:1682 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/8/29 14:43:00 [只看该作者]


[此贴子已经被作者于2020/8/29 16:57:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/29 15:37:00 [只看该作者]

vs项目
1、到vs新建一个类库项目,框架选.net framework 4.0
2、到项目添加一个服务引用,像上面图片一样
3、新建一个类,在类里面添加一个函数,假设名称为HelloWorld,代码如下:
    Public Function HelloWorld() As String
        Dim obj As New ServiceReference1.RequestFormWebServiceSoapClient() ‘这个是服务的主类型,所有服务接口都在RequestFormWebServiceSoapClient类里,而命名空间是ServiceReference1,在生成服务的时候可以自己改为其它名称,如上图
        Return obj.HelloWorld()
    End Function

又比如调用服务的AppliyUpLoad函数,可以定义这样的函数:
    Public Function AppliyUpLoad(ByVal xmlData As String, ByVal orgID As String, ByVal jzType As String, <System.Runtime.InteropServices.OutAttribute()> ByRef sMsg As String) As Boolean
        Dim obj As New ServiceReference1.RequestFormWebServiceSoapClient()
        Return obj.AppliyUpLoad(xmlData, orgID, jzType, sMsg)
    End Function

AppliyUpLoad接口是需要参数的(上面红色代码),至于是什么参数可以看接口文档说明,或者自行查看服务代码,照抄,查看代码方法,在 obj.AppliyUpLoad属性上右键选转到定义即可

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

4、编译这个类库为dll文件


foxtable项目
1、把dll复制到foxtable安装目录,并添加引用
2、打开foxtable按目录里的Foxtable.exe.config文件,添加如下配置(这个配置在vs项目的app.config文件中可以找到,添加web引用引用后会自动添加的,自己可以对比vs项目添加web引用前和添加web引用后的内容找出这段配置内容)

    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="RequestFormWebServiceSoap" />
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://49.232.191.89/WebLisService/RequestFormWebService.asmx"
                binding="basicHttpBinding" bindingC
                c name="RequestFormWebServiceSoap" />
        </client>
    </system.serviceModel>

这段设置放到Foxtable.exe.config文件<startup>段之前,如:

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
注意备份Foxtable.exe.config文件,升级或者重装foxtable会被覆盖掉

3、调用接口的代码:
dim jk as new WeblisServiceTest.WeblisService()
dim res as string = jk.HelloWorld()
msgbox(res)

dim sMsg as string
dim res2 as boolean = jk.AppliyUpLoad("xmlData参数值", "orgID参数值", "jzType参数值", sMsg)
msgbox(sMsg)
[此贴子已经被作者于2020/8/29 17:03:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:215 积分:1682 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/8/29 15:43:00 [只看该作者]

先谢谢 蓝老师  我好好研究一下

 回到顶部
帅哥哟,离线,有人找我吗?
lemonkashi
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:215 积分:1682 威望:0 精华:0 注册:2017/9/26 13:40:00
  发帖心情 Post By:2020/8/29 16:57:00 [只看该作者]

谢谢 蓝老师 问题完美解决

 回到顶部