Mauricio,
No Windows 7 tive problemas com o MSSOAPClient 3.0.
Mesmo instalando o pacote como Administrador não estava funcionando.
O que não acontecia antes com o WinXP.
Após
vários testes opter por usar o código abaixo, que funciona tanto no XP quanto no WIn7, e não depende da instalação do MSSoapClient3, pois utiliza OLE com IExplorer.
É um pouco mais chato porque você tem que montar o XML que será enviado, conhecer mêtodo que deseja resposta e tratar a resposta.
Por outro lado, você tem mais controle do processo.
Fica como dica.
- Code: Select all Expand view
cXmlBody := '' + ;
'<?xml version="1.0" encoding="utf-8"?>' + ;
'<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">' + ;
' <SOAP-ENV:Body>' + ;
' <req:ws_graf xmlns:req="http://www.actions.com.br/integracao/webservice/">' + ;
' <login xsi:type="xsd:string">' + cUsuario + '</login>' + ;
' <assinatura xsi:type="xsd:string">' + cSenha + '</assinatura>' + ;
' <modelo xsi:type="xsd:string">' + cModelo + '</modelo>' + ;
' <titulo xsi:type="xsd:string">' + cTitulo + '</titulo>' + ;
' <xmlin xsi:type="xsd:string">' + acXmlEncode( xml_in ) + '</xmlin>' + ;
' </req:ws_graf>' + ;
' </SOAP-ENV:Body>' + ;
'</SOAP-ENV:Envelope>'
// ---
doc = CreateObject( "MSXML2.DOMDocument" )
http = CreateObject( "MSXML2.XMLHTTP" )
http:Open( "POST" , "http://www.actions.com.br/integracao/webservice/ws.grafico.php" , .F. )
http:SetRequestHeader( "SOAPAction" , "ws_graf" )
http:SetRequestHeader( "Content-Type" , "text/xml" )
doc:LoadXML( cXmlBody )
http:Send( doc:xml )
response = http:responseText
If .Not. Empty( Alltrim( response ) )
res = CreateObject( "MSXML2.DOMDocument" )
res:LoadXML( http:responseText )
txt = res:selectSingleNode( "//ns1:ws_grafResponse" )
cRetorno := txt:Text
Else
cRetorno = "### Nao foi possivel gerar a imagem ###"
Endif
Release doc
Release http
Release res
Release response
Qualquer dúvida estou a disposição.
Saludos
Leonardo Inácio