我使用之前工作过两次的相同过程(痛苦)重新安装了ESB工具包.
但是现在当我尝试在BizTalk管理控制台中启动BizTalk应用程序"Microsoft.Practices.ESB"时,应用程序无法开始显示以下错误:
Could not enlist Send Port 'ALL.Exceptions'.
Exception from HRESULT: 0xC00CE557 (Microsoft.BizTalk.SnapIn.Framework)
Run Code Online (Sandbox Code Playgroud)
我在事件日志中发现了此错误消息:
无法与SQL实例[我的服务器]上的MessageBox BizTalkMsgBoxDb进行通信.
错误代码:0x8004d00e.
可能的原因包括:
1)MessageBox不可用.
2)从此机器到MessageBox的网络链接已关闭.
3)本地计算机或托管此MessageBox的计算机上的DTC配置不正确.
SQL Server似乎运行正常.真的不知道从哪里开始寻找......
骡子3似乎非常酷,但是他们的企业产品的价格标签不仅仅适用于某些客户.
据我所知,Mule 3的社区版允许您创建所需数量的Mule服务器/代理,Mule允许您部署到任何一个或多个此类实例.
在企业版的Mule 3中,有一个非常灵活的基于Web的控制面板,它不仅可以处理Mule服务器/代理的监控,还可以自动或在高负载时自动拆分作业.
如果有人找到一个好的开源或廉价替代这个基于Web的管理控制台或任何基于Java的服务器,我将非常感激,这将允许进行相同类型的监视/控制,从而复制一些管理控制台功能.
任何/所有的反馈和建议非常感谢!
我在我的项目中使用了一个正在运行的Mule应用程序.我想要做的是添加一些组件,每次启动Mule服务器时清除一些数据库表.
在这个问题上使用的组件是什么?我希望它是从XML发生的,而不是我必须编写的一些Java组件(JDBC等)
谢谢!
我有以下路线.在单元测试中,由于我没有可用的FTP服务器,我想使用camel的测试支持并发送无效消息"ftp://hostname/input"并验证它是否失败并路由到"ftp://hostname/error".
我浏览了主要讨论使用"mock:"端点的文档,但我不确定如何在这种情况下使用它.
public class MyRoute extends RouteBuilder
{
@Override
public void configure()
{
onException(EdiOrderParsingException.class).handled(true).to("ftp://hostname/error");
from("ftp://hostname/input")
.bean(new OrderEdiTocXml())
.convertBodyTo(String.class)
.convertBodyTo(Document.class)
.choice()
.when(xpath("/cXML/Response/Status/@text='OK'"))
.to("ftp://hostname/valid").otherwise()
.to("ftp://hostname/invalid");
}
}
Run Code Online (Sandbox Code Playgroud) 我目前涉及的项目要求必须在Web服务中实现业务逻辑,该服务将由表示层组件(即Web应用程序)使用.
该公司拥有一个企业服务总线,并且几乎所有开发的Web服务都是通过该总线公开的.我向周围的一些同事询问了何时通过ESB公开服务,我得到了这样的答案:
所以我很好奇是否有通过或不公开Web服务的一般协议或最佳实践.任何阅读/参考都将是一个很大的帮助.
我想访问从同步流生成的json数据到异步流.我正在从同步流中获取json数据,我想从我的json数据获取某些属性值如下:
{"data" : [{"in_timestamp":"2012-12-04","message":"hello","out_timestamp":null,"from_user":"user2","ID":43,"to_user":"user1"}]} and to user is #[json:to_user]}
Run Code Online (Sandbox Code Playgroud)
我想从这个json格式访问to_user属性.我尝试过使用#[json:to_user]但它只是将其打印为字符串并且不返回任何值.请帮忙.提前致谢.
我有一个OrderPOJO,在我的Camel路线上,我想Order通过这样的过滤器传递每个实例(消息):
ExpensiveOrderFilter eof = new ExpensiveOrderFilter();
from("direct:whatever")
.filter().method(eof)
.to("direct:wherever");
Run Code Online (Sandbox Code Playgroud)
如果过滤器的价格超过100美元,Order那么过滤器应该只允许使用Order#getPrice().
public class ExpensiveOrderFilter {
public void filterCheapOrders(Order order) {
if(order.getPrice() < 100.00)
???
else
???
}
}
Run Code Online (Sandbox Code Playgroud)
该filterCheapOrders方法需要什么样才能正确过滤掉"便宜"(<$ 100)订单,防止它们被路由到direct:wherever?提前致谢!
我正在尝试在ESB中编写一个序列,并使用有效负载工厂填充我的有效负载数据,如下所述.
<payloadFactory>
<format>
<p:echoInt xmlns:p="http://echo.services.core.carbon.wso2.org">
<in xmlns="">$1</in>
</p:echoInt>
</format>
<args>
<arg xmlns:ns="http://org.apache.synapse/xsd" expression="an-xml-formatted-string"/>
</args>
</payloadFactory>
<send>
<endpoint>
<address uri="http://noon101:8280/services/echo" format="soap11"/>
</endpoint>
</send>
Run Code Online (Sandbox Code Playgroud)
因为当我将此有效负载发送到服务时,我的字符串被格式化为xml,服务尝试解析我的xml参数并且(我不明白究竟是什么原因)我的Web服务方法未被调用.在这个链接中,它说如果我使用cdata而不是解析器不会解析我的xml格式的字符串,那将没有问题.
但问题是Payload Factory介体在其内容中不接受Cdata.当我编写Payload Factory的配置时,如下所示,它从中删除CDATA关键字,问题在于.
<payloadFactory>
<format>
<p:echoInt xmlns:p="http://echo.services.core.carbon.wso2.org">
<in xmlns=""> <![CDATA[ $1 ]]> </in>
</p:echoInt>
</format>
<args>
<arg xmlns:ns="http://org.apache.synapse/xsd" expression="an-xml-formatted-string"/>
</args>
</payloadFactory>
Run Code Online (Sandbox Code Playgroud)
这个问题的解决方案是什么?任何其他设置有效载荷或任何变通方法的调解员将不胜感激.
我想使用选择流控制,当名为#[function:dateStamp:dd-MM-yyyy] .xml的文件存在时,将选择一个路由,当此文件不存在时,将选择其他路由.
是否可以写'何时'选择部分来检查文件是否存在?
我看过youtube ultraesb1.0.1演示用IntelliJ CE9包含的ultra-dynamic.xml可能会被ultraesb 3.2.0中的ultra-custom.xml所取代.
ultra-custom.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:u="http://www.adroitlogic.org/ultraesb"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.adroitlogic.org/ultraesb http://schemas.ultraesb.org/ultraesb-2.0.xsd">
<u:endpoint id="echo-service">
<u:address>http://localhost:9000/service/EchoService</u:address>
</u:endpoint>
<u:sequence id="error-handler">
<u:java><![CDATA[
logger.error("Custom error handler : " + msg.getLastException().toString());
]]></u:java>
</u:sequence>
<u:proxy id="health-check">
<u:transport id="http-8280"/>
<u:transport id="https-8443"/>
<u:target>
<u:inSequence>
<u:java><![CDATA[
msg = msg.createDefaultResponseMessage();
mediation.sendResponse(msg,org.adroitlogic.ultraesb.api.management.
ServerAdminImpl.getInstance().getUserDefinedStatusCode());
]]></u:java>
</u:inSequence>
</u:target>
</u:proxy>
</beans>
Run Code Online (Sandbox Code Playgroud)
虽然我无法在互联网上找到ultra-dynamics.xml,但我会从youtube上关注ultraesb 1.0.1演示,以获得我最初的平滑输出.此外,我注意到ultra-custom.xml包含单独的独立标记,而ultra-dynamics.xml包含所有内容
任何人都可以帮忙
esb ×10
java ×4
mule ×4
apache-camel ×2
xml ×2
adroitlogic ×1
architecture ×1
biztalk ×1
biztalk-2010 ×1
json ×1
middleware ×1
soa ×1
ultraesb ×1
web-services ×1
wso2 ×1
wso2carbon ×1
wso2esb ×1