BizTalk WCF Timeout Issue

I have orchestration in BizTalk that collects data via web services from SAP.

My process looks like this.

enter image description here

We have a SOAP service on the receive port and when we receive a request from SOAP, we convert it to the SAP RFC file format and send it to SAP. When we try to get a response from SAP, we get an error when the response data is large. If the size of the response message is that large, our service gets a timeout error. Otherwise, no problem if the message size is small.

I have tried increasing the timeout duration on the BizTalk Management Console, but it still fails. No matter what I did, the timeout duration is always 1 minute.

After adding below XML config tags to machine.config file, I am getting error as below.

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config

<configuration>
<system.transactions>
  <machineSettings maxTimeout="00:20:00" />
</system.transactions> 
</configuration> 

      

enter image description here

Below is the SAP shipping port

enter image description here

SAP Submission Status Details

enter image description here

In detail, as you can see my timeout duration is about 10 hours, but in SOAP UI, I get a timeout error after 1 minute.

Below is the receiving port

enter image description here

Also you can find the biztalk event viewer error as shown below.

A response message sent to adapter "SOAP" on receive port "WebPort_SAP/MusteriFaturaT/ABC_SAP_Fatura_T_FaturaOrch_InvoiceReceivePort" with URI "/SAP/MusteriFaturaT/ABC_SAP_Fatura_T_FaturaOrch_InvoiceReceivePort.asmx" is suspended. 
 Error details: The original request has timed out. The response arrived after the timeout interval and it cannot be delivered to the client. 

      

And SOAPUI response screen is blank as shown below

enter image description here

+3


source to share


4 answers


The problem is that there is a timeout issue in SOAP UI. When I change the SOAP timeout property, our timeout duration went up to 110 seconds. 110 seconds is the default timeout timeout. To fix this problem, you must add below configuration parameters to your web.config file.

<system.web>
    <httpRuntime executionTimeout="43200" />
</system.web>

      



Also you should add below configs to client's app.config file.

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="IBRAHIM_SAP_Fatura_T_FaturaOrch_InvoiceReceivePortSoap" maxReceivedMessageSize="2147483647"  receiveTimeout="03:00:00"
    sendTimeout="02:00:00" transferMode="Streamed"/>
        </basicHttpBinding>
    </bindings>
</system.serviceModel>

      

+1


source


In the custom WCF send port, change the timeout value (close, open, send, receive) to increase the timeout. See link for details



You can also use the SOAPUI tool to test the web service outside of BizTalk to see the response time and response size.

+2


source


UPDATE:

We now have an error indicating that this is client timeout and not BizTalk, in this case SoapUI. In response to this question SoapUI: ConnectException: Connection timed out:

The timeout is set to 60,000 milliseconds by default. You can change it:

File -> Settings -> HTTP Settings -> Socket Timeout

When you connect to another client you will have to check / set timeouts in that as well.

ORIGINAL MAIL:

If you are using BizTalk 10 or higher, the host response timeout check is set to more than a minute.

I had a problem with timeouts and it was one setting that I changed (maximum in this case).

enter image description here

You can set up a specific host for large transactions where the response time in minutes varies and only the ports that need it use it.

However, even after I changed this value to the maximum value, I ran into a timeout after 15 minutes.

To do this, I had to disable Use Transaction, only do this if you are still running into problems and you are fetching data, not inserting / modifying data.

enter image description here

The above images are from my blog post about the BizTalk Server Negative Acknowledgment Issue in SAP and WCF .

As far as setting the system.transaction parameter in config is quite dangerous, it will affect everything, not just this port.

0


source


You need to increase the timeout in your machine.config file

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config

<configuration>
<system.transactions>
  <machineSettings maxTimeout="00:20:00" />
</system.transactions> 
</configuration> 

      

You must also set the allowExeDefinition property to "MachineToApplication" from "MachineOnly"

-1


source







All Articles