Mule-Flow仅在第一次成功执行,但之后没有成功执行。为什么/解决方案?
我对骡子不熟悉 我已经编写了java代码(CreateObject),用于在服务器端创建一些对象。 我从客户端HTML表单向Mule传递了一些参数,如对象名、对象大小、对象主机名等。 Mule进一步调用java代码(CreateObject),在服务器端创建对象,并返回成功创建的对象的响应 在Mule中,流第一次运行良好,但在第二次运行中未成功执行 以下是我的骡子流程:Mule-Flow仅在第一次成功执行,但之后没有成功执行。为什么/解决方案?,mule,execution,mule-studio,Mule,Execution,Mule Studio,我对骡子不熟悉 我已经编写了java代码(CreateObject),用于在服务器端创建一些对象。 我从客户端HTML表单向Mule传递了一些参数,如对象名、对象大小、对象主机名等。 Mule进一步调用java代码(CreateObject),在服务器端创建对象,并返回成功创建的对象的响应 在Mule中,流第一次运行良好,但在第二次运行中未成功执行 以下是我的骡子流程: <flow name="Object-Create" doc:name="Object-Create">
<flow name="Object-Create" doc:name="Object-Create">
<http:inbound-endpoint exchange-pattern="request-response" address="http://localhost:8146/Create" contentType="text/html" doc:name="Service-Request">
<http:body-to-parameter-map-transformer doc:name="FormParam-To-Mule"/>
<not-filter>
<wildcard-filter pattern="/favicon.ico"/>
</not-filter>
</http:inbound-endpoint>
<logger level="INFO" doc:name="Form-Display" message="#[payload]" />
<custom-transformer class="Objectclient.CreateObject" doc:name="Call-Server"/>
<logger level="INFO" doc:name="Output-Display" message="#[payload]"/>
<echo-component doc:name="Echo"/>
</flow>
当我重新启动服务时,第一次成功地执行了流(在服务器端创建了对象),但第二次/第三次/第四次没有。流没有第二次给出错误
当我独立运行PSVM java代码两次时,对象就会在服务器端成功创建,无论是时间还是每次
有谁能告诉我,Mule不允许我完成除第一个请求和解决方案之外的其他请求的原因是什么?虽然这可能不是您的问题,但我建议您:
- 将
移动到入站端点之后,因为无需为筛选出的favicon请求运行它http:body-to-parameter-map-transformer
- 丢弃无用和过时的
回显组件
输出显示
记录器,还是执行块位于Objectclient.CreateObject
中?如果执行块位于Objectclient.CreateObject
中,那么问题就出在这段代码中,我们需要看到它来尝试修复它。它是System.out.print()在显示代码一直执行到结束的代码之间。代码类似于->公共字符串CVM(){try{connect();createVMObject();}catch(SOAPFaultException sfe)。检查下一条注释以了解有关nextIn连接方法的简要说明,TrustAllHttpSceCertificates();HttpsURLConnection.setDefaultHostnameVerifier(hv);vmService=new vmService();vmPort=vmService.getVmPort();httpconductor=(httpconductor)ClientProxy.getClient(vmPort.getconductor();TLSClientParameters tlsCP=new TLSClientParameters();tlsCP.setDisableCNCheck(true);httpconductor.settsclientparameters(tlsCP);vmPort.login(serviceContent.getSessionManager(),用户名,密码,null);