2014-09-02 120 views
0

我想在我的VB6.0应用程序中调用WCF服务方法(带参数)。我的WCF服务的URL是: - HTTP://10.1.1.169:7794/和我想调用的方法是ConvertXMLDataToDBFAndAccess并且有将由该method.The参数使用四个参数是: - XMLDATAisCompressedAccessFileNameDBFFileName如何在VB6.0应用程序中调用WCF服务方法

目前我没有任何与服务相关的代码。所以没有任何服务代码的变化你可以提供代码在Visual Basic 6.0中。这项服务运行在另一台计算机和我的机器是在同一个网络,所以这就是为什么我能够访问服务

+0

可能重复[如何调用WCF服务并将其配置中使用VB6(http://stackoverflow.com/questions/ 14720704/how-to-call-wcf-service-and-set-its-configuration-using-vb6) – 2014-09-02 13:01:52

+0

This [链接](http://www.drdobbs.com/web-development/integrating-xml-web-services-with-vb6-ap/184405550)可能有帮助 – 2014-09-02 13:03:39

回答

0

我希望这有助于...

Dim strSoap, strSOAPAction As String 
Dim strURL As String ' WEB SERVICE URL 
Dim DataToSend as String 

strSoap = "<?xml version=""1.0"" encoding=""utf-8""?><s:Envelope xmlns:s=""http://schemas.xmlsoap.org/soap/envelope/"">" & _ 
      "<s:Body>" & _ 
      "<YOURMethodName xmlns=""http://tempuri.org/"">" & _ 
       "<YOURMethodParameterName>DataToSend</YOURMethodParameterName>" & _ 
      "</YOURMethodName>" & _ 
      "</s:Body></s:Envelope>"    
      'REPLACE WITH YOUR DATA 

strSOAPAction = "http://tempuri.org/YOURContractName/YOURMethodName" ' REPLACE HERE 

Dim xmlhttp As MSXML2.XMLHTTP30 

Set xmlhttp = New MSXML2.XMLHTTP30 
xmlhttp.open "POST", strURL, False 'HERE YOU OPEN THE CONECTION WITH THE WebService 
xmlhttp.setRequestHeader "Man", "POST " & strURL & " HTTP/1.1" ' DEFINE THE COMUNICATION TYPE 
xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8" 'DEFINE CONTENT TYPE 
xmlhttp.setRequestHeader "SOAPAction", strSOAPAction ' ASSOCIATE THE SOAP ACTION 
DoEvents 
Call xmlhttp.send(strSoap) ' SEND THE REQUEST 
DoEvents 
If xmlhttp.Status = 200 Then 
    ' IT WORKED 
Else 
    'ERROR 
End If 
+0

虽然这可能会回答这个问题,请您提供一些评论或至少描述了这是在做什么?虽然我们有些人可能会弄清楚,但不是每个人都可以。 – Deanna 2014-09-05 07:38:20

+0

嗨。我已经添加了一些评论,我希望他们能提供帮助。如果还有其他事情你认为我必须解释,请告诉我。谢谢。 – 2014-09-05 18:48:35

+0

感谢您的回复,但它不起作用。我已替换您标记的所有必需信息,但是当光标转到“调用xmlhttp.send(strSoap)”时,它会给出错误。错误是: - “运行时错误 - 2147221020(800401e4)Syntax语法无效“ – user3817749 2014-09-05 18:56:15

-1
Dim strSoap, strSOAPAction As String 
    Dim strURL As String ' WEB SERVICE URL 
    Dim DataToSend As String 
    DataToSend = "demo.mdb" 
    strURL = "10.4.5.169:7794" 
    strSoap = "<?xml version=""1.0"" encoding=""utf-8""?><s:Envelopexmlns:s=""http://schemas.xmlsoap.org/wsdl/soap/envelope/"">" & _ 
       "<s:Body>" & _ 
       "<MoveFile xmlns=""http://tempuri.org/"">" & _ 
        "<fileName>DataToSend</fileName>" & _ 
       "</MoveFile>" & _ 
       "</s:Body></s:Envelope>" 
       'REPLACE WITH YOUR DATA 

    strSOAPAction = "http://tempuri.org/DemoConnect/MoveFile" ' REPLACE HERE 

    Dim xmlhttp As MSXML2.XMLHTTP30 

    Set xmlhttp = New MSXML2.XMLHTTP30 
    xmlhttp.Open "POST", strURL, False 
    xmlhttp.setRequestHeader "Man", "POST " & strURL & " HTTP/1.1" 
    xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8" 
    xmlhttp.setRequestHeader "SOAPAction", strSOAPAction 

    xmlhttp.send (strSoap) 

here MoveFile is method name and fileName is parameter name 
相关问题