El problema es el siguiente: "Necesito enviar un xml a un webservice, pero este es un .asmx?WSDL, entonces tengo formado mi xmlcompleto y no se como iniciar las declaraciones de forma ordenda para enviar este xml como string o el xml en fichero o como debe ser".
Entonces yo eh agregado la referencia web a mi windows forms, claro es en vb.net 2010, eh declarado hasta aqui:
Código:
Despues de aqui ya no se que debe seguir, amigos podriar ayudarme a darle solucion, tengoun code que hace lo que quiero hacer pero esta en VFP9, miren tambien selos pongo ya que les puede servir este es el que quiero traducir par enviarlo de esta manera:'Creo instancia del webservice Dim CallWebService As New com.soriana.www2.wseDocRecibo Dim WSUrl As String = "http://www2.soriana.com/Integracion/RecibeCFD/wseDocRecibo.asmx" 'Recojo el xml Dim xDoc As String = " C:\XML\Addenda.XML" 'New System.Xml.XmlDocument 'xDoc.Load(" C:\XML\Addenda.XML") Dim xmlDoc = New XmlDocument xmlDoc.LoadXml(xDoc)
Código:
Espero les sirva eset code en vfp9 y me puedan auxiliar a traducir tmbn este codigo como en algoritmo. Para poderlo codear en vb.net.'este es el xml que trae generando + x_string que es un nuevo Nodo el cual los une 'y envia al mismo webservice que quiero enviar. arch_xml = arch_xml + x_strg thisform.edit1.Value= arch_xml thisform.Refresh add_file='\pubwinv\soriana\'+ALLTRIM(thisform.foLIO.Value)+STRtran(TIME(),':','_')+'.xml' STRTOFILE(arch_xml,add_file) ******************* ********** LOCAL lowseDocRecibo AS "XML Web Service" * LOCAL lowseDocRecibo AS "MSSOAP.SoapClient30" * Do not remove or alter following line. It is used to support IntelliSense for your XML Web service. *__VFPWSDef__: lowseDocRecibo = http://www.soriana.com/recibecfd/wseDocRecibo.asmx?WSDL , wseDocRecibo , wseDocReciboSoap LOCAL loException, lcErrorMsg, loWSHandler TRY loWSHandler = NEWOBJECT("WSHandler",IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_ws3client.vcx") lowseDocRecibo = loWSHandler.SetupClient("http://www.soriana.com/recibecfd/wseDocRecibo.asmx?WSDL", "wseDocRecibo", "wseDocReciboSoap") * Call your XML Web service here. ex: leResult = lowseDocRecibo.SomeMethod() CATCH TO loException lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" - "+loException.Message DO CASE CASE VARTYPE(lowseDocRecibo)#"O" * Handle SOAP error connecting to web service CASE !EMPTY(lowseDocRecibo.FaultCode) * Handle SOAP error calling method lcErrorMsg=lcErrorMsg+CHR(13)+lowseDocRecibo.Detail OTHERWISE * Handle other error ENDCASE * Use for debugging purposes MESSAGEBOX(lcErrorMsg) FINALLY ENDTRY m.lcErrorMsg = "" TRY orespuesta = lowseDocRecibo. RecibeCFD(arch_xml) CATCH TO loException lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" - "+loException.Message =MESSAGEBOX(lcErrorMsg+'---',0+64,'Alerta') FINALLY ENDTRY IF EMPTY(m.lcErrorMsg) x_Status = STREXTR(orespuesta, [documentStatus="], ["]) x_mensaje = STREXTRACT(orespuesta,'<text>','<') IF x_status='ACCEPTED' SELECT soriana APPEND BLANK REPLACE folio WITH thisform.foLIO.Value REPLACE XML WITH arch_xml REPLACE respuesta WITH orespuesta repla enviado WITH .t. REPLACE fecha WITH DATE() REPLACE hora WITH TIME() =MESSAGEBOX('Archivo XML ha sido aceptado por soriana ',0+64,'Alerta') thisform.Release ELSE =MESSAGEBOX(x_mensaje,0+64,'Alerta') ENDIF ENDIF
Gracias...