[gsoap] recv, send 함수 흐름
Request
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsdl="http://www.onvif.org/ver10/device/wsdl">
<soap:Header/>
<soap:Body>
<wsdl:GetNetworkProtocols/>
</soap:Body>
</soap:Envelope>
Response
<SOAP-ENV:Envelope xmlns:SOAP-ENV="...">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<tds:GetNetworkProtocolsResponse>
<tds:NetworkProtocols>
<tt:Name>RTSP</tt:Name>
<tt:Enabled>false</tt:Enabled>
<tt:Port>5555</tt:Port>
</tds:NetworkProtocols>
<tds:NetworkProtocols>
<tt:Name>HTTP</tt:Name>
<tt:Enabled>false</tt:Enabled>
<tt:Port>8082</tt:Port>
</tds:NetworkProtocols>
</tds:GetNetworkProtocolsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
gsoap 함수 흐름
soap_serve
soap_begin_serve
FCGI_Accept()
soap_begin
soap_begin_recv
soap->fparse(soap); // http header 존재하면 파싱
soap_envelope_begin_in <soap:Envelope ...
soap_recv_header <soap:Header ...
soap_body_begin_in <soap:Body ...
soap_serve_request
soap_serve___tev2__CreatePullPointSubscription
soap_body_end_in </soap:Body>
soap_envelope_end_in </soap:Envelope>
soap_end_recv
soap_begin_send
soap_envelope_begin_out <SOAP-ENV:Envelope
soap_putheader <SOAP-ENV:Header/>
soap_body_begin_out <SOAP-ENV:Body...
soap_put__tev__CreatePullPointSubscriptionResponse
soap_body_end_out </SOAP-ENV:Body>
soap_envelope_end_out </SOAP-ENV:Envelope>
soap_end_send
soap_destroy
soap_end