Come invocare un servizio di riposo proxy in esecuzione sull'ESB da un processo BPEL sul BPS

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

  •  14-12-2019
  •  | 
  •  

Domanda

Ho configurato BPS e hanno creato alcuni processi BPEL che posso utilizzare per richiamare i servizi sul server delle applicazioni. Ho creato un servizio di riposo proxy sull'ESB che utilizza un endpoint in un server LabVIEW. In LabVIEW Ho un servizio di riposo molto semplice che genera un valore casuale ogni secondo. Posso accedere al servizio di riposo come segue http://localhost:8000/Maths/random. Questo genera l'uscita FOLLWING con un valore casuale

RValue:19.000000
.

Ho avuto successo nell'accesso a questo servizio tramite il server Gadget e visualizzare il valore come grafico utilizzando il quadro grafico WSO2.

Ma sto avendo problemi quando provo a invocare lo stesso servizio proxy da un processo BPEL. Ho generato un file WSDL per il servizio proxy dall'ESB. Questo file WSDL viene utilizzato per le connessioni della porta ecc. Dispone solo di un'operazione il funzionamento "mediato" senza parametri o elementi. Ho seguito alcuni dei tutorial per il server BPS per invocare il servizio ma non ho avuto successo finora. Qualcuno può mostrarmi come questo può essere fatto o indicarmi un tutorial simile? Molte grazie.

U Raza Di seguito è riportato l'errore BPS che ottengo

.

[2012-03-15 18: 22: 33.265] Info - BPelserverimpl - Processo registrato { http://arereasearvice.bpel .bps } AreeService-14. [2012-03-15 18: 22: 42.282] Info - CarbonauthenticationUtil - 'admin' registrato a [2012-03-15 18: 22: 42.0282] dall'indirizzo IP 143.53.207.235 [2012-03-15 18: 23: 09.041] Errore - BPELOBJECTFACTORY $ BOMSASXErrorHandler - NULL: File: /// D: /ESB/WSO2/WSO2BPS-2.1.0/TMP/work/bpeltemp/1.33183578879275e12/bpelrest/restfulproxy .Bpel: 88: 56: CVC-complesso-tipo.3.2.2: Attributo 'XML: Space' non è permesso apparire nell'elemento 'BPEL: Letterale'. [2012-03-15 18: 23: 09.043] Warn - BPELObjectFactory - Errori di convalida durante l'analisi, continuando a causa di -Dorg.apache.ode.compiler.FailonValidationErRors= false interruttore [2012-03-15 18: 23: 09.046] INFO - BPELC - INFO: [CompilingProcess] Compilando il processo di BPEL. [2012-03-15 18: 23: 09,116] Info - WSDLRegistratore - WSDL al file: / D: /esb/wso2/wso2bps-2.1.0/TMP/work/bpeltemp/1.33183578879275e12/bpelrest/getlvrandomproxy.wsdl è un Duplica Import, i tuoi documenti dovrebbero essere tutti in diversi spazi dei nomi (non sono gentili ma funzionerà ancora). [2012-03-15 18: 23: 09.116] Info - WSDLRegistratore - WSDL al file: / D: /esb/wso2/wso2bps-2.1.0/TMP/work/bpeltemp/1.33183578879275e12/bpelrest/getlvrandomproxy.wsdl è già Importato, questo indica un riferimento circolare. [Errore 2012-03-15 18: 23: 09.134] Errore - BPELC - File: / D: /ESB/WSO2/WSO2BPS-2.1.0/TMP/work/bpeltemp/1.33183578879275e12/bpelrest/restfulproxy.bel: 72: errore : [CopyTomessageFromnonMessage] Copia in messaggio Variabile RESTPROXYPREQUEST richiede un messaggio per il valore R. [Errore 2012-03-15 18: 23: 09.139] Errore - BPELC - File: / D: /ESB/WSO2/WSO2BPS-2.1.0/TMP/work/bpeltemp/1.331835788792753578879275e12/bpelrest/restfulproxy.bel: 95: Errore : [CopyFrommessagetononMessage] Copia da Message Variable RestProxyplResponse richiede un messaggio per il valore L. [2012-03-15 18: 23: 09,143] ERRORE - BPELUPLOADEXECUTOR - Errore di compilazione del processo BPEL. org.apache.ode.bpel.compiler.api.compilationException: Errore: [CompilationErRors] Compilation completato con 2 Errore (s): File: / D: /esb/wso2/wso2bps-2.1.0/TMP/work/bpeltemp/1.3318357887927535788792753578879275e12/bpelrest/restfulproxy.bel: 72: ERRORE: [COPYTOMESSAGEFROMONONMESSAGE] Copia su Messaggio Variable RestProxyPrequest richiede un messaggio per il R- valore. File: / D: /esb/wso2/wso2bps-2.1.0/TMP/work/bpeltemp/1.331835788792753578879275e12/bpelrest/restfulproxy.bel: 95: Errore: [CopyFrommessagetononMessage] Copia dalla variabile di messaggi RestProxyplResponse richiede un messaggio per la L- valore. su org.apache.ode.bpel.compiler.bpelcompiler.compile (BPelCompiler.java:815) su org.apache.ode.bpel.compiler.bpelc.com (bpelc.java:278) su org.apache.ode.bpel.compiler.bpelc.com (bpelc.java:364) a org.apache.ode.store.deploymentUnitdir $ 5.Run (DeploymentUnitdir.java:213) a org.apache.ode.utils.internpool.Runblock (internpool.java:57) a org.apache.ode.store.deploymentUNitdir.comPile (DeploymentUNitdir.java:210) su org.apache.ode.store.deploymentUnitdir.comPile (DeploymentUnitdir.java:169) su org.wso2.carbon.bpel.ui.fileupload.bpelluploadexecutor.validatebpelpackage (bpeluploadexecutor.java:262) a org.wso2.carbon.bel.ui.fileupload.bpelluploadexecutor.execute (bpeluploadexecutor.java:101) a org.wso2.carbon.ui.transports.fileupload.abstractfileuplodexecutor.ecutegeneric (AbstractFileUploadexecutor.java:105) a org.wso2.carbon.ui.transports.fileupload.fileuploadexecutormanager $ Carbonxmlfileuploadexechandler.execute (fileuplodexecutumanager.java:392) a org.wso2.carbon.ui.transports.fileupload.fileuploadexecutumanager $ fileuplodexecutionhandlermanager.statexec (fileuplodexecutumanager.java:276) a org.wso2.carbon.ui.transports.fileupload.fileuploadexecutumanager.execute (fileuplodexecutumanag

er.java:125) a org.wso2.carbon.ui.transports.fileuploadservlet.dopost (fileuploadservlet.java:57) su javax.servlet.http.httsvtlet.service (httpsvlet.java:641) su javax.servlet.http.httsptlet.service (httpsvlet.java:722) a org.eclipse.equinox.http.helper.contextpathservletAdaptor.service (contextpathservletAdaptor.java:36) a org.eclipse.equimox.http.servlet.internal.servletragistration.handlerequest (servletregistration.java:90) su org.eclipse.equinox.http.servlet.internal.proxyservlet.processalias (ProxyServlet.java:111) su org.eclipse.equimox.http.servlet.internal.proxyservlet.service (ProxyServlet.java:67) su javax.servlet.http.httsptlet.service (httpsvlet.java:722) a org.wso2.carbon.bridge.bridgeservlet.service (bridgesvlet.java:155) su javax.servlet.http.httsptlet.service (httpsvlet.java:722) a org.apache.catalina.core.ApplicationFilterCain.inlandFilter (applicationFilterCain.java:304) a org.apache.catalina.core.applicationFilterCain.dofilter (applicationFilterCain.java:210) a org.apache.catalina.core.standardwrappervalve.invoke (standardwrappervalve.java:240) a org.apache.catalina.core.standardContextValve.invoke (standardContextValve.java:164) su org.apache.catalina.authenticator.authenticatorbase.invoke (autenticatorbase.java:462) su org.apache.catalina.core.standardhostvalve.invoke (standardhostvalve.java:164) a org.apache.catalina.valves.errereportvalve.invoke (errorreportvalve.java:100) su org.wso2.carbon.server.tomcatserver $ 1.invoke (tomcatserver.java:241) su org.apache.catalina.valves.accesslogValve.invoke (AccesslogValve.java:563) a org.apache.catalina.core.StandardAndenGineValve.invoke (standardenGinevalve.java:118) a org.apache.catalina.connector.coyotaadapter.service (CoyotaAdapter.java:399) su Org.apache.Coyote.http11.http11Nioprocessore.Process (http11nioProcessor.java:396) su org.apache.coyote.http11.http11Nioprotocol $ http11connectionhandler.process (http11niProrotocollo.java:356) su org.apache.tomcat.util.net.nioendpoint $ socketprocessore.Run (Nioendpoint.java:1534) a java.util.concurrent.threadpoolexecutor $ worker.runtask (Sconosciuto fonte) a java.util.concurrent.threadpoolexecutor $ worker.run (fonte sconosciuta) su java.lang.thread.run (fonte sconosciuta)

È stato utile?

Soluzione

Ho provato questo e qui ho fornito un campione BPEL per invocare il seguente servizio proxy.Si prega di trovare gli artefatti di esempio da qui . Nota: devi ottenere una chiave API da Goodreads e sostituisci 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>
.

Altri suggerimenti

Ecco una configurazione proxy ESB che ha funzionato per me per una richiesta di ricezione.

<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>
.

Questo è per una richiesta di post

<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 Hai intenzionato dire che hai acceduto con successo quel servizio proxy tramite Gadget Server, ma non tramite BPS?Puoi pubblicare la configurazione proxy ESB e i registri degli errori che hai ottenuto da BPS?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top