Как вызвать службу прокси-сервера отдыха, работающих на ESB из процесса BPEL на BPS

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

  •  14-12-2019
  •  | 
  •  

Вопрос

У меня есть настройки BPS и создали несколько процессов BPEL, которые я могу использовать для включения служб на сервере приложений. Я создал службу прокси-сервера отдыха на ESB, который использует конечную точку на сервере Labview. В LabView у меня очень базовая служба отдыха, которая генерирует случайное значение каждую секунду. Я могу получить доступ к службе отдыха следующим образом http://localhost:8000/Maths/random. Это генерирует фолфующий выход со случайным значением

RValue:19.000000
.

У меня был успех в доступе к этой услуге через сервер гаджета и отображение значения в качестве графика с помощью графической структуры WSO2.

Но у меня проблемы с проблемами, когда я пытаюсь вызвать тот же прокси-сервис от процесса BPEL. Я создал файл WSDL для сервиса прокси от ESB. Этот файл WSDL используется для подключений порта и т. Д. У него только одна операция «опосрежения» работы без параметров или элементов. Я последовал за несколькими учебниками для сервера BPS, чтобы вызвать услугу, но я не имел успеха до сих пор. Может ли кто-нибудь показать мне, как это можно сделать или указать мне на аналогичный учебник? Большое спасибо.

u Раза Ниже приведена ошибка BPS, которую я получаю

[2012-03-15 18: 22: 33 265] Информация - bpelserverimpl - зарегистрированный процесс { http://areasarvice.bpel .bps } Passerivice-14. [2012-03-15 18: 22: 42,282] Информация - ChangonauthenticationUtil - 'admin' вошли в [2012-03-15 18: 22: 42 0282] из IP-адреса 143.53.207.235 [2012-03-15 18: 23: 09,041] Ошибка - BpelobjectFactory $ BomsaxerrorHandler - NULL: Файл: /// D: /esb/wso2/wso2bps-2.1.0/tmp/work/bpeltemp/1.33183578879275e12/bpelrest/restfulproxy .bpel: 88: 56: CVC-Complex-Type.3.2.2: атрибут XML: Space 'не разрешается появляться в элементе «BPEL: Litteral». [2012-03-15 18: 23: 09,043] Warn - BpelobjectFactory - ошибки проверки во время анализа, продолжающиеся из-за -dorg.apache.Ode.comPiler.failonvalidationErrors= false выключатель [2012-03-15 18: 23: 09 046] Информация - BPELC - INFO: [CompicalProcess] Компиляция процесса BPEL. [2012-03-15 18: 23: 09,16] Информация - WSDLEGistry - WSDL в файле: / d: /esb/wso2/wso2bps-2.1.0/tmp/work/bpeltemp/1.33183578879275e12/bpelrest/getlvrandomproxy.wsdl Дублируйте импорт, ваши документы все должны быть в разных пространствах имен (его не приятно, но все равно будет работать). [2012-03-15 18: 23: 09,16] Информация - WSDLegistry - WSDL в файле: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bpeltemp/1.33183578879275e12/bpelrest/getlvrandomproxy.wsdl уже Imported, это обозначает круговую ссылку. [2012-03-15 18: 23: 09,134] Ошибка - BPELC - Файл: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bpeltemp/1.33183578879275E12/bpelrest/restfulproxy.bpel: 72: ошибка : [COPYTOMESSAGEFROMNONMESSAGE] Копировать на переменную сообщения RESTPROXYPLREQUEST требует сообщения для значения R. [2012-03-15 18: 23: 09,139] Ошибка - BPELC - Файл: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bpeltemp/1.33183578879275e12/bpelrest/restfulproxy.bpel: 95: ошибка : [COPYFROMMESTAGETONONMESSAGE] Копия из переменной сообщения RESTPROXYPLRESPONSE требует сообщения для L-значение. [2012-03-15 18: 23: 09,143] Ошибка - BPELUPLOADEXECUTER - Сбой компиляции процесса BPEL. org.apache.Ode.bpel.compiler.api.compilationException: Ошибка: [CompilationErrors] Компиляция завершена с 2 ошибками (ыми): Файл: / D: /esb/wso2/wso2bps-2.1.0/tmp/work/bpelremp/1.33183578879275E12/bpelrest/restfulproxy.bpelrest/restfulproxy.bpel: 72: Ошибка: [CopyTomessageFromnonMessage] Копировать на переменную сообщение RESTPROXYPLREQUEST Требуется сообщение для R- значение. Файл: / D: /esb/wso2/wso2bps-2.1.0/tmp/ware/bpeltemp/1.33183578879275E12/bpelrest/restfulproxy.bpelrest/restfulproxy.bpelrest/restfulproxy.bpel: 95: Ошибка: [COPYFROMMESSESTONONONONMESSAGE] Копия из переменных сообщений RESTPROXYPLESPOSSESPOSS требует сообщения для L- значение. в org.apache.Ode.bpel.compiler.bpelcompiler.compile (bpelcompiler.java:815) в org.apache.ode.bpel.compiler.bpelc.compile (bpelc.java:278) в org.apache.ode.bpel.compiler.bpelc.compile (bpelc.java:364) на org.apache.ode.store.deploymentunitdir $ 5.run (deploybityunitdir.java:213) на org.apache.ode.utils.internpool.runblock (internpool.java:57) на org.apache.ode.store.deploymentunitritdir.compile (deplymentunitdir.java:210) на org.apache.ode.store.deploymentunitdir.compile (deployityunitdir.java:169) в org.wso2.carbon.bpel.ui.fileupload.bpeluploadexecutor.validatebpelpackage (bpeluploadexecutole.java:262) в org.wso2.carbon.bpel.ui.fileupload.bpeluploadexecutor.execute (bpeluploadexecustor.java:101) в org.wso2.carbon.ui.transports.fileupload.abstractfileuploadexecutor.executeGeneric (Anderefileuploadexecutor.java:105) в org.wso2.carbon.ui.transports.fileupload.fileuploadexecutormanager $ charbonxmlfileuploadexechandler.execute (fileluploadexecutormanager.java:392) ap org.wso2.carbon.ui.transports.fileupload.fileuploadexecutormanager $ fileluploadexecutionHandLermanager.startexec (fileluploadexecutormanager.java:276) на org.wso2.carbon.ui.transports.fileupload.fileuploadexecutormanager.execute (fileluploadexecutormanag

er.java:125) ap org.wso2.carbon.ui.transports.fileuploadservlet.dopost (fileuploadservlet.java:57) На javax.servlet.http.httpservlet.service (httpservlet.java:641) На javax.servlet.http.httpservlet.service (httpservlet.java:722) на org.eclipse.equinox.http.helper.contextPathservletadaptor.service (contextpathservletadaptor.java:36) в org.eclipse.equinox.http.servlet.internal.servletregistration.handleRequest (сервлетерегистрация.java:90) на org.eclipse.equinox.http.servlet.internal.proxyservlet.processalias (proxyservlet.java:111) в org.eclipse.equinox.http.servlet.internal.proxservlet.Service (Proxyservlet.java:67) На javax.servlet.http.httpservlet.service (httpservlet.java:722) на org.wso2.carbon.bridge.bridgeservlet.service (bridgeservlet.java:155) На javax.servlet.http.httpservlet.service (httpservlet.java:722) на org.apache.catalina.core.aplicationfilterChain.internaldofilter (applicationfilterchain.java:304) в org.apache.catalina.core.ApplicationFilterChain.dofilter (applicationfilterchain.java:210) в org.apache.catalina.core.standardwrappervalve.invoke (StandardWarappervalve.java:240) на org.apache.catalina.core.standardcontextValve.invoke (StandardContextValve.java:164) на org.apache.catalina.authenticator.authenticatorbase.invoke (аутентификаторBase.java:462) на org.apache.catalina.core.standardhostvalve.invoke (StandardHostValve.java:164) в org.apache.catalina.valves.Errorreportvalve.invoke (ErrorreportValve.java:100) на org.wso2.carbon.server.tomcatserver $ 1.invoke (tomcatserver.java:241) в org.apache.catalina.valves.accesslogvalve.invoke (AccessLogValve.java:563) в org.apache.catalina.core.standardenginevalve.invoke (Standardenginevalve.java:118) на org.apache.catalina.connector.coyoteadapter.service (coyoteadapter.java:399) ap org.apache.coyote.http11.http11niOrocessor.process (http11nioprocessor.java:396) в org.apache.coyote.http11.http11niOrotocol $ http11connectionHandler.process (http11nioprotocol.java:356) в org.apache.tomcat.util.net.nioeendpoint $ soketprocessor.run (nioendpoint.java:1534) в java.util.concurrent.threadpoolexecutor $ Worker.runtask (неизвестный источник) в java.util.concurrent.threadpoolexecutor $ Worker.run (неизвестный источник) в java.lang.thread.run (неизвестный источник)

Это было полезно?

Решение

Я попробовал это, и здесь я предоставил образец BPEL, чтобы вызвать следующую услугу прокси.Пожалуйста, найдите образцов артефактов из здесь . Примечание. Вы должны получить ключ API из goodreads и замените с помощью 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>
.

Другие советы

Вот конфигурация прокси ESB, которая работала для меня для получения запроса.

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

Это для запроса на почту

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

Кстати, вы имели в виду, что вы успешно доступелись, что прокси-сервис через Gadget Server, но не через BPS?Можете ли вы опубликовать конфигурацию прокси ESB и журналы ошибок, которые вы получили от BPS?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top