2013-07-16 142 views
0

我編輯了這個問題,它變得過於複雜。我禁用了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複製到瀏覽器,並與實際密碼正確替換「<密碼>」,服務功能。

回答

0

如果您呼叫使用HTTPS,那麼你必須導入它的證書,並配置適當的HTTPS連接的Web服務:
http://www.mulesoft.org/documentation/display/current/HTTPS+Transport+Reference

+0

我試圖在沒有運氣的情況下創建並引用keystore.jks。我現在再試一次,請檢查編輯我的問題。感謝您的建議。我覺得我真的很親密。 – caltrop

+0

如果您沒有在您創建的密鑰庫中導入證書,它將不起作用。 – Seba

0

當調用通過瀏覽器的Web服務器,一個彈出會出現要求輸入用戶名和密碼。我認爲這與出站http端點的「HTTP設置」選項卡中的用戶名/密碼字段相當。通過從「HTTP設置」選項卡中刪除用戶名和密碼,我可以使用配置xml中的標記通過標頭傳遞認證。

看起來我的問題只是對Web服務身份驗證的理解不足。

+0

你可以發佈你所申請的修補程序的代碼嗎?我有一些類似的情況,我必須調用.net Web服務,通​​過Windows集成身份驗證進行安全保護,並且目前還沒有工作。全部細節在這裏:http://stackoverflow.com/questions/18860924/consuming-net-asmx-web-service-from-mule-esb-throws-cxf-exception-401-unauthor –