Hi all,
I'm using Soap Tool Kit 3.0 to implement a client
aplication (in VC6) to retrieve info. from a .NET webservices (in C#). The
client sometimes return error "Unknow Error 0x800a1518". But, when I retry the
same request, it work properly. Does anyone know the solutions?
Here's part of my code
psmConnector.CreateInstance(__uuidof(HttpConnector30));
psmConnector->Property["EndPointURL"]
= _bstr_t("http://MyTesting/DoRequest.asmx");
psmConnector->Connect();
psmConnector->Property["SoapAction"]
= bstrSoapAction;
psmConnector->Property["EnableAutoProxy"] =
VARIANT_TRUE;
psmConnector->Property["ProxyServer"] =
_bstr_t("<CURRENT_USER>");
psmConnector->Property["Timeout"]
= _variant_t( (long) 30000 ); // Set timeout to be 30s
psmConnector->BeginMessage();
psmSerializer.CreateInstance(__uuidof(SoapSerializer30));
psmSerializer->Init(_variant_t((IUnknown
*)
psmConnector->InputStream));
psmSerializer->StartEnvelope(_bstr_t(""),
_bstr_t("STANDARD"),
_bstr_t(""));
psmSerializer->StartBody(_bstr_t("STANDARD"));
psmSerializer->StartElement(_bstr_t(DoMyRequest),
bstrNameSpace, _bstr_t("STANDARD"), _bstr_t("uri"));
psmSerializer->StartElement(_bstr_t("strSession"),
_bstr_t(""), _bstr_t("STANDARD"),
_bstr_t("uri"));
psmSerializer->WriteString(bsSessionID);
psmSerializer->EndElement();
psmSerializer->StartElement(_bstr_t("strUserID"),
_bstr_t(""), _bstr_t("STANDARD"),
_bstr_t("uri"));
psmSerializer->WriteString(bsUserID);
psmSerializer->EndElement();
psmSerializer->StartElement(_bstr_t("iHandler"),
_bstr_t(""), _bstr_t("STANDARD"),
_bstr_t("uri"));
psmSerializer->WriteString(_bstr_t(COMAPI::AfxMakeString(iHandler)));
psmSerializer->EndElement();
psmSerializer->StartElement(_bstr_t("iProcessID"),
_bstr_t(""), _bstr_t("STANDARD"),
_bstr_t("uri"));
psmSerializer->WriteString(_bstr_t(COMAPI::AfxMakeString(iProcessID)));
psmSerializer->EndElement();
psmSerializer->StartElement(_bstr_t("strXMLRequest"),
_bstr_t(""), _bstr_t("STANDARD"),
_bstr_t("uri"));
psmSerializer->WriteString(bsData);
psmSerializer->EndElement();
psmSerializer->EndElement();
psmSerializer->EndBody();
psmSerializer->EndEnvelope();
hResult
= psmSerializer->Finished();
hResult =
psmConnector->EndMessage();
psmReader.CreateInstance(__uuidof(SoapReader30));
psmReader->Load(_variant_t((IUnknown
*) psmConnector->OutputStream), bstrNameSpace);
*bsResult =
_bstr_t(psmReader->Envelope->text).copy();
psmConnector.Release();
psmSerializer.Release();
psmReader.Release();
Rgds,
Marco