经典ASP传递对象属性到SOAP

时间:2012-05-09 10:56:28

标签: soap asp-classic

我们有一个Java Web服务(WSDL)和一个ASP客户端。我们使用SOAP Toolkit 3.0来调用Java Web服务。 Java Web服务是公开对象,所以我需要使用复杂的类型映射器。

当我尝试这个时,我收到了错误 -

SoapMapper:Saving SoapMapper account failed HRESULT=0x80004002: No such interface supported - Client:Unspecified client error. HRESULT=0x80004002: No such interface supported

这个代码是:

On Error Resume Next

Dim objWebSvcClient
Dim  strSuccess
Dim myaccount

set objWebSvcClient = server.CreateObject("MSSOAP.SoapClient30")
objWebSvcClient.ClientProperty("ServerHTTPRequest") = True
objWebSvcClient.MSSoapInit ("c:\TestAsp.wsdl")


class Account
    Dim maccid 'As String
    Dim maccName 'As String

    Public Property Get accId() 'As String
        accId = maccid
    End Property

    Public Property Let accId(ByVal Value )
        maccid = Value
    End Property

    Public Property Get accName() 'As String
        accName = maccName
    End Property

    Public Property Let accName(ByVal Value )
        maccName = Value
    End Property
End class

Set myaccount = new Account
myaccount.accId = "ABC"
myaccount.accName = "ABC"

strSuccess = objWebSvcClient.setAccount(myaccount)

如果我错过了一些信息,请告诉我。

参考一些做同样实现的例子也会有所帮助。

1 个答案:

答案 0 :(得分:0)

语句objWebSvcClient.MSSoapInit ("c:\TestAsp.wsdl")正在将物理文件设置为URL。您可以通过这种方式解析WSDL,但是wsdl本身给出的URL可能无法正常工作,或者是相对路径会失败。

尝试为wsdl文件提供完整的http url。