vc 6 下 调用webservice 一个久远的问题

wjx_0_2001 2013-01-06 03:30:06
之所以说久远,因为我在网上搜了一大堆,基本上没有人能搞定的。

问题:

C#写的个webservice
代码如下:
[WebMethod]
public string HelloWorld(string str)
{
return str;
}

-------------------------------
vc 6 下调用 代码如下:

ISoapSerializerPtr pSerializer;
ISoapReaderPtr pReader;
ISoapConnectorPtr pConnecter;

if(FAILED(pConnecter.CreateInstance(__uuidof(HttpConnector30))))
{
return;
}

pConnecter->Property["EndPointURL"]= "http://192.168.1.80/WebService1/Service1.asmx" ;

if(FAILED(pConnecter->Connect()))
{
return;
}

pConnecter->Property["SoapAction"] = "http://tempuri.org/HelloWorld";
pConnecter->BeginMessage();

pSerializer.CreateInstance(__uuidof(SoapSerializer30));
pSerializer->Init(_variant_t((IUnknown*)pConnecter->InputStream));

pSerializer->StartEnvelope("SOAP","","");
pSerializer->StartBody("");

pSerializer->StartElement("HelloWorld","http://tempuri.org","","SOAP"); //函数处理

pSerializer->StartElement("str","http://tempuri.org","","SOAP");
pSerializer->WriteString("2012-10-1"); //参数处理
pSerializer->EndElement();


pSerializer->EndElement();
pSerializer->EndBody();
pSerializer->EndEnvelope();

if(FAILED(pConnecter->EndMessage()))
{
return;
}

pReader.CreateInstance(__uuidof(SoapReader30));
if(FAILED(pReader->Load(_variant_t((IUnknown*)pConnecter->OutputStream),"")))
{
return;
}

printf("Answer:%s\n",(const char*)pReader->RpcResult->text);


====================

红色标记处,有问题

但我在往上查询这SOAP 相关的文档,几乎没有。很多人的例子,都完全一样,真

不知道谁抄了谁的、

也没有人能说清楚具体的原因




...全文
189 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
huan827 2013-01-09
  • 打赏
  • 举报
回复
如此久远的问题终于得以解决令其不再久远下去,难得!
wjx_0_2001 2013-01-09
  • 打赏
  • 举报
回复
多谢各位,已经解决了 主要是是函数参数的传递
oyljerry 2013-01-07
  • 打赏
  • 举报
回复
查看一下错误信息,GetLastError
wjx_0_2001 2013-01-06
  • 打赏
  • 举报
回复
我这样写,到 if(FAILED(pReader->Load(_variant_t((IUnknown*)pConnecter->OutputStream),""))) 后 就退出了程序

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧