无法使用Mule调用Web服务

时间:2013-07-16 20:59:15

标签: web-services https mule

我把这个问题编辑下来,它变得过于复杂了。我从Web服务中禁用了SSL要求,以便将其删除。

我只是想从Mule调用本地Web服务。当我通过出站http端点(传递正确的用户名和密码)调用它时,我收到以下错误。

Failed to route event via endpoint:
DefaultOutboundEndpoint{
    endpointUri=http://myUsername:<password>@localhost/WebServices3/apfmlead, connector=HttpConnector
    {
        name=connector.http.mule.default
        lifecycle=start
        this=6cb6a34
        numberOfConcurrentTransactedReceivers=4
        createMultipleTransactedReceivers=true
        connected=true
        supportedProtocols=[http]
        serviceOverrides=<none>
    },
    name='endpoint.http.localhost.80.WebServices3.apfmlead', mep=REQUEST_RESPONSE,
    properties={followRedirects=true, http.method=GET},
    transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0},
    deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000,
    endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: GetMethod

如果我将endpointUri复制到浏览器并替换“&lt; password&gt;”使用实际密码,服务正常运行。

2 个答案:

答案 0 :(得分:0)

如果您呼叫的Web服务使用HTTPS,则必须导入其证书并正确配置HTTPS连接器:
http://www.mulesoft.org/documentation/display/current/HTTPS+Transport+Reference

答案 1 :(得分:0)

通过浏览器调用Web服务器时,会出现一个弹出窗口,询问用户名和密码。我认为这与出站http端点的“HTTP设置”选项卡中的用户名/密码字段相当。通过从HTTP设置选项卡中删除用户名和密码,我可以使用配置xml中的标记通过标头传递身份验证。

看起来我的问题只是对Web服务身份验证的理解不足。