Publicar sap b1 en iis

Buenos días expertos, le comento lo que estoy tratando de hacer.
Estoy utilizando SAP B1 DI API, el cual eh desarrollado una aplicación Web con ASP.NET C# lo que he hecho es mostrar una lista de clientes en la web lo cual funciona muy bien cuando ejecuto desde mi proyecto en visual studio 2017, en el lado de desarrollo eh cargado como referencia la API que trae sap, y bueno hasta ahi todo bien, pero cuando publico mi aplicativo WEb por IIS, no me muestra nada.eh verificado que en el proyecto este reverenciado y compilado el “SapBobs.COM” solo me funciona con vS pero no con el IIS, alguien me podría decir que me falta o algo estoy mail, saludos.

¿Algún mensaje de error?
¿Instalaste la DI API en la maquina donde esta corriendo el ISS?

Gracias Gabriel por responder, asi es en la misma maquina tengo VS 2017, Sap B1 con las DI API de 32bit y 64bits, en el IIS tengo la soportar aplicaciones a 32bits, lo estuvo en False lo pase a True pero persiste el problema, la unica manera de ver que ocurre es en el debbug de VS pero no me dice nada porque funciona bien siempre y cuando corra la aplicacion desde el VS, ahora para descartar tuve que poner un boton y que ejecute para que cuando corra por IIs pueda hacer click en el boton y me jale la lista ahora cuando hago click recien me pone el error dice.

si no bien recuerdo tu trabajas en Hana no? que no te queda mejor hacer desarrollo por Service layer?

Hola Daniel, esta vez tengo otro SAP B1 con SQLSERVER 2014, te refieres a hacerlo por Capa de Servicio(WebService)? lo hice pero me daba lo mismo y me era un poco complicado detectar el error, mejor lo hice directamente en webform.

Tengo que hacer unas pruebas.

Usualmente he hecho comunicación con paginas en ASP.net y SAP B1, pero al ser consultas únicamente, hago Querys directos con la BD (Solo consulta, esta permitido y solo hay que
usar sentido común). Cuando me ha tocado ingresar datos, por factores de tiempo y agilidad (La autenticacion y validacion de datos con la DI API tarda mucho) lo que hice fue usar una BD intermedia en donde ingresaba los datos requeridos / validados y posteriormente en el servidor con la BD SAP podia hacer 2 cosas:

1 - Crear un programa que consultara los nuevos registros en la BD intermedia y por medio de la DI API ingresarlos a SAP. Este programa se ejecutaba cada n minutos por una tarea programada o bien se activa por un trigger en la BD intermedia.
2 - Crear un escenario en el B1if que consultara los nuevos registros en la BD intermedia y los registre en SAP. Este escenario se ejecuta cada n minutos según la configuración del B1if. Si te pones creativo (y aprendes a utilizarlo), puedes usar el B1if para crear Web services con los que puedes consultar e ingresar datos directamente si necesidad de usar la DI API.

Hay otra opción, que es usar DI Server (SOAP), pero es mas complicado y requiere licencia. También esta el Service Layer pero es para HANA.

Saludos :vulcan_salute:

Gracias Gabriel por responder, creo que si logro entender lo que me indicas, en la 1, seria mas interesante aplicarlo, aunque seria trabajoso implementar, porque me parece que debería ingresar mas datos de lo que se requiere, como tabla relacionada y con la auditoria pero de todas maneras es muy internaste, me serviría para conocer mas la estructura de sap. ya tengo una idea entonces. Gracias estimado por la sugerencia.

Es muy raro el comportarmiento, tengo aplicaciones WEB que en tiempos atras desarrolle con DI API y funcionan super bien aun. Lo nuevo por decirlo así es DI SERVER o SERVICE LAYER. Valida que tengas instalo las DI API correspondientes.

Gracias Julian por responder, bueno yo nunca me percate de eso, siempre compraba la comunicacion con la base de datos desde la ejecuacion de mi proyecto en VS con el IIS express que trae, pero si publico mi aplicación hacia IIS ahí si estoy frito, cada accion que haga con los botones o login a ,la app me dice que no estoy conectado a la compañia, tengo instalado DI API 32 y 64, el ddl sapbobs.com esta referenciado y compilado, el proyecto de por si esta para que corrar como “ANY cpu” lo pase a 32y 64 y nada, en IIS en la opción de pool de aplicaciones indique que permita la ejecucion de aplicaciones a 32bits y nada. ya no tengo opciones, salvo lo que me comentaron tu y tu compañero. pero igual es una piedra que quiero quitar.

Hola carlos
En grupo de aplicaciones>Opciones avanzadas, en la opciones -hablitar aplicaciones de 32 bits debe estar en True
.net Framework v4.0

2 Me gusta

Alex, gracias por responde, si lo probé inicialmente, pero sigue sin funcionar.

Esta vez hice el Debbuger hacia IIS local, y me salio esto:

errorCode = -10
errorMsg = " - El nombre de recurso especificado no se encuentra en el archivo de imagen.\r\n"

Revisa este post:

h_tps://answers.sap.com/questions/236593/intento-conectarme-a-la-base-de-datos-a-traves-del.html

1 me gusta

Gracias, Gabriel por responder,llegue a encontrar el problema, estuve revisando los servicios y me tope con el servicio SLD que se ingresa con el puerto 40000 para publicar tus add-on y bueno simplemente cambie el 30000 por el 40000 y funciona, asegurence de cambiar el pool de aplicaciones en IIS local que permita la ejecucion de aplicaciones a 32 bits.

oCompany.LicenseServer = “192.168.1.100:40000”;

gracias a todos por sus atención.

2 Me gusta