gpt4 book ai didi

java - Mule JUnit 测试 "text/xml"

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:40 25 4
gpt4 key购买 nike

我有一个带有 HTTP 端点的流程,该端点需要“text/xml”作为内容类型。当我使用 RESTClient 之类的东西来点击它时,这个流程可以正常工作。

<http:inbound-endpoint exchange-pattern="request-response" host="${web.rsc.host}" port="${web.rsc.port}" path="Quote/1_0/submit" doc:name="HTTP" mimeType="text/xml"/>

但是,我无法让 JUnit 测试工作。

测试的精简版本如下所示:

@Test 
public void test5() throws MuleException
{
MuleClient client = muleContext.getClient();

MuleMessage message = new DefaultMuleMessage( "", muleContext );

String payload = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><quote><value>dummy</value></quote>";
message.setProperty( "http.method", "POST", PropertyScope.OUTBOUND );
message.setProperty( "http.content-type", "text/xml", PropertyScope.OUTBOUND );
message.setPayload( payload );

MuleMessage reply = client.send( "http://localhost:8081/Quote/1_0/submit", message, null, 5000 );

assertNotNull( reply );
assertNotNull( reply.getPayload() );
assertEquals( reply.getPayload(), "200" );
}

当运行此命令时,Mule 在入站端点上抛出异常:“当预期为“text/xml”时,消息包含 MIME 类型“text/plain”。”

设置测试消息的内容类型需要什么?

最佳答案

创建属性的HashMap

Map<String, String> properties = new HashMap<String, String>();
properties.add("Content-Type", "text/xml");

并将其放入client.send

MuleMessage reply = client.send( "http://localhost:8081/Quote/1_0/submit", payload, properties);

关于java - Mule JUnit 测试 "text/xml",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14877392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com