來自VB6的NET Web服務。在VB6中,我使用SoapClient30(MS SOAP類型庫)。反序列化VB6中的SOAP消息 - SoapClient30 MS SOAP類型庫
Web方法有此簽名:
[WebMethod]
public List<List<string>> SomeMethod(string [] args){}
它的返回XML在SOAP這樣的:
<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://icz.sk/">
<ArrayOfString>
<string>1</string>
<string>2</string>
<string>3</string>
<string>4</string>
<string>5</string>
</ArrayOfString>
<ArrayOfString>
<string>1</string>
<string>2</string>
<string>3</string>
<string>4</string>
<string>5</string>
</ArrayOfString>
</ArrayOfArrayOfString>
對於SoapClient30的初始化我使用WSDL。
當我調用Web方法在上面我在VB6得到這個異常:
SoapMapper:Restoring data into SoapMapper ArrayOfString failed HRESULT=0x8007000E
SoapMapper:Restoring data into SoapMapper SomeMethod failed HRESULT=0x8007000E
Client:Unspecified client error. HRESULT=0x8007000E:
我覺得SoapClient30不知道VB6代碼反序列化XML響應。
我嘗試在變式中保存web方法結果。
Private proxy As SoapClient30
Dim result As Variant
Dim input_param(0 To 2) As String
proxy.MSSoapInit WSDL_PATH
input_param(0) = arg1
input_param(1) = arg2
input_param(2) = ""
result = proxy.SomeMethod()
什麼是需要改變響應格式的web方法或類型的存儲響應在VB6中?
我必須使用SOAP類型庫我可以使用COM。感謝您的回覆
只是出於好奇多少內存怎麼辦你有你的機器..?聽起來像內存問題..我可能是錯誤的嘗試去任務管理器和尋找以下任何w3wp.exe或XP的工作進程的「aspnet_wp.exe ..結束那裏任務..重新啓動機器,並重新開始應該工作..如果不是那麼你可能有一個代理類,你正在使用或創建的問題.. – MethodMan 2011-12-21 16:28:51