Cómo invocar un servicio de proxy de descanso que se ejecuta en el ESB desde un proceso de BPEL en el BPS

StackOverflow https://stackoverflow.com//questions/9707851

  •  14-12-2019
  •  | 
  •  

Pregunta

He configurado BPS y he creado algunos procesos de BPEL que puedo usar para invocar servicios en el servidor de aplicaciones. He creado un servicio de proxy de descanso en la ESB que utiliza un punto final a un servidor de LabVIEW. En LabVIEW tengo un servicio de descanso muy básico que genera un valor aleatorio cada segundo. Puedo acceder al servicio de descanso de la siguiente manera, se sigue http://localhost:8000/Maths/random. Esto genera la salida de Follwing con un valor aleatorio

RValue:19.000000

He tenido éxito en acceder a este servicio a través del servidor de gadget y mostrar el valor como un gráfico que usa el marco de gráficos WSO2.

Pero estoy teniendo problemas cuando intento invocar el mismo servicio proxy desde un proceso de BPEL. He generado un archivo WSDL para el servicio proxy de la ESB. Este archivo WSDL se utiliza para las conexiones de puerto, etc. Solo tiene una operación de la operación "Mediado" sin parámetros o elementos. He seguido algunos de los tutoriales para el servidor BPS para invocar el servicio, pero no he tenido ningún éxito hasta ahora. ¿Alguien puede mostrarme cómo se puede hacer esto o apuntarme a un tutorial similar? Muchas gracias.

u raza A continuación se muestra el error de BPS que recibo

[2012-03-15 18: 22: 33,265] INFO - BPELSERVERIMPL - Proceso registrado { http://areasearvice.bpel .bps } Áreaservice-14. [2012-03-15 18: 22: 42,282] Info - CarbonauthenticationUtil - 'Admin' inició sesión en [2012-03-15 18: 22: 42,0282] de la dirección IP 143.53.207.235 [2012-03-15 18: 23: 09,041] Error - BpelObjectFactory $ BOMSAXArrorHandler - NULL: Archivo: /// D: /esb/wso2/wso2bps-2.1.0/tmp/work/bepeltemp/1.33183578879275e12/bpelrest/restfulproxy .bpel: 88: 56: CVC-Complejo-Type.3.2.2: Attribute 'XML: Space' no se permite que aparezca en el elemento 'BPEL: Literal'. [2012-03-15 18: 23: 09,043] Warn - BpelObjectFactory - Errores de validación durante el análisis, continuando debido a -dorg.apache.de.compiler.failonvalidationerrors= Falso Switch [2012-03-15 18: 23: 09,046] INFO - BPELC - INFO: [COMPINIRPROCESS] COMPANTE EL PROCESO DE BPEL. [2012-03-15 18: 23: 09,116] Info - WSDLRregistry - WSDL en el archivo: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bepeltemp/1.33183578879275e12/bpelrest/getlvrandomproxy.wsdl es un Importación duplicada, todos sus documentos deben estar en diferentes espacios de nombres (no es agradable, pero aún así funcionará). [2012-03-15 18: 23: 09,116] Info - WSDLRregistry - WSDL en el archivo: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bpepeltmp/1.33183578879275e12/bpelrest/getlvrandomproxy.wsdl ya está Importado, esto denota una referencia circular. [2012-03-15 18: 23: 09,134] ERROR - BPELC - Archivo: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bpepeltmp/1.33183578879275e12/bpelrest/restfulproxy.bpel: 72: error : [CopyTomessageFromNonMessage] Copiar a la variable de mensaje RestProxyPlRREQUEST requiere un mensaje para el valor R. [2012-03-15 18: 23: 09,139] ERROR - BPELC - Archivo: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bpepeltmp/1.33183578879275e12/bpelrest/restfulproxy.bpel: 95: Error : [COPYFROMESSAGEGETONONONMESSAJE] Copia de la variable de mensaje RestProxyplRrespuesta requiere un mensaje para el valor L. [2012-03-15 18: 23: 09,143] Error - BPELUPLOADEXECUTOR - Fallo de compilación de procesos BPEL. org.apache.ode.bpel.compiler.api.comPilationException: Error: [CompilationErrors] Recopilación completada con 2 error (s): Archivo: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bepeltemp/1.33183578879275E12/BPELREST/RESTFERPROXY.BPEL: 72: ERROR: [CopyTomessageFromNonMessage] Copiar a la variable RestProxyPlReQuest requiere un mensaje para el R- valor. Archivo: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bepeltemp/1.33183578879275E12/BPELREST/RESTFERPROXY.BPEL: 95: ERROR: [COPYFMOMESSAGETONONEMESSAYE] Copia de la variable de mensaje RestProxyplRrespuesta requiere un mensaje para la L- valor. en org.apache.de.bpel.compiler.bpelcompiler.compile (bpelcompiler.java:815) en org.apache.de.bpel.compiler.bpelc.compile (bpelc.java:278) en org.apache.de.bpel.compiler.bpelc.compile (bpelc.java:364) en org.apache.de.store.DeployMentunitDir $ 5.run (desplienceunitdir.java:213) en org.apache.de.utils.internpool.runblock (internpool.java:57) en org.apache.de.store.DeployMentunitDir.Compile (desplienceunitdir.java:210) en org.apache.ode.store.DeployMentunitDir.comPile (desplienceunitdir.java:169) en org.wso2.carbon.bpel.ui.fileupload.bpeluplupodexecutor.validatebpelpackage (bpeluplodexecutor.java:262) en org.wso2.carbon.bpel.ui.fileupload.bpeluplodexecutor.execute (bpeluplodexecutor.java:101) en org.wso2.carbon.ui.transports.fileupload.abstractfileupleadexecutor.executegeneric (abstractfileuplodexecutor.java:105) en org.wso2.carbon.ui.transports.fileupload.fileuplodexecutormanager $ carbonxmlfileupleadexechandler.execute (Fileuplodexecutormanager.java :392) en org.wso2.carbon.ui.transports.fileupload.fileuplodexecutormanager $ FileupLodeExecutionHandlermanager.startexec (Fileuplodexecutormanager.java :276) en org.wso2.carbon.ui.transports.fileupload.fileuplodexecutormanager.execute (FileuplodexEcutormanag

er.java:125) en org.wso2.carbon.ui.transports.fileuploadservlet.dopost (Fileuploadservletle.java:57) en javax.servlet.http.httpservletlet.service (httpservlet.java:641) en javax.servlet.http.httpservlet.service (httpservlet.java:722) en org.eclipse.equinox.http.helper.contextpathservletletaptor.service (contextpathservletapletaptor.java:36) en org.eclipse.equinox.http.servlet.internal.servletRegistration.HandleRequest (ServleTregistration.Java:90) en org.eclipse.equinox.http.servlet.internal.proxServlet.processalias (ProxyServlet.Java :111) en org.eclipse.equinox.http.servlet.internal.proxyservlet.service (proxyServlet.Java:67) en javax.servlet.http.httpservlet.service (httpservlet.java:722) en org.wso2.carbon.bridge.bridgeservlet.service (bridgeservlet.java:155) en javax.servlet.http.httpservlet.service (httpservlet.java:722) en org.apache.catalina.core.applicationfilterchain.internaldofilter (applicationfilterchain.java:304) en org.apache.catalina.core.applicationfilterchain.dofilter (applicationfilterchain.java:210) en org.apache.catalina.core.standardwrappervalve.invoke (Standardwrappervalve.java:240) en org.apache.catalina.core.standardcontextvalve.invoke (StandardContextValve.Java:164) en org.apache.catalina.authenticator.authenticatorbase.invoke (autenticatorbase.java:462) en org.apache.catalina.core.standardhostvalve.invoke (StandardHostvalve.Java:164) en org.apache.catalina.valves.errorreportvalve.invoke (Erorreportvalve.Java:100) en org.wso2.carbon.server.tomcatserver $ 1.invoke (tomcatserver.java:241) en org.apache.catalina.vales.accessLogvalve.invoke (AccessLogvalve.Java:563) en org.apache.catalina.core.standardeginevalve.invoke (StandardEnginevalve.java :118) en org.apache.catalina.connector.coyoteadapter.service (coyoteadadapter.java:399) en org.apache.coyote.http11.http11nioprocessor.process (http11nioprocessor.java:396) en org.apache.coyote.http11.http11nioprotocol $ http11connectionhandler.process (http11nioprotocol.java:356) en org.apache.tomcat.util.net.nioendpoint $ socketprocessor.run (nioendpoint.java:1534) en java.util.concurrent.threadpoolExecutor $ trabajador.runtask (fuente desconocida) en java.util.current.threadpoolExecutor $ trabajador.run (fuente desconocida) en java.lang.thread.run (fuente desconocida)

¿Fue útil?

Solución

Intenté esto y aquí he proporcionado una muestra de BPEL para invocar el siguiente servicio proxy.Encuentre los artefactos de muestra de aquí . Nota: debe obtener una clave API de Leaders y reemplace con MyKeyHere.

<proxy name="GetProxy" transports="https http" startOnLoad="true" trace="disable">
        <target>
            <inSequence>
                <log level="full"/>
                <property name="HTTP_METHOD" value="GET" scope="axis2"/>
                <property name="REST_URL_POSTFIX" value="/4776766.xml?key=MyKeyHere" scope="axis2"/>
                <send>
                    <endpoint>
                        <address uri="http://www.goodreads.com/author/list"/>
                    </endpoint>
                </send>
            </inSequence>
            <outSequence>
                <send/>
            </outSequence>
        </target>
    </proxy>

Otros consejos

Aquí está una configuración de proxy ESB que funcionó para obtener una solicitud de obtención.

<proxy name="GetProxy" transports="https http" startOnLoad="true" trace="disable">
        <target>
            <inSequence>
                <log level="full"/>
                <property name="HTTP_METHOD" value="GET" scope="axis2"/>
                <property name="REST_URL_POSTFIX" value="/4776766.xml?key=MyKeyHere" scope="axis2"/>
                <send>
                    <endpoint>
                        <address uri="http://www.goodreads.com/author/list"/>
                    </endpoint>
                </send>
            </inSequence>
            <outSequence>
                <send/>
            </outSequence>
        </target>
    </proxy>

Esto es para una solicitud de publicación

<proxy name="TestProxy" transports="https http" startOnLoad="true" trace="disable">
    <target>
        <inSequence>
            <log level="full"/>
            <property name="messageType" value="application/xml" scope="axis2"/>
            <property name="ContentType" value="application/xml" scope="axis2"/>
            <send>
                <endpoint>
                    <address uri="http://localhost:8080/TestServlet/emal/xml_api"/>
                </endpoint>
            </send>
        </inSequence>
        <outSequence>
            <property name="messageType" value="text/xml" scope="axis2"/>
            <property name="ContentType" value="text/xml" scope="axis2"/>
            <send/>
        </outSequence>
    </target>
</proxy>

BTW ¿Quisiste decir que accedió con éxito ese servicio de proxy a través del servidor de gadget, pero no a través de BPS?¿Puede publicar la configuración de proxy ESB y los registros de errores que recibió de BPS?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top