svaros Posted March 10, 2014 at 10:20 AM Report #548026 Posted March 10, 2014 at 10:20 AM olá, linguagem: vbscript resumo: obter dados atraves de pesquisa por form no wsdl tenho um wsdl para ser usado, queria fazer algo como colocar o bi da pessoa e que ao procurar ele retornasse morada etc que estao neste serviço. Alguem me sabe indicar um exemplo em que uma procura é feita e que sejam retornados valores? muito obrigado desde já 🙂
nelsonr Posted March 10, 2014 at 10:30 AM Report #548028 Posted March 10, 2014 at 10:30 AM Boas, a linguagem é mesmo vbscript? (como este post está na secção ASP.NET) Nunca fiz em vbscript, mas o mais provavel é teres de criar um objecto do SOAP e aceder, algo assim: Set osoap=CreateObject("MSSOAP.SoapClient") oSoap.ClientProperty("ServerHTTPRequest") = True oSoap.mssoapinit("http://www.enderecowsdl.com") result=oSoap.funcao("numeroBI")
svaros Posted March 10, 2014 at 11:16 AM Author Report #548040 Posted March 10, 2014 at 11:16 AM Boas, a linguagem é mesmo vbscript? (como este post está na secção ASP.NET) Nunca fiz em vbscript, mas o mais provavel é teres de criar um objecto do SOAP e aceder, algo assim: Set osoap=CreateObject("MSSOAP.SoapClient") oSoap.ClientProperty("ServerHTTPRequest") = True oSoap.mssoapinit("http://www.enderecowsdl.com") result=oSoap.funcao("numeroBI") Eu tenho algo assim: <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title>Search</title> <link rel="stylesheet" href="css/default.css" /> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="js/tablesorter.js"></script> </head> <body> <% Class SoapServiceRequest Private oWinHttp,sContentType Public sWebServiceURL, sSOAPRequest,sResponse,servicename,sHost Private Sub Class_Initialize() Set oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1") sContentType ="text/xml;charset=UTF-8" End Sub Public Function SetSoapAction(servicename) sWebServiceURL = servicename End Function Public Function SendRequest oWinHttp.Open "POST", sWebServiceURL, False oWinHttp.setRequestHeader "Content-Type", sContentType oWinHttp.Send sSOAPRequest sResponse = oWinHttp.ResponseText End Function Public Function Close Set oWinHttp = Nothing End Function End Class Set oSoapRequest = New SoapServiceRequest oSoapRequest.SetSoapAction("") oSoapRequest.sSOAPRequest = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:v1=""urn://"" xmlns:ns=""urn://Address/elements/AddressHeader/1.0"" xmlns:get=""urn:///Address/v1/GetAddress""><soapenv:Header/><soapenv:Body><v1:inputMessageGetAddress><get:AddressRequest><get:Authentication><get:UserId></get:UserId></get:Authentication><get:PostalCode4></get:PostalCode4><get:PostalCode3></get:PostalCode3><get:ArteryCode></get:ArteryCode><get:ArteryName></get:ArteryName><get:LocalCode>lisboa</get:LocalCode><get:LocalDescr></get:LocalDescr><get:CountyDescr></get:CountyDescr><get:DistrictDescr></get:DistrictDescr><get:ClientName></get:ClientName><get:EPName></get:EPName><get:PostOfficeBoxNbr></get:PostOfficeBoxNbr><get:SearchType></get:SearchType></get:AddressRequest></v1:inputMessageGetAddress></soapenv:Body></soapenv:Envelope>" oSoapRequest.SendRequest() Class XmlTransform Private xmlDoc,xslDoc Public sTransFile Public Function SetInputXml(xmlData) 'Load XML set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.loadXML(xmlData) End Function Public Function SetInputXsl(style) 'Load XSL set xslDoc = Server.CreateObject("Microsoft.XMLDOM") xslDoc.async = false xslDoc.load(style) End Function Public Function TransformAndWrite Response.Write(xmlDoc.transformNode(xslDoc)) End Function End Class 'TODO Chamada ao webservice Dim myVar Dim xmlData Dim xslTemplate myVar = oSoapRequest.sResponse set oXmlTransform = New XmlTransform If IsNull(myVar) Then xmlData="<?xml version='1.0'?><OutputMessageGetAddress><AddressHeader><Status><nCode><eDescription>Ocorreu um erro no acesso ao sistema de Gestão de Moradas</eDescription></nCode></Status></AddressHeader></OutputMessageGetAddress>" xslTemplate = Server.MapPath("erro.xsl") ElseIf myVar = "" Then xmlData="<?xml version='1.0'?><OutputMessageGetAddress><AddressHeader><Status><nCode><eDescription>Ocorreu um erro no acesso ao sistema de Gestão de Moradas</eDescription></nCode></Status></AddressHeader></OutputMessageGetAddress>" xslTemplate = Server.MapPath("erro.xsl") Else If (InStr(1,myVar,"outputMessageGetAddress",0)) Then xmlData = Replace(myVar, Left(myVar,InStr(myVar,"outputMessageGetAddress")), "<?xml version='1.0'?><O") xmlData = Replace(xmlData, "</ns3:outputMessageGetAddress></S:Body></S:Envelope>", "</OutputMessageGetAddress>") xmlData = Replace(xmlData, "ns2:", "") pos1 = InStr(1,xmlData,"OutputMessageGetAddress",0) pos2 = InStr(pos1,xmlData,">",0) str1=(MID(xmlData,1,pos1)) str2=(MID(xmlData,pos2)) xmlData = str1 & "utputMessageGetAddress"& str2 If (InStr(1,xmlData,"eCode",0)) Then xslTemplate = Server.MapPath("erro.xsl") Else xslTemplate = Server.MapPath("template.xsl") End If Else xmlData="<?xml version='1.0'?><OutputMessageGetAddress><AddressHeader><Status><nCode><eDescription>Ocorreu um erro na resposta do sistema de Gestão de Moradas</eDescription></nCode></Status></AddressHeader></OutputMessageGetAddress>" xslTemplate = Server.MapPath("erro.xsl") End If End If 'Response.Write(xmlData&"###<BR/>") 'disponibilização dos resultados oXmlTransform.SetInputXml(xmlData) oXmlTransform.SetInputXsl(xslTemplate) oXmlTransform.TransformAndWrite() %> <form action="" target="_parent" name="frmbuscacep" method="post"> <label> CP:<br /> <input name="txtCep" type="text" id="txtCep" size="10" maxlength="8" /> </label><br /> <label><br /> <input type="submit" name="Submit" value="Consultar" /> </label> </form> <br /> Resultado da consulta </center> <% if resultado <> "" then %> <table align="center"> <tr> <td align="left" valign="top">Cp4:</td> <td align="left" valign="middle"><strong><%=cp4%></strong></td> </td> <tr> <td align="left" valign="middle">CP3:</td> <td align="left" valign="middle"><strong><%=cp3%></strong></td> </td> <tr> <td align="left" valign="middle">Local:</td> <td align="left" valign="middle"><strong><%=Local%></strong></td> </td> </table> <% end if %> </body> </html> até aqui tudo bem, a questão e que eu consigo retornar valores se colocar o que procurar diretamente no codigo, aqui por exemplo : <get:LocalCode>lisboa</get:LocalCode> mas queria fazer com que este filtro fosse feito por um form e ao submit aparecer corresppondencias :\
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now