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”。