我有设置的bps,并创建了一些我可以用来调用应用程序服务器上的服务的一些BPEL进程。我在ESB上创建了一个REST代理服务,它使用端点到LabVIEW服务器。在LabVIEW中,我有一个非常基本的REST服务,每秒生成随机值。我可以按照http://localhost:8000/Maths/random访问REST服务。这会产生具有随机值

的悬而未窗输出
RValue:19.000000
.

我已经成功通过小工具服务器访问此服务,并使用WSO2图形框架显示作为图形的值。

但是当我尝试从BPEL进程调用相同的代理服务时,我遇到了问题。我为来自ESB的代理服务生成了WSDL文件。此WSDL文件用于端口连接等。它只有一个操作,“调解”操作没有参数或元素。我遵循了一些教程的BPS服务器来调用服务,但到目前为止我没有成功。 有人可以告诉我如何完成或将我指向类似的教程? 非常感谢。

u raza 以下是我得到

的bps错误

[2012-03-15 18:22:33,265]信息 - bpelserverimpl - 注册过程{ http://areasearvice.bpel .bps } stairservice-14。 [2012-03-15 18:22:42,282]信息 - CarbonaechenticationUtil - “管理”在[2012-03-15 18:22:42,0282]中登录到IP地址143.53.207.235 [2012-03-15 18:23:09,041]错误 - bpelobjectfactory $ bomsaxerrorhandler - null:file:/// d:/// d://wso2/wso2bps-2.1.0/tmp/work/bptemp/331835788792752/belrest/311835788792752/belrest/311835788792752/blrest/31183578879275357887927535788792752/bpelrest/restfulproxy .bpel:88:56:cvc-complex-type.3.2.2:属性'xml:space'不允许以元素'bpel:literal'出现。 [2012-03-15 18:23:09,043]警告 - BPelObjectFactory - 在解析过程中验证错误,继续到in -dorg.apache.ode.compiler.failonvalidationErrors= false switch [2012-03-15 18:23:09,046]信息 - BPELC - 信息:[ComplingProcess]编译BPEL进程。 [2012-03-15 18:23:09,116] Info - WSDLRegistry - 文件下的WSDL:/ D:/ d:/ d:/ d:1.0/tmp/work/beltemp/33183578879275e12/bpelrest/grvrandomproxy.wsdl是一个重复导入,您的文档应该是不同的命名空间(它不好但仍然工作)。 [2012-03-15 18:23:09,116] Info - WSDLRegistry - 文件:/ D:/ d:/ d:/ dwso2/wso2bps-2.1.0/tmp/work/bptemp/33183578879275e12/bpelrest/grvrandomproxy.wsdl已经导入,表示循环参考。 [2012-03-15 18:23:09,134]错误 - BPELC - 文件:/ D:/ D:/ D:/ D.0/TMP/work/BPeltemp/331835788792752/BPelrest/Restfulproxy.bpel:72:错误:[CopyTomessageFromNonMessage]复制到消息变量restproxyplrequest需要一个r-value的消息。 [2012-03-15 18:23:09,139]错误 - bpelc - 文件:/ d:/ d:/ d:/ b/wso2/wso2bps-2.1.0/tmp/work/bptemp/1.331835788792752/bpelrest/31183578879275e12/bpelrest/311835788792752/belrest/restfulproxy.bpel:95:错误:[CopyFrommessageTononMessage]从Message变量复制恢复restproxyplresponse需要一个消息的L值。 [2012-03-15 18:23:09,143]错误 - BPELUPLOADESXECUTOR - BPEL过程编译失败。 org.apache.ode.bpel.compiler.api.compilationException:错误:[编译errors]编译完成2个错误: 文件:/ d:/ESB/WSO2/wso2bps-2.1.0/tmp/work/bpelTemp/1.33183578879275E12/BPELREST/RestfulProxy.bpel:72:错误:[CopyToMessageFromNonMessage]复制到消息变量RestProxyPLRequest需要用于R-消息价值。 文件:/ d:/ESB/WSO2/wso2bps-2.1.0/tmp/work/bpelTemp/1.33183578879275E12/BPELREST/RestfulProxy.bpel:95:错误:[CopyFromMessageToNonMessage]复制从消息变量RestProxyPLResponse需要用于1-消息价值。 在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(deploymentunitdir.java:213) 在org.apache.ode.utils.internpool.Runblock(InternPool.java:57)) 在org.apache.ode.store.deploymentUnitdir.compile(deploymentunitdir.java:210) 在org.apache.ode.store.deploymentUnitdir.compile(deploymentunitdir.java:169) 在org.wso2.carbon.bpel.ui.fileupload.bpeluploadexecutor.validatebpelpackage(bpeluploadexecutor.java:262) 在org.wso2.carbon.bpel.ui.fileupload.bpeluploadexecutor.execute(bpeluploadexecutor.java:101) 在org.wso2.carbon.ui.transports.fileupload.abstractfileUploadexecutor.executegeneric(AbstractFileUploadexecutor.java:105) 在org.wso2.carbon.ui.transports.fileupload.fileuploadexecutormanager $ calbonxmlfileuploadexechandler.execute(fileuploadexecutormanager.java:392) 在org.wso2.carbon.ui.transports.fileupload.fileuploadexecutormanager $ fileuploadexecutionshandlermanager.startexec(fileuploadexecutormanager.java:276) 在org.wso2.carbon.ui.transports.fileupload.fileuploadexecutormanager.execute(fileuploadexecutormanag

er.java:125) 在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.contextathsservletadaptor.service(ContextPathservletAdaptor.java:36) 在org.eclipse.equinox.http.servlet.internal.servletRegistration.HandLerequest(servletRegistration.java:90) 在org.eclipse.equinox.http.servlet.internal.proxyservlet.processalias(proxyservlet.java:111) 在org.eclipse.equinox.http.servlet.internal.proxyservlet.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.ApplicationFilterChain.InternalDoFilter(ApplicationFilterchain.java:304) 在org.apache.catalina.core.ApplicationFilterchain.dofilter(ApplicationFilterchain.java:210) 在org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:240) 在org.apache.catalina.core.StandardContextValve.Invoke(StandardContextValve.java:164) 在org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:462) 在org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:164) 在org.apache.catalina.valves.errorreportvalve.invoke(errorrorportvalve.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(coyoteadaperapter.java:399) 在org.apache.coyote.http11.http11nioprocessor.process(http11nioprocessor.java:396) 在org.apache.coyote.http11.http11nioprotocol $ http11connection handler.process(http11nioprotocol.java:356) 在org.apache.tomcat.util.net.nioendpoint $ socketprocessor.run(nioendpoint.java:1534) 在java.util.concurrent.threadpoolexecutor $ worker.runtask(未知来源) 在java.util.concurrent.ThreadPoolExecutor $ Worker.Run(未知来源) 在java.lang.thread.run(未知来源)

有帮助吗?

解决方案

我尝试过这个,这里我提供了一个bpel样本来调用以下代理服务。请从 from 。 注意 - 您必须从 goodreads 并替换为api" rel="nofolly">用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代理配置,用于了解GOT请求。

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

这是用于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你的意思是说你通过小工具服务器成功访问了该代理服务,但不是通过BPS?您可以发布ESB代理配置,并从BPS获取错误日志吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top