以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求教webservice调用出错问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=158594)

--  作者:s111321
--  发布时间:2020/11/25 18:32:00
--  求教webservice调用出错问题
1、通过vs生成dll
Public Class Class1
    Public Function execute(ByVal routeIdField As String, ByVal signDataField As String, ByVal callerIdField As String, ByVal userIdField As String, ByVal transIdField As String, ByVal referenceIdField As String,ByVal referenceTimeField As String, ByVal signTypeField As String, ByVal reserveField As String, ByVal returnCodeField As String, ByVal errorCodeField As String, ByVal errorMsgField As String,
ByVal recordField As String, ByVal typeField As String, ByVal recordsField As String()) As String
      
        Dim obj As New ServiceReference1.TargetServiceInterfaceClient

        Dim records As New recordsType
        records.typeField = typeField
        records.recordField = recordsField
        Dim body As New bodyType
        body.recordField = recordField
        \'body.recordsField = records.ToString
        Dim header As New headerType
        header.callerIdField = callerIdField
        header.userIdField = userIdField
        header.transIdField = transIdField
        header.referenceIdField = referenceIdField
        header.referenceTimeField = referenceTimeField
        header.signTypeField = signTypeField
        header.reserveField = reserveField
        header.returnCodeField = returnCodeField
        header.errorCodeField = errorCodeField
        header.errorMsgField = errorMsgField
        Dim Str As New executeMsgType
        Str.routeIdField = routeIdField
        Str.headerField = header
        Str.bodyField = body
        Str.signDataField = signDataField
        Dim st1 As String
        st1 = obj.execute(Str).routeIdField
        Return st1
    End Function
End Class

2、ft调用
Dim s1() As String
Dim dl As new ClassLibrary9.Class1()
MessageBox.Show(dl.execute("ZG10hz0201","","GT000111","8889","","","","","","","","","","",s1))
报错
反射“execute”时出错。
反射类型“ClassLibrary9.ServiceReference1.executeMsgType”时出错。
反射字段“headerField”时出错。
反射类型“ClassLibrary9.ServiceReference1.headerType”时出错。
不一致的序列化: 如果用于类成员之一上,则所有类似粒子的成员都需要“Order”属性,请在类成员“callerIdField”上使用 XmlElement、XmlAnyElement 或 XmlArray 自定义特性来显式设置“Order”。

--  作者:有点蓝
--  发布时间:2020/11/26 8:37:00
--  
接口和接口文档发上来看看

编译的dll选.net4.0的版本编译