Tabla de contenido
Uso Global Shop Solutions WebAPI para el acceso a datos Uso de la aplicación de mantenimiento SWS Pasos para invocar los datos desde Azure Portal: otras versionesUso Global Shop Solutions WebAPI para acceso a datos
Hay dos partes en esta aplicación:
- Aplicación de mantenimiento de SWS que se utiliza para crear ID de aplicación
- Invocar los datos utilizando el applicationID creado anteriormente.
Uso de la aplicación de mantenimiento SWS
Esta aplicación se utiliza para crear una ID de aplicación para los usuarios. Este ID de aplicación se utiliza en el servicio para verificar si el usuario tiene acceso a la operación de base de datos que solicita. Este ID de aplicación es el único detalle que se proporciona al usuario final que necesita acceder a los datos de forma externa a través de una solicitud web.
Campos de formulario :
- Nombre de usuario y contraseña: el nombre de usuario y la contraseña del usuario de la base de datos que necesita acceso.
- Descripción: Descripción del usuario/acceso concedido.
- Base de datos: Contiene la lista de todas las bases de datos disponibles para su empresa. Elija la base de datos a la que el usuario mencionado anteriormente necesita acceder.
- Activo: Indica si el usuario está activo.
Vista de cuadrícula :
- Contiene la lista de todos los ID de aplicación (es una cadena única generada aleatoriamente) y sus datos asociados.
- EDITAR/Eliminar: haga doble clic en cualquiera de las columnas de la fila que desea editar/eliminar. Los detalles asociados con esa fila se muestran en el formulario para editar/eliminar. Todos los campos que no sean ApplicationID se pueden editar.
- La cuadrícula y la base de datos se actualizan después de hacer clic en Guardar/Eliminar. Cancelar se utiliza para borrar el formulario.
SWS_AppRegistration solo debe iniciarse desde el menú GS Esta aplicación debe agregarse como elemento de menú personalizado en Business Intelligence->Archivos->Agregar elemento de menú personalizado (agregarlo como tipo de programa externo) y establecer el campo de indicadores en `%FQLF%`. Esto asegurará que la aplicación solo se pueda iniciar desde el menú.
Pasos para invocar los datos de Azure Portal:
1. Vaya a Azure Portal y cree una nueva aplicación lógica.
2. Una vez que el recurso esté listo, vaya a Herramientas de desarrollo > Diseñador de aplicaciones lógicas > Aplicación lógica en blanco y busque desencadenador HTTP.
3. Agregue el disparador HTTP al diseñador de la aplicación lógica y proporcione todos los detalles y guarde el diseñador.
Método : POST
URL : https://GLO010.gss-webapi.com:16000/TURNRESTSERVICE
Encabezados : tipo de contenido, aplicación/json
Cuerpo : {"input":"ExecuteQueryWithReturn*!*Seleccione parte, ubicación, contenedor, calor, lote, número de serie, cantidad de V_Item_Master*!*30df66e57e2365696560fde79a7b7ce9"}
Proporcione la URL correcta para invocar el servicio TURN REST. La URL varía según el número de Cliente y es única para cada cliente. Será proporcionado por GS .
Formato de URL: https://[CompanyNo].gss-webapi.com:16000/TURNRESTSERVICE
Obtendremos datos JSON de este paso.
4. Agregue un nuevo paso para analizar los datos JSON a fin de que los datos sean legibles para la base de datos.
Haga clic en Nuevo paso y busque Parse Json. Seleccione Analizar JSON en la sección Acciones.
Proporcionamos el cuerpo de la salida de la solicitud HTTP como el contenido de la acción Parse JSON.
Contenido : Cuerpo HTTP
Esquema : Proporcione el esquema JSON para la tabla que está invocando
Ejemplo de esquema para la tabla ITEM_MASTER :
{ "$esquema": "http://json-schema.org/draft-04/schema#", "propiedades": { "MESA": { "elementos": [ { "propiedades": { "Papelera": { "tipo": "cadena" }, "Calor": { "tipo": "cadena" }, "Ubicación": { "tipo": "cadena" }, "Lote": { "tipo": "cadena" }, "Parte": { "tipo": "cadena" }, "Cantidad": { "tipo": "cadena" }, "Número de serie": { "tipo": "cadena" } }, "requerido": [ "Parte", "Ubicación", "Compartimiento", "Calor", "Lote", "Número de serie", "Cantidad" ], "tipo": "objeto" } ], "tipo": "matriz" } }, "requerido": [ "MESA" ], "tipo": "objeto" }
El esquema varía de una tabla a otra. Como TURN devuelve los datos JSON envueltos en el objeto "TABLA", usamos el nombre del objeto como "TABLA" para todos los esquemas.
Asegúrese de haber creado la tabla en Azure dB Instance. Al crear la tabla en sql, asegúrese de agregar restricciones únicas para evitar datos duplicados.
5. Para almacenar los datos en la base de datos usamos el procedimiento de almacenamiento. Debe crear un procedimiento de almacenamiento en la base de datos que acepte los datos en formato JSON. Estamos utilizando el procedimiento de almacenamiento ya que habrá una gran cantidad de datos.
Ejemplo de procedimiento de almacenamiento para la tabla ITEM_MASTER que acepta datos JSON :
UTILIZAR [ASI]
VAMOS
ESTABLECER ANSI_NULLS EN
VAMOS
ESTABLECER QUOTED_IDENTIFIER EN
VAMOS
CREAR PROCEDIMIENTO [dbo].[SP_ITEM_MASTER]
(
@JSON NV ARC HAR(MÁX.)
)
COMO
COMENZAR
INSERTAR EN ITEM_MASTER
(
[PARTE], [UBICACIÓN], [LOTE], [BIN], [CALOR], [NÚMERO_DE SERIE], [CANTIDAD]
)
SELECCIONE
[PARTE], [UBICACIÓN], [LOTE], [BIN], [CALOR], [NÚMERO_DE SERIE], [CANTIDAD]
Desde OPENJSON(@JSON)
con(
[PARTE] char(20) '$.Parte' ,
[UBICACIÓN] char(2) '$.Ubicación',
[LOTE] char(15) '$.Lote',
[BIN] char(6) '$.Bin',
[CALOR] char(15) '$.Calor',
[NÚMERO_DE_SERIA] char(30) '$.Número_de_serie',
[CANTIDAD] numérico(15, 6) '$.Cantidad')
Fin
VAMOS
Agregue un nuevo paso y seleccione para SQL Server. En el servidor SQL, seleccione Ejecutar procedimiento de almacenamiento.
ServerName : nombre del servidor donde está presente la instancia de Azure.
Nombre de la base de datos: nombre de la base de datos donde están presentes la tabla de invocación y el SP.
Nombre del procedimiento : Nombre del procedimiento de almacenamiento. Cuando seleccione el nombre del procedimiento de almacenamiento en el menú desplegable, le pedirá "Agregar nuevo parámetro".
Agregar nuevo parámetro : proporcionará el JSON como parámetro, que agrega un nuevo elemento JSON en la ventana. Ahora proporcione el "elemento" de salida de Parse JSON como entrada del JSON.
Según los parámetros de salida que seleccionamos, A para cada contenedor se agrega automáticamente. Cada uno le permite realizar acciones para cada elemento individual en un conjunto de valores.
6. Ahora guarde la aplicación lógica y ejecute la aplicación lógica
Los siguientes métodos están disponibles para que los usuarios invoquen los datos:
1. Ejecutar Consulta
Este método acepta la consulta como String junto con ApplicationID. Utilice esta función para las operaciones de inserción, actualización y eliminación en la base de datos.
La sintaxis contiene el nombre del método junto con la identificación de la aplicación y la consulta delimitada por *!*
Sintaxis :
ExecuteQuery*!*Query*!*AppID
Paquete de datos de muestra :
ExecuteQuery*!*Insert Into "mUsers"(UserId, UserName, Pwd) Values(1,'user1','pwd1')*!* s34awda232wdeu74813asda
2. Ejecutar Consulta Con Retorno
Este método acepta la consulta como String junto con ApplicationID y devuelve los datos en forma de String con formato XML. El usuario puede almacenar esto en un archivo y cargarlo en una tabla de datos. Esta función se utiliza para recuperar datos (para instrucciones Select)
Sintaxis :
ExecuteQueryWithReturn*!*Query*!*AppID
Paquete de datos de muestra :
ExecuteQueryWithReturn *!*Seleccione * de mUsers Donde id = 5*!* s34awda232wdeu74813asda
3. Ejecutar SP
Este método acepta el nombre del procedimiento almacenado como String junto con ApplicationID.
Este método toma nombres de parámetros y valores de parámetros como pares de valores de nombre. Los nombres y sus valores correspondientes deben especificarse en el mismo orden. Utilice esta función para las operaciones de inserción, actualización y eliminación en la base de datos.
Sintaxis :
ExecuteSP*!*StoredProcedureName*!*AppID*!*param1name*!*param1value*!*param2name*!*param2value…….*!*paramNname*!*paramNvalue
Paquete de datos de muestra
(este ejemplo SP InsertmUser acepta nombre de usuario y contraseña como parámetros)
Ejecutar SP*!*InsertmUser*!*s34awda232wdeu74813asda*!*@UserName*!*testUser*!*@Pwd*!*testPassword
4. EjecutarSPConRetorno
Este método acepta el nombre del procedimiento almacenado como String junto con ApplicationID y devuelve los datos en forma de una cadena con formato XML.
Este método toma nombres de parámetros y valores de parámetros como pares de valores de nombre. Los nombres y sus valores correspondientes deben especificarse en el mismo orden. La cadena de retorno se puede almacenar en un archivo y el usuario puede cargarla en una tabla de datos. Este método se utiliza para recuperar datos (para instrucciones Select)
Sintaxis :
ExecuteSPWithReturn*!*StoredProcedureName*!*AppID*!*param1name*!*param1value*!*param2name*!*param2value…….*!*paramNname*!*paramNvalue
Paquete de datos de muestra :
(este ejemplo SP CheckUser acepta nombre de usuario y contraseña como parámetros)
Ejecutar SPWithReturn*!*CheckUser*!*s34awda232wdeu74813asda*!*@UserName*!*testUser*!*@Pwd*!*testPassword
5. Solicitud de datos de servicio
Este método se usa para indicarle al servicio que realice cualquier acción según el valor de sCommand.
ApplicationID en este caso es un valor predeterminado ("abcd1234") y solo esto se puede usar para realizar cualquier acción.
Valores actualmente disponibles para sCommand:
EnableLogging: este comando habilita el registro si está deshabilitado y viceversa.
uso :
SOLICITAR DATOS DE SERVICIO*!*LOGGIN GS TATUS*!*abcd1234
6. Ejecutar comando de servicio
Este método se utiliza para solicitar datos del servicio en función del valor de sCommand.
ApplicationID en este caso es un valor predeterminado ("abcd1234") y solo esto se puede usar para solicitar datos.
Valores disponibles actualmente para sCommand:
LoggingStatus: este comando devuelve el estado de registro actual del servicio.
uso :
EJECUTAR COMANDO DE SERVICIO*!*HABILITARREGISTRO*!*abcd1234
INVOCANDO TURN REST USANDO VB.NET :
Solicitud de subproceso público ()
Dim resultado como cadena = ""
Dim sresultpath As String = Environment.CurrentDirectory + "\WCF-RESTResult.txt"
Tratar
Dim input As Object = New With {.input = "ExecuteQueryWithReturn*!*Select Part, Location, Bin, Heat, Lot, Serial_Number, Cantidad from V_Item_Master*!*30df66e57e2365696560fde79a7b7ce9"}
Dim solicitud como HttpWebRequest = DirectCast(WebRequest.Create("http://GLO010.gss-webapi.com:16000/TURNRESTService"), HttpWebRequest)
request.ContentType = "aplicación/json"
solicitud.Método = "POST"
Usar myStream como StreamWriter = New StreamWriter(request.GetRequestStream)
Dim MyjsonInput As String = New JavaScriptSerializer().Serialize(input)
myStream.Write(MyjsonInput)
Terminar de usar
Usando la respuesta como WebResponse = request.GetResponse()
Usando rd como StreamReader = New StreamReader(response.GetResponseStream())
Dim outXML As String = HttpUtility.aspDecode(rd.ReadToEnd)
Resultado = outXML
Dim startPos = InStr(outXML, "<NewDataSet>")
Dim endPos = InStr(outXML, "<\/NewDataSet>") + 13
Resultado = outXML.Substring(startPos - 1, endPos - startPos)
Terminar de usar
Usando outputFile como New StreamWriter (sresultpath, False)
archivo de salida. Escribir (Resultado)
Terminar de usar
Terminar de usar
Captura ex como WebException
Dim msg = New StreamReader (ex.Response.GetResponseStream()).ReadToEnd()
MsgBox(mensaje)
Captura ex como System.Exception
MessageBox.Show (por ejemplo, ToString)
Finalizar intento
Finalizar sub
Otras versiones
- Versión 1
- Versión 2
- Versión 3
- Versión 4