2013-08-28 2 views
1

매우 이상한 문제가 있습니다. 저에게는 지불 데이터 저장과 같은 몇 가지 일을하는 ServiceStack을 사용하는 REST API가 있습니다.이 API 내에서 지불 대상을 작성하기 시작 했으므로 지불 게이트웨이로 지불 할 수 있습니다. 이 지불 게이트웨이는 SoapHttpClientProtocol을 사용하는 Soap API입니다.제한 시간 예외 : REST API 내에서 Soap API 호출

내가 겪고있는 문제는 Soap API 시간 초과입니다. 어딘가에서 프레임 워크 내부에서 일어나고 있다고 믿을 수있는 스택 추적이 있습니다.

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 호출을 허용하지 않는 건축상의 문제입니까?

이전에 이런 사람이 있었나요?

도움을 주시면 감사하겠습니다.

답변