none
Separador decimal al consumir OSB RRS feed

  • Pregunta

  • Buenas,

    Se tiene un OSB desplegado en un servidor Web Logic el cual es consumido desde una aplicación Asp.Net Web Forms. El OSB invoca un procedimiento almacenado que devuelve como parámetro de salida un Number con separador decimal punto ya que así debe estar configurado en la BD Oracle. Al invocar desde SOAP-UI al servicio, el separador decimal cambia a coma y de igual manera ocurre al consumirlo desde la aplicación .Net lo cual provoca un error de Formato en .Net al no poder realizar la  conversión a decimal. He revisado el separador decimal numérico desde el Panel Control de mi equipo de desarrollo y está con punto y me pregunto ¿por qué SOAP-UI me devuelve coma? o es que se debe realizar la configuración en el servidor Web Logic. Había pensado cambiar desde el código C# la coma a punto y solucionado el asunto pero creo que no es lo más saludable.

    Por favor su apoyo a ver si me aclaran, muchas gracias.

    miércoles, 2 de agosto de 2017 13:28

Respuestas

  • hola

    de igual manera ocurre al consumirlo desde la aplicación .Net lo cual provoca un error de Formato en .Net al no poder realizar la  conversión a decimal

    como invocas desde .net al servicio? mencionas un soap, pero no tienes que defini esto desde .net ya que puedes crear un Web Reference para que se cree un proxy con codigo que usarias para invocar

    de esta forma deberias tener una propiedad donde asignes un valor numerico, con lo cual el signo de puntuacion no deberia afectar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 2 de agosto de 2017 21:13

Todas las respuestas

  • hola

    de igual manera ocurre al consumirlo desde la aplicación .Net lo cual provoca un error de Formato en .Net al no poder realizar la  conversión a decimal

    como invocas desde .net al servicio? mencionas un soap, pero no tienes que defini esto desde .net ya que puedes crear un Web Reference para que se cree un proxy con codigo que usarias para invocar

    de esta forma deberias tener una propiedad donde asignes un valor numerico, con lo cual el signo de puntuacion no deberia afectar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 2 de agosto de 2017 21:13
  • Gracias Leandro por reponder,

    puedes crear un Web Reference para que se cree un proxy con codigo que usarias para invocar

    >> Efectivamente, he creado un Web Reference utilizando el asistente que crea un Reference.cs creo que ésta es la "clase proxy" a la que te refieres (en realidad son varias clases que se crean dentro de este archivo). Dentro de dicho archivo se encuentra una clase que contiene el método que invoco y un parámetro de salida llamado saldo de tipo float. Al invocar dicho método ocurre una Excepción pero cuando cambio dicho tipo a string ya no ocurre el  error y observo que devuelve la coma como separador decimal a pesar que la Base de Datos devuelve punto.

    domingo, 6 de agosto de 2017 14:25