将传统ASP传递给SOAP的对象属性

问题描述:

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

当我想这个,我得到的错误 -

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

此代码中的哪一行是否显示错误?为了正确调试它,请删除'在错误恢复下一个'语句。 – thevikas

+0

strSuccess = objWebSvcClient.setAccount(myaccount)我在上面的行收到错误。我将对象属性传递给此方法。所以我不知道应该如何将对象传递给方法。 – user1377291

+0

我真的非常喜欢thevikas,他至少回答,因为我想尽快让我从这里出来 – user1377291

声明objWebSvcClient.MSSoapInit ("c:\TestAsp.wsdl")将物理文件设置为URL。你可以用这种方式解析WSDL,但是wsdl本身给出的URL可能不起作用,或者相对路径失败。

尝试提供完整的http url甚至是wsdl文件。

+0

URL:http://query.jiemai.com/services/UsJieMaiSlService?wsdl在这种情况下,我需要通过具有不同属性的ProductCondition对象和我得到相同的错误您可以在这里看到参数http://soapclient.com/soapclient?template=%2Fclientform.html&fn=soapform&SoapTemplate=%2FSoapResult.html&SoapWSDL=http%3A%2F%2Fquery。 jiemai.com%2Fservices%2FUsJieMaiSlService%3Fwsdl&_ArraySize = 2 – user1377291

+0

我正在处理的方法ie queryProduct – user1377291