1. 程式人生 > >webservice 接口報404錯誤問題小結

webservice 接口報404錯誤問題小結

logfile rate ces IE add 測試 ted min 備註

1 背景介紹

生產環境有兩臺應用服務器(RAC),EBS版本是12.1.3,服務器操作系統版本linux

節點一:10.192.80.87

節點二:10.192.80.88

20180512(周六) 淩晨停應用和數據庫服務器,然後更換網絡設備(交換機),淩晨四點重啟數據庫和應用服務器

2 問題描述:

1)EBS系統對接的外圍系統的webservice接口無法正常訪問,以HR憑證接口為例,報錯信息如下:

[18-5-14 20:11:21:408 CST] 000427cd SystemErr     R AxisFault
 faultCode: {http://xml.apache.org/axis/}HTTP
 faultSubcode: 
 faultString: (404)Not Found
faultActor: faultNode: faultDetail: {}:return code: 404 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>404 Not Found</TITLE> </HEAD><BODY> <H1>Not Found</H1> The requested URL /webservices/SOAProvider/plsql/cux_hr_inter_pkg/ was not found on this server.<P>
</BODY></HTML> {http://xml.apache.org/axis/}HttpErrorCode:404

2)直接訪問EBS提供的webservice接口URL:http://ebs.cic.inter:8000/webservices/SOAProvider/plsql/cux_hr_inter_pkg/,發現

奇怪的現象,有時候報錯有時候不報錯,通過網線連接公司內網報錯,通過wifi上網測試不報錯

報錯信息:No WebService Provider is registered at this URL

正常顯示:

技術分享圖片

由於應用服務器是雙節點的,訪問ebs.cic.inter後通過F5(負載均衡) 實現隨機訪問某個節點,所以將上面的webservice接口URL中的域名改成IP,重試

發現訪問節點一:http://10.192.80.87:8000/webservices/SOAProvider/plsql/cux_hr_inter_pkg/,正常;

訪問節點二:http://10.192.80.88:8000/webservices/SOAProvider/plsql/cux_hr_inter_pkg/,報錯;

3)adadmin用戶登錄EBS,發現報錯信息:

服務供應商訪問權限不可用。您可能無法查看完整的服務信息。有關詳情,請查看服務供應商日誌

技術分享圖片

備註:這個問題一般是webserver沒有成功生成WSDL或者生成了但是沒有部署成功

4)重新生成WSDL並部署

由於是多節點環境,Oracle推薦使用後臺腳本生成和部署WS。這是因為在多節點環境,如果通過UI生成一個Service,我們可能不知道到底是哪個節點的服務生成了,

我們需要每個節點進行檢查才知道。因此采用後臺針對每一個節點生成和部署WS。

具體參考文檔:“Oracle實踐之EBS Integrated SOA Gateway實施指南_modify by renjun.doc”的 “5.3 ISG多節點Web Service生成和部署

a 生成WS

cd $FND_TOP/bin

soagenerate.sh irepname=CUX_HR_INTER_PKG logfile=/tmp/cux_ws_gen.log

這邊節點一能夠正常使用,只是節點二SOA有問題,所以將節點一生成的

直接訪問WSDL網址:

http://ebs.cic.inter:8000/webservices/SOAProvider/plsql/cux_hr_inter_pkg/?wsdl

報錯信息:

5.3 ISG多節點Web Service生成和部署

webservice 接口報404錯誤問題小結