我有一個很奇怪的問題。我有一個使用ServiceStack的REST API,它執行一些操作,比如保存付款數據等。在該API中,我開始構建付款對象,以便我可以向支付網關發送付款。該支付網關是使用SoapHttpClientProtocol的Soap API。超時異常:從REST API中調用Soap API
我遇到的問題是Soap API Times out。我有一個堆棧跟蹤,導致我相信它發生在框架內某處。
System.Net.WebException: Error: ConnectFailure (Connection timed out) ---> System.Net.Sockets.SocketException: Connection timed out
at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] in <filename unknown>:0
at System.Net.WebConnection.Connect (System.Net.HttpWebRequest request) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetRequestStream (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
at System.Net.HttpWebRequest.GetRequestStream() [0x00000] in <filename unknown>:0
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_name, System.Object[] parameters) [0x00000] in <filename unknown>:0
上面是我得到的異常,所以我相信它發生在Invoke方法內部。這是代理文件中的代碼。
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("paymenturl", RequestNamespace="gatewayurl", ResponseNamespace="gatewayurl", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
public string SubmitPayment(string trnXML) {
object[] results = this.Invoke("SubmitPayment", new object[] {
trnXML});
return ((string)(results[0]));
}
有沒有人知道爲什麼會發生這種情況?
SOAP支付API現在可以通過UI工作。所以如果從UI直接調用它,我可以付款並獲得成功的迴應。當我從API中執行它不起作用。
這可能是一個架構問題,它不允許來自另一個API內的API調用?
有沒有人遇到過這樣的事情?
任何幫助將不勝感激。