Asynchronous PHP SOAP server send Ack message before response?

I am not certain how to do this. The specs for the SOAP service I am writing says it needs to send back an ACK even before it responds with the requested response to the request.

How is this done in PHP Zend-SOAP? I have seen no examples of how to do this.

PHP’s SOAP extension takes care of that, so you don’t need to do everything yourself.

It does not send the specific ACK message. Besides, I’m using the Zend SOAP extension.

Isn’t ACK part of the TCP handshake?

From the specifications:

5.4 Acknowledgement Message 

One acknowledgement message is sent by Partner to Vendor for every SubInv message request. 
A single acknowledgement message is also sent by Vendor to the Partner from every ReqInv message response.

5.4.1 HTTP Header 
Tag             Type                    Usage           Description 
Accept          Content-Types that      Required        Must be "text/XML"
                are acceptable for 
                the response   
Accept-Charset  Character sets that     Required        Must be "UTF-8"
                are acceptable  
Accept-Encoding Acceptable encodings    Required        Must be 'compress. gzip'
Date            The date and time       Required        Current date/time
                that the message was 
                sent

This doesn’t look like typical TCP ACK.

This is a sample Acknowledgement message response:


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <ProcurementAddRs xmlns="http://www.cieca.com/BMS">
      <RqUID>f11958c8-3fde-42ca-bd94-94fdfca316ef</RqUID>
      <PartnerKey>46dba062-2105-4851-831f-a1d364741329</PartnerKey>
      <ApplicationStatus>
        <ApplicationStatusCode>Accept</ApplicationStatusCode>
      </ApplicationStatus>
    </ProcurementAddRs>
  </soap:Body>
</soap:Envelope>

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.