1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

ProDataSet + WebService WSDL .NET

Discussão em 'Progress 4GL' iniciado por wellington, Julho 3, 2018.

  1. wellington

    wellington Membro Participativo

    Bom dia,
    Possuo um webservice em C# .NET na qual o parametro de INPUT é do tipo DataSet

    O WebService é simples e é apenas para testar a integração destes tipos para então dar continuidade na integração

    Código C# abaixo

    [WebMethod]
    public bool RecebeDataSetTESTE(DataSet ds_input)
    {
    if (ds_input.Tables.Count > 0)
    return true;
    else
    return false;
    }

    Quando o Progress 4GL entra neste WebMethod a variaval ds_input está vazia, sem nada dentro.
    Está faltando algo para que o progress consiga repassar este objeto serializado para o webservice .net?


    Abaixo o código Progress 4GL: (EM ANEXO TAMBEM)

    -----------------------

    DEFINE VARIABLE hWebService AS HANDLE NO-UNDO.
    DEFINE VARIABLE hws_cteSoap AS HANDLE NO-UNDO.
    DEFINE VARIABLE dataset1 AS LONGCHAR NO-UNDO.


    DEFINE VARIABLE hsgprocessos_wsSoap AS HANDLE NO-UNDO.

    /* DEFINE VARIABLE ds_input AS LONGCHAR NO-UNDO. */
    DEFINE VARIABLE RecebeDataSetTESTEResult AS LOGICAL NO-UNDO.

    DEFINE VARIABLE ds_output AS LONGCHAR NO-UNDO.
    DEFINE VARIABLE msg_ret AS CHARACTER NO-UNDO.


    DEFINE TEMP-TABLE tt-empresas NO-UNDO
    NAMESPACE-URI "http://tempuri.org/"
    FIELD cod_emp AS CHARACTER.



    TEMP-TABLE tt-empresas:SERIALIZE-NAME = "dt_input".


    /* DEFINE DATASET ds_input NAMESPACE-URI "WS_SGProcessos" /* XML-NODE-TYPE "HIDDEN" */ FOR tt-empresas . */
    DEFINE DATASET ds_input NAMESPACE-URI "http://tempuri.org/" /* XML-NODE-TYPE "HIDDEN" */ FOR tt-empresas .


    CREATE tt-empresas.
    ASSIGN tt-empresas.cod_emp = '3'.

    CREATE tt-empresas.
    ASSIGN tt-empresas.cod_emp = '50'.


    DATASET ds_input:SERIALIZE-NAME = "ds_input".


    DATASET ds_input:FILL().

    BUFFER tt-empresas:DETACH-DATA-SOURCE().

    CREATE SERVER hWebService.


    /* hWebService:CONNECT("-WSDL 'http://www.itilsolucoes.com/www/ws_sgprocessos/sgprocessos_ws.asmx?WSDL'"). */
    hWebService:CONNECT("-WSDL 'http://localhost:64884/sgprocessos_ws.asmx?WSDL'").


    RUN sgprocessos_wsSoap SET hsgprocessos_wsSoap ON hWebService.

    DATASET ds_input:WRITE-XML("file", "C:\magat\teste_ds.xml", TRUE).


    RUN RecebeDataSetTESTE IN hsgprocessos_wsSoap(INPUT DATASET ds_input, OUTPUT RecebeDataSetTESTEResult).

    Arquivos Anexados:

Compartilhe esta Página