| Resolution | Status | Comment | Action |
| R0001 | passed | Automated | |
| R0002 | passed | Note: conformance claims are not included in messages and documents | |
| R0003 | passed | Note: conformance claims are not included in messages and documents | |
| R0004 | passed | Note: conformance claims are not included in messages and documents | |
| R0005 | passed | Note: conformance claims are not included in messages and documents | |
| R0006 | passed | Note: conformance claims are not included in messages and documents | |
| R0007 | passed | Note: conformance claims are not included in messages and documents | |
| R1000 | passed | Automated | |
| R1001 | passed | Automated | |
| R1002 | passed | Automated | |
| R1003 | passed | Attributes in Fault detail element are ignored | note 1 |
| R1004 | passed | Automated | |
| R1005 | passed | Applications MUST use literal encoding | note 2 |
| R1006 | passed | Automated | |
| R1007 | passed | Automated | |
| R1008 | passed | Automated | |
| R1009 | passed | Automated | |
| R1010 | passed | Automated | |
| R1011 | passed | Applications MUST use literal encoding or SOAP 1.2 | note 2 |
| R1012 | passed | Automated | |
| R1013 | passed | Automated | |
| R1014 | passed | Automated | |
| R1015 | passed | Relaxed requirement: gSOAP supports SOAP 1.1 and 1.2 Envelopes | |
| R1016 | passed | Note: xml:lang attribute is accepted but not used | |
| R1017 | passed | Automated | |
| R1018 | passed | Automated | |
| R1025 | passed | SOAP Header information MUST be processed first before handling Body data | note 4 |
| R1027 | passed | Automated | |
| R1028 | passed | Automated | |
| R1029 | passed | Automated | |
| R1030 | passed | Automated | |
| R1031 | passed | Automated | |
| R1107 | passed | Automated | |
| R1108 | passed | Automated | |
| R1109 | passed | Automated | |
| R1110 | passed | Automated | |
| R1111 | passed | Automated | |
| R1112 | passed | Automated | |
| R1113 | passed | Automated | |
| R1114 | passed | Note: HTTP 405 code is not used by gSOAP (applications MAY use HTTP 405) | |
| R1115 | passed | Note: HTTP 415 code is not used by gSOAP (applications MAY use HTTP 415) | |
| R1119 | passed | Automated | |
| R1120 | passed | Automated | |
| R1121 | passed | Automated | |
| R1122 | passed | Applications SHOULD NOT use HTTP cookies. gSOAP uses older RFC2109 (compliance requires RFC2965) | note 5 |
| R1123 | passed | Automated | |
| R1124 | passed | Automated | |
| R1125 | passed | Automated | |
| R1126 | passed | Automated | |
| R1130 | passed | Automated | |
| R1131 | supported | Client applications SHOULD redirect to new endpoint address upon receiving HTTP 307 code (note: HTTP 307 security flaws are not addressed by BP1.0) | note 6 |
| R1132 | passed | Automated | |
| R1140 | passed | Automated | |
| R1141 | passed | Automated | |
| R2001 | passed | Automated | |
| R2002 | passed | Automated | |
| R2003 | passed | Automated | |
| R2004 | passed | Automated | |
| R2005 | passed | Automated | |
| R2007 | passed | Automated | |
| R2008 | passed | Automated | |
| R2009 | passed | Automated | |
| R2010 | passed | Automated | |
| R2011 | passed | Automated | |
| R2020 | passed | Automated | |
| R2021 | passed | Automated | |
| R2022 | passed | Automated | |
| R2023 | passed | Automated | |
| R2024 | passed | Automated | |
| R2025 | passed | Automated | |
| R2026 | passed | Automated | |
| R2027 | passed | Automated | |
| R2028 | passed | Automated | |
| R2029 | passed | Automated | |
| R2101 | passed | Automated | |
| R2102 | passed | Automated | |
| R2105 | passed | Automated | |
| R2110 | passed | Applications MUST NOT use SOAP arrays | note 3 |
| R2111 | passed | Applications MUST NOT use SOAP arrays | note 3 |
| R2112 | passed | Applications MUST NOT use SOAP arrays | note 3 |
| R2113 | passed | Applications MUST NOT use SOAP arrays | note 3 |
| R2114 | passed | Automated | |
| R2201 | passed | Automated | |
| R2202 | passed | Automated | |
| R2203 | passed | Automated | |
| R2204 | passed | Automated | |
| R2205 | passed | Automated (gSOAP 2.5.1 and higher) | |
| R2206 | passed | Automated | |
| R2207 | passed | Automated | |
| R2208 | passed | Automated | |
| R2209 | passed | Automated | |
| R2210 | passed | Automated | |
| R2211 | passed | Automated | |
| R2301 | passed | Automated | |
| R2302 | passed | Automated | |
| R2303 | passed | Automated | |
| R2304 | passed | Note: Server applications MUST NOT support polymorphic operations (polymorphic data is OK) | |
| R2305 | passed | Automated | |
| R2306 | passed | Automated | |
| R2401 | passed | Automated | |
| R2701 | passed | Automated | |
| R2702 | passed | Automated | |
| R2705 | passed | Applications MUST use literal encoding | note 2 |
| R2707 | passed | Note: SOAP Fault, Header, Headerfault are literal | |
| R2709 | passed | Automated | |
| R2710 | passed | Automated | |
| R2711 | passed | Server applications MAY NOT use the same endpoint address for different WSDL service ports | note 8 |
| R2712 | passed | Developer: need to look into details | |
| R2714 | passed | gSOAP supports one-way synchronous (interoperable) and asynchronous calls | note 9 |
| R2716 | passed | Automated | |
| R2717 | passed | Automated | |
| R2718 | passed | Automated | |
| R2719 | passed | Automated | |
| R2720 | passed | Automated | |
| R2721 | passed | Automated | |
| R2722 | passed | Automated | |
| R2723 | passed | Applications MUST use literal encoding | note 2 |
| R2724 | passed | Automated | |
| R2725 | passed | Automated | |
| R2726 | passed | Automated | |
| R2727 | passed | gSOAP supports one-way synchronous (interoperable) and asynchronous calls | note 9 |
| R2728 | passed | Automated | |
| R2729 | passed | Automated | |
| R2735 | passed | Automated | |
| R2737 | passed | Automated | |
| R2738 | passed | Applications MUST send all of the designated SOAP Headers for those operations that have SOAP Header data associated with them | note 7 |
| R2739 | passed | Note: extra SOAP Headers are ignored and mustUnderstand rules are implemented | |
| R2740 | passed | Automated | |
| R2741 | passed | Automated | |
| R2742 | passed | Note: extra SOAP detail elements are handled | |
| R2743 | passed | Automated | |
| R2744 | passed | Automated | |
| R2745 | passed | Automated | |
| R2747 | passed | Automated | |
| R2748 | passed | Automated | |
| R2749 | passed | Automated | |
| R2750 | passed | Automated | |
| R2751 | passed | Automated | |
| R2752 | passed | Automated | |
| R2753 | passed | Automated | |
| R2754 | passed | Automated | |
| R2800 | passed | Automated | |
| R2801 | passed | Automated | |
| R3002 | N/A | Note: no UDDI implementation | |
| R3003 | N/A | Note: no UDDI implementation | |
| R3004 | N/A | Note: no UDDI implementation | |
| R3005 | N/A | Note: no UDDI implementation | |
| R3010 | N/A | Note: no UDDI implementation | |
| R3011 | N/A | Note: no UDDI implementation | |
| R3020 | N/A | Note: no UDDI implementation | |
| R3021 | N/A | Note: no UDDI implementation | |
| R3030 | N/A | Note: no UDDI implementation | |
| R3100 | N/A | Note: no UDDI implementation | |
| R4001 | passed | Automated | |
| R4002 | passed | Automated | |
| R4003 | passed | Automated | |
| R4004 | passed | Automated | |
| R5000 | passed | Automated | |
| R5001 | passed | Automated | |
One-way messaging in gSOAP is supported in two different modes: synchronous request-response message pairs and asynchronous one-way message passing. The former mode is interoperable. However, the latter mode is used by default in gSOAP because it is more flexible by enabling customization of more intricate message exchange patterns.
Some customization is necessary to achieve interoperability for one-way messages, which are defined as a function prototype with void response parameter in the gSOAP header file, for example:
int ns__event(enum ns__Event event, void);
Client-side C code:
if (soap_send_ns__event(soap, eventNo) != SOAP_OK || soap_recv_empty_response(soap) != SOAP_OK)
soap_print_fault(soap, stderr);
Client-side C++ code using proxy:
Event server;
if (server.ns__event(eventNO) != SOAP_OK || soap_recv_empty_response(server.soap) != SOAP_OK)
soap_print_fault(server.soap, stderr);
Server-side code:
int ns__event(struct soap *soap, enum ns__Event event)
{ ...
return soap_send_empty_response(soap); // use this instead of SOAP_OK
}