Usuário com melhor resposta
Ler a construção do XML

Pergunta
-
Bom dia pessoal
Estou fazendo uma comunicação com um web service por C#, e preciso ver como está sendo montado o XML, eu consigo fazer a comunicação, envia, consigo pegar o retorno, mas preciso identificar alguns detalhes no XML de envio.
Meu codigo:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Security.Cryptography.X509Certificates; namespace WebServiceRNTRCUltimo { /// <summary> /// Summary description for Service1 /// </summary> [WebService(Namespace = "http://webservice.pamcard.jee.pamcary.com.br")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class Service1 : System.Web.Services.WebService { private List<WebPamCary.fieldTO> fields = new List<WebPamCary.fieldTO>(); public void adicionaFields(string _key, string _value) { WebPamCary.fieldTO wbF = new WebPamCary.fieldTO(); wbF.key = _key; wbF.value = _value; fields.Add(wbF); } [WebMethod] public List<string> ConsomeRNTRC(string _numeroContratante, string _documentoNNumeroCNPJCPF, string _numeroRNTRC) { //System.Console.Out.WriteLine("Declarando o endpoint e o parâmetro de entrada."); WebPamCary.WSTransacionalClient wsTransacional = new WebPamCary.WSTransacionalClient(); WebPamCary.execute request; request = new WebPamCary.execute(); request.arg0 = new WebPamCary.requestTO(); //System.Console.Out.WriteLine("Declarando os valores de entrada que serão compostos no Request"); //System.Console.Out.WriteLine("Definindo o contexto e os 'fieldTO'"); request.arg0.context = "FindRNTRC"; /* ************* Adiciona os campos ************************ */ adicionaFields("viagem.contratante.documento.numero", _numeroContratante); adicionaFields("viagem.favorecido.documento.qtde", "2"); string CNPJ = "6"; if (_documentoNNumeroCNPJCPF.Length > 12) { adicionaFields("viagem.favorecido.documento1.tipo", "1"); CNPJ = "6"; } else { adicionaFields("viagem.favorecido.documento1.tipo", "2"); CNPJ = "5"; } adicionaFields("viagem.favorecido.documento1.numero", _documentoNNumeroCNPJCPF); adicionaFields("viagem.favorecido.documento2.tipo", CNPJ); adicionaFields("viagem.favorecido.documento2.numero", _numeroRNTRC); /* ************* Adiciona os campos ************************ */ request.arg0.fields = new WebPamCary.fieldTO[6]; for (int i = 0; fields.Count > i; i++) { request.arg0.fields.SetValue(fields[i], i); } /* X509Certificate2 certificado = new X509Certificate2("D:\\Certificado\\pamcard_coopercarga_81800849000141.crt"); wsTransacional.ClientCredentials.ClientCertificate.Certificate = certificado; */ List<string> retorno = new List<string>(); //System.Console.Out.WriteLine("Executando o request."); WebPamCary.executeResponse response = wsTransacional.execute(request); //System.Console.Out.WriteLine("Tratando da resposta."); WebPamCary.fieldTO[] itensReposta = response.@return; foreach (WebPamCary.fieldTO item in itensReposta) { retorno.Add(item.key + "|" + item.value); } return retorno; } } }
Se alguem souber como faço para pegar esse XML antes do envio, ou se tem algum propriedade que posso usar.
Obrigado
- Movido Levi DomingosModerator quarta-feira, 8 de maio de 2013 20:24
Respostas
-
Olá,
O XML o qual se refere é o que você monta e retorna como string? Caso sim, basta verificar o conteúdo dessa String de retorno.
Caso você queira verificar o XML completo retornado na mensagem SOAP, você pode utilizar o programa SOAPUI.
Abraços
- Marcado como Resposta Felipo GonçalvesModerator terça-feira, 14 de maio de 2013 11:46