VC6.0使用HttpSoap 向接口地址“ http://http://172.19.144.240//ResistanceWebService/ResistanceWebService.asmx 调用”MachineTrimDataUpload“方法
时间: 2023-12-22 09:03:22 浏览: 95
VC6 实现HTTP下载
4星 · 用户满意度95%
VC6.0使用HttpSoap向接口地址调用方法的步骤如下:
1. 在VC6.0中创建一个MFC应用程序项目;
2. 在项目中添加一个WebService引用:在“项目”菜单中选择“添加Web引用”,在弹出的对话框中输入接口地址“http://172.19.144.240//ResistanceWebService/ResistanceWebService.asmx”并点击“Go”按钮,等待一段时间后,系统会自动获取到该WebService的方法列表,此时点击“添加引用”按钮即可;
3. 在项目中添加一个SOAP连接:在“项目”菜单中选择“添加组件”,在弹出的对话框中选择“Microsoft Soap Type Library v3.0”,然后点击“确定”按钮;
4. 在代码中编写调用WebService方法的代码:首先需要定义一个CInternetSession对象和一个CHttpConnection对象,然后通过CHttpConnection对象打开指定的URL,然后创建一个CHttpFile对象,通过CInternetSession对象将请求发送给服务器,并接收响应,最后通过CInternetSession对象关闭连接,代码如下所示:
```
#include <afxinet.h>
CString strServer = _T("172.19.144.240");
CString strObject = _T("/ResistanceWebService/ResistanceWebService.asmx");
CInternetSession session;
CHttpConnection* pConnection = session.GetHttpConnection(strServer);
CHttpFile* pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, strObject);
CString strHeaders = _T("Content-Type: text/xml; charset=utf-8");
pFile->SendRequest(strHeaders, NULL, 0, NULL, 0);
CString strRequest = _T("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
strRequest += _T("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n");
strRequest += _T("<soap:Body>\n");
strRequest += _T("<MachineTrimDataUpload xmlns=\"http://tempuri.org/\">\n");
strRequest += _T("<param1>value1</param1>\n");
strRequest += _T("<param2>value2</param2>\n");
strRequest += _T("</MachineTrimDataUpload>\n");
strRequest += _T("</soap:Body>\n");
strRequest += _T("</soap:Envelope>\n");
pFile->WriteString(strRequest);
pFile->EndRequest();
CString strResponse;
DWORD dwRead;
while (pFile->Read(&strResponse, 4096) > 0)
{
// do something with response
}
pFile->Close();
delete pFile;
pConnection->Close();
delete pConnection;
session.Close();
```
其中,需要将“MachineTrimDataUpload”替换为实际的WebService方法名,并将“param1”和“param2”替换为实际的方法参数名和值。
阅读全文