我想在流程中调用休息服务,首先,我使用 http:outbound-endpoint 如下:
<http:outbound-endpoint exchange-pattern="request-response"
address="http://localhost:7081#[message.inboundProperties['http.request']]" doc:name="Call Lower REST" method="PUT">
编辑:
要求:
PUT http://localhost:8080/ae2/app/add?nonce=23ddd&name=app1×tamp=123332&user=foo HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/xml
Content-Length: 0
Host: localhost:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
它抛出一个异常:
Root Exception stack trace:
java.lang.Exception: The HTTP method or content type is unsupported!
at org.mule.transport.http.transformers.HttpRequestBodyToParamMap.transformMessage(HttpRequestBodyToParamMap.java:56)
at org.mule.transformer.AbstractMessageTransformer.transform(AbstractMessageTransformer.java:145)
at org.mule.transformer.AbstractMessageTransformer.transform(AbstractMessageTransformer.java:93)
然后我看了一些文档,发现http:rest-service-component,它可以调用后端的rest服务,但是不支持PUT方法,文档说,我试过了。
那么,为什么这个组件不支持 PUT?还是可以使用其他组件?