我把这个问题编辑下来,它变得过于复杂了。我从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;”使用实际密码,服务正常运行。
答案 0 :(得分:0)
如果您呼叫的Web服务使用HTTPS,则必须导入其证书并正确配置HTTPS连接器:
http://www.mulesoft.org/documentation/display/current/HTTPS+Transport+Reference
答案 1 :(得分:0)
通过浏览器调用Web服务器时,会出现一个弹出窗口,询问用户名和密码。我认为这与出站http端点的“HTTP设置”选项卡中的用户名/密码字段相当。通过从HTTP设置选项卡中删除用户名和密码,我可以使用配置xml中的标记通过标头传递身份验证。
看起来我的问题只是对Web服务身份验证的理解不足。