C++Builder调用C#写的WebService时出现I/O乱码

1.研究了半天,向前輩們請教,加上網上的搜索,終於解決

// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : http://localhost:8081/WebServices/SimpleService.asmx?wsdl
// Encoding : utf-8
// Codegen  : [wfDebug,wfVerbose,wfSkipHttpBindings,wfMapStringsToWideStrings,wfSkipUnusedTypes]
// Version  : 1.0
// (2009-12-02 11:32:00 - $Revision:   1.0.1.0.1.82  $)
// ************************************************************************ //

#include <vcl.h>
#pragma hdrstop

#if !defined(SimpleServiceH)
#include "SimpleService.h"
#endif

 

namespace NS_SimpleService {

_di_SimpleServiceSoap GetSimpleServiceSoap(bool useWSDL, AnsiString addr)
{
  static const char* defWSDL= "http://172.18.6.253:9998/WebServices/SthisService.asmx?wsdl";
  static const char* defURL = "http://172.18.6.253:9998/WebServices/SthisService.asmx";
  static const char* defSvc = "SimpleService";
  static const char* defPrt = "SimpleServiceSoap";
  if (addr=="")
    addr = useWSDL ? defWSDL : defURL;
  THTTPRIO* rio = new THTTPRIO(0);
  if (useWSDL) {
    rio->WSDLLocation = addr;
    rio->Service = defSvc;
    rio->Port = defPrt;
    rio->Converter->Options<<soUTF8InHeader;
    rio->HTTPWebNode->UseUTF8InHeader   =   true;

  } else {
    rio->URL = addr;
  }
  _di_SimpleServiceSoap service;
  rio->QueryInterface(service);
  if (!service)
    delete rio;
  return service;
}


// ************************************************************************ //
// This routine registers the interfaces and types used by invoke the SOAP
// Service.
// ************************************************************************ //
static void RegTypes()
{
  /* SimpleServiceSoap */

InvRegistry()->RegisterInterface(__interfaceTypeinfo(SimpleServiceSoap), L"http://abc.com/", L"utf-8");
   InvRegistry()->RegisterInvokeOptions(__interfaceTypeinfo(SimpleServiceSoap), ioDocument);
  InvRegistry()->RegisterDefaultSOAPAction(__interfaceTypeinfo(SimpleServiceSoap), L"http://abc.com/%operationName%");
}
#pragma startup RegTypes 32

};     // NS_SimpleService

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值