Erro ao enviar dados via web service

Estou tentando consumir um metodo do meu web service mas estou tendo problemas já validei os dados e não achei o erro via soupui funciona e alimentar direto via dataset tbm alguem poderia me ajudar? minha constraint (log)

{
  "fieldName" : "pedido",
  "initialValue" : "{\r\n  \"oPERFAT\" : \"2\",\r\n  \"cONTRATOMDW\" : \"FLUIG\",\r\n  \"dATAENTREGA\" : \"20180801\",\r\n  \"nQTDE\" : 1.0,\r\n  \"tIPOPV\" : \"N\",\r\n  \"cENTROCUSTO\" : \"252\",\r\n  \"cODCLIENTE\" : \"005792\",\r\n  \"tIPOCLIENTE\" : \"F\",\r\n  \"nATUREZA\" : \"111\",\r\n  \"lOJACLIENTE\" : \"01\",\r\n  \"vENDEDOR\" : \"005677\",\r\n  \"cONDPAG\" : \"003\",\r\n  \"mSGNOTA\" : \"FLUIG TESTE\",\r\n  \"nPRCVENDA\" : 1000.0,\r\n  \"cGC\" : \"60820750000131\"\r\n}",
  "finalValue" : "{\r\n  \"oPERFAT\" : \"2\",\r\n  \"cONTRATOMDW\" : \"FLUIG\",\r\n  \"dATAENTREGA\" : \"20180801\",\r\n  \"nQTDE\" : 1.0,\r\n  \"tIPOPV\" : \"N\",\r\n  \"cENTROCUSTO\" : \"252\",\r\n  \"cODCLIENTE\" : \"005792\",\r\n  \"tIPOCLIENTE\" : \"F\",\r\n  \"nATUREZA\" : \"111\",\r\n  \"lOJACLIENTE\" : \"01\",\r\n  \"vENDEDOR\" : \"005677\",\r\n  \"cONDPAG\" : \"003\",\r\n  \"mSGNOTA\" : \"FLUIG TESTE\",\r\n  \"nPRCVENDA\" : 1000.0,\r\n  \"cGC\" : \"60820750000131\"\r\n}",
  "fieldType" : null,
  "likeSearch" : false,
  "constraintType" : "MUST"
}

//retorno do dataset

{
  "values" : [ [ "javax.xml.ws.soap.SOAPFaultException: INTERNAL SERVER ERROR", "{\r\n  \"oPERFAT\" : \"\",\r\n  \"cONTRATOMDW\" : \"\",\r\n  \"dATAENTREGA\" : \"\",\r\n  \"nQTDE\" : \"\",\r\n  \"tIPOPV\" : \"\",\r\n  \"cENTROCUSTO\" : \"\",\r\n  \"cODCLIENTE\" : \"\",\r\n  \"tIPOCLIENTE\" : \"\",\r\n  \"nATUREZA\" : \"\",\r\n  \"lOJACLIENTE\" : \"\",\r\n  \"vENDEDOR\" : \"\",\r\n  \"cONDPAG\" : \"\",\r\n  \"mSGNOTA\" : \"\",\r\n  \"nPRCVENDA\" : \"\",\r\n  \"cGC\" : \"\"\r\n}" ] ],
  "indexes" : [ ],
  "fieldTypes" : {
    "pedidov" : "STRING",
    "error" : "STRING"
  },
  "map" : [ {
    "pedidov" : "{\r\n  \"oPERFAT\" : \"\",\r\n  \"cONTRATOMDW\" : \"\",\r\n  \"dATAENTREGA\" : \"\",\r\n  \"nQTDE\" : \"\",\r\n  \"tIPOPV\" : \"\",\r\n  \"cENTROCUSTO\" : \"\",\r\n  \"cODCLIENTE\" : \"\",\r\n  \"tIPOCLIENTE\" : \"\",\r\n  \"nATUREZA\" : \"\",\r\n  \"lOJACLIENTE\" : \"\",\r\n  \"vENDEDOR\" : \"\",\r\n  \"cONDPAG\" : \"\",\r\n  \"mSGNOTA\" : \"\",\r\n  \"nPRCVENDA\" : \"\",\r\n  \"cGC\" : \"\"\r\n}",
    "error" : "javax.xml.ws.soap.SOAPFaultException: INTERNAL SERVER ERROR"
  } ],
  "columnsCount" : 2,
  "rowsCount" : 1,
  "columnsName" : [ "error", "pedidov" ],
  "keyFields" : null,
  "updatedRows" : [ ],
  "insertedRows" : [ [ "javax.xml.ws.soap.SOAPFaultException: INTERNAL SERVER ERROR", "{\r\n  \"oPERFAT\" : \"\",\r\n  \"cONTRATOMDW\" : \"\",\r\n  \"dATAENTREGA\" : \"\",\r\n  \"nQTDE\" : \"\",\r\n  \"tIPOPV\" : \"\",\r\n  \"cENTROCUSTO\" : \"\",\r\n  \"cODCLIENTE\" : \"\",\r\n  \"tIPOCLIENTE\" : \"\",\r\n  \"nATUREZA\" : \"\",\r\n  \"lOJACLIENTE\" : \"\",\r\n  \"vENDEDOR\" : \"\",\r\n  \"cONDPAG\" : \"\",\r\n  \"mSGNOTA\" : \"\",\r\n  \"nPRCVENDA\" : \"\",\r\n  \"cGC\" : \"\"\r\n}" ] ],
  "deletedRows" : [ ],
  "keyFieldsAndIndex" : { },
  "insertOrUpdateRows" : [ ]
}

//estrutura do metodo que esta sendo chamado

<soap:Body>
   <PEDIDOV>
      <CENTROCUSTO>STRING</CENTROCUSTO>
      <CGC>STRING</CGC>
      <CODCLIENTE>STRING</CODCLIENTE>
      <CONDPAG>STRING</CONDPAG>
      <CONTRATOMDW>STRING</CONTRATOMDW>
      <DATAENTREGA>STRING</DATAENTREGA>
      <LOJACLIENTE>STRING</LOJACLIENTE>
      <MSGNOTA>STRING</MSGNOTA>
      <NATUREZA>STRING</NATUREZA>
      <NPRCVENDA>FLOAT</NPRCVENDA>
      <NQTDE>FLOAT</NQTDE>
      <OPERFAT>STRING</OPERFAT>
      <TIPOCLIENTE>STRING</TIPOCLIENTE>
      <TIPOPV>STRING</TIPOPV>
      <VENDEDOR>STRING</VENDEDOR>
   </PEDIDOV>
</soap:Body>

//meu after prossesing

var pedido = {

             "oPERFAT"         : "2",
             "cONTRATOMDW"     : form.getValue("CCONTRATOMDW"),
             "dATAENTREGA"     : form.getValue("dATAENTREGA"),
             "nQTDE"         : parseFloat(form.getValue("NNQTDE")),
             "tIPOPV"         : form.getValue("tIPOPV"),
             "cENTROCUSTO"     : form.getValue("cENTROCUSTO"),
             "cODCLIENTE"     : form.getValue("cODCLIENTE"),
             "tIPOCLIENTE"     : form.getValue("tIPOCLIENTE"),
             "nATUREZA"     : form.getValue("nATUREZA"),
             "lOJACLIENTE"     : form.getValue("lOJACLIENTE"),
             "vENDEDOR"     : form.getValue("vENDEDOR"),
             "cONDPAG"         : form.getValue("CCONDPAG"),
             "mSGNOTA"         : form.getValue("CHISTTIT"),
             "nPRCVENDA"     : parseFloat(form.getValue("NNPRCVENDA")),
             "cGC"             : form.getValue("CCGC")            

    }

    var pedidoStr = JSONUtil.toJSON(pedido);

    var constrPedido = DatasetFactory.createConstraint("pedido", pedidoStr, pedidoStr, ConstraintType.MUST);

    var dataset = DatasetFactory.getDataset("ds_pedidoVendoProd", null, new Array(constrPedido), null);


    return dataset; 

}
compartilhar
  • ESTA SIM, SE EU ALIMENTAR OS DADOS DIRETO NO DATASET ELE ENVIA

    willian carlos   01 de Aug de 2018
  • Ao que parece o nome do objeto seria pedidov, então você teria que passar uma constraint com esse nome, no caso DatasetFactory.createConstraint("pedidov", pedidoStr, pedidoStr, ConstraintType.MUST);

    Diogo Boegershausen   01 de Aug de 2018
  • Era isso mesmo! Obrigado, estou o dia todo quebrando a cabeça com isso

    willian carlos   01 de Aug de 2018
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags webservice formulario datasets protheus12 ou faça a sua própria pergunta.