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 | Automated. 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 | passed | Note: user must set uddi:tModel to WSDL as the description language | |
R3003 | passed | Note: user must ensure uddi:tModel represents a conformant Web service type MUST be categorized using the uddi:types taxonomy and a categorization of "wsdlSpec". | |
R3004 | passed | Note: requires user attention. | |
R3005 | passed | Note: requires user attention. | |
R3010 | passed | Note: user must ensure that uddi:tModel representing a conformant Web service type MUST follow V1.08 of the UDDI Best Practice for Using WSDL in a UDDI Registry. | |
R3011 | passed | Note: requires user attention. | |
R3020 | passed | Note: requires user attention. | |
R3021 | passed | Note: requires user attention. | |
R3030 | passed | Note: requires user attention. | |
R3100 | passed | Note: requires user attention. | |
R4001 | passed | Automated | |
R4002 | passed | Automated | |
R4003 | passed | Automated | |
R4004 | passed | Automated | |
R5000 | passed | Automated | |
R5001 | passed | Automated | |
Resolution | Status | Comment | Action |
R9701 | passed | Automated | |
R4001 | passed | Automated | |
R1010 | passed | Automated | |
R1012 | passed | Automated | |
R1018 | passed | Automated | |
R1019 | passed | Automated | |
R9980 | passed | Automated | |
R9981 | passed | Automated | |
R1015 | passed | Automated | |
R1014 | passed | Automated | |
R1008 | passed | Automated | |
R1009 | passed | Automated | |
R1033 | passed | Automated | |
R1011 | passed | Automated | |
R1005 | passed | Automated. Note: applies to doc/lit style only | |
R1006 | passed | Automated. Note: applies to doc/lit style only | |
R1007 | passed | Automated. Note: applies to doc/lit style only | |
R1013 | passed | Automated. Note: applies to SOAP 1.1 only | |
R1017 | passed | Automated | | |
R1032 | passed | Automated. Note: applies to doc/lit style only | |
R1025 | passed | Automated | |
R1027 | passed | Automated | |
R1028 | passed | Automated | |
R1029 | passed | Automated | |
R1030 | passed | Automated | |
R1107 | passed | Automated | |
R1000 | passed | Automated | |
R1001 | passed | Automated. Note: when
specifying the SOAP_ENV__Detail struct contents manually without the aid of
wsdl2h, the user must take care to use qualified members | |
R1002 | passed | Automated | |
R1003 | passed | To process SOAP Fault Detail element attributes, use wsdl2h option -d to populate a DOM list of attributes | |
R1016 | passed | Automated | |
R1035 | passed | Automated. Note: requires the use of import/wsa5.h for WS-Addressing | |
R1036 | passed | Automated. Note: requires the use of import/wsa5.h for WS-Addressing | |
R1142 | passed | User should ensure wsa:Action is properly set using the soap_wsa_request (doc/wsa/html/wsa.html) | |
R1043 | passed | Automated | |
R1144 | passed | User should ensure wsa:Action is properly set using the soap_wsa_request (see gsoap/doc/wsa/html/wsa.html) | |
R1141 | passed | Automated | |
R1140 | passed | Automated | |
R1132 | passed | Automated | |
R1108 | passed | Automated | |
R1109 | passed | Automated | |
R1119 | passed | Automated | |
R1127 | passed | Automated | |
R1124 | passed | Automated | |
R1111 | passed | Automated | |
R1112 | passed | Automated | |
R1130 | passed | Automated. Note: user should set soap->endpoint and return 307 from remote method operation at the server side | |
R1131 | passed | To allow redirects at the client side, user should check for soap->error == 307 and connect to soap->endpoint | |
R1125 | passed | Automated | |
R1113 | passed | Automated | |
R1114 | passed | Automated | |
R1115 | passed | User should check soap->http_content string at the client side (after the call) and server side (inside remote method call) to enforce this constraint | |
R1126 | passed | Automated | |
R1120 | passed | Automated. Note: requires compiler switch -DWITH_COOKIES and extras/ckdb.h to implement HTTP state management (cookies) | |
R1122 | passed | Automated | |
R1121 | passed | Automated | |
R1123 | passed | Automated | |
R1150 | passed | Automated. Note: WS-Addressing plugin | |
R1151 | passed | Automated. Note: WS-Addressing plugin | |
R0001 | passed | User should make the
WSDL available online, for example by implementing the soap->fget method to
return this document (see gsoap/soapdoc2.html section 18.10) | |
R2028 | passed | Automated | |
R2029 | passed | Automated | |
R2001 | passed | Automated | |
R2803 | passed | User should not declare relative URI in //gsoap schema import | |
R2002 | passed | Automated | |
R2003 | passed | Automated | |
R2004 | passed | Automated | |
R2009 | passed | Automated | |
R2010 | passed | Automated | |
R2011 | passed | Automated | |
R2007 | passed | Automated | |
R2008 | passed | Automated | |
R2022 | passed | Automated | |
R2023 | passed | Automated | |
R4004 | passed | Automated | |
R4005 | passed | Automated | |
R4002 | passed | Automated | |
R4003 | passed | Automated | |
R2005 | passed | Automated | |
R2005 | passed | Automated | |
R2025 | passed | Automated | |
R2026 | passed | Automated | |
R2027 | passed | Automated. Note: 2.7.15 and later | |
R2101 | passed | Automated. Note: 2.7.14 and later | |
R2105 | passed | Automated | |
R2110 | passed | Automated. Note: user should not use RPC encoding and avoid SOAP encoded arrays | |
R2111 | passed | Automated. Note: user should not use RPC encoding and avoid SOAP encoded arrays | |
R2112 | passed | Automated. Note: user should not use RPC encoding and avoid SOAP encoded arrays | |
R2113 | passed | Automated. Note: user should not use RPC encoding and avoid SOAP encoded arrays | |
R2114 | passed | Automated | |
R2115 | passed | Automated | |
R2116 | passed | Automated | |
R2201 | passed | Automated | |
R2210 | passed | Automated | |
R2202 | passed | Automated | |
R2203 | passed | Automated | |
R2211 | passed | Automated | |
R2207 | passed | Automated | |
R2204 | passed | Automated | |
R2208 | passed | Automated | |
R2212 | passed | Automated | |
R2213 | passed | Automated | |
R2214 | supported | RPC literal messages that are empty (the parts attribute of soapbind:body is an empty string) must be manually coded. | |
R2205 | passed | Automated | |
R2209 | passed | Automated | |
R2206 | passed | Automated | |
R2301 | passed | Automated | |
R2302 | passed | Automated | |
R2303 | passed | Automated | |
R2304 | passed | Automated. Note: operation overloading is not allowed. When manually specifying a service in a header file, user should avoid remote operation overloading (wsdl2h handles overloading just fine but functionality is only guaranteed at the client side) | |
R2305 | passed | Automated | |
R2306 | passed | Automated | |
R2401 | passed | Automated | |
R2701 | passed | Automated | |
R2702 | passed | Automated | |
R2705 | passed | Automated. Note: user should not specify SOAP RPC encoding when declaring a service (doc/lit is the default) | |
R2706 | passed | Automated | |
R2709 | passed | Automated | |
R2710 | passed | Automated | |
R2711 | passed | Automated | |
R2712 | passed | Automated | |
R2714 | passed | Automated | |
R2727 | passed | Automated | |
R2716 | passed | Automated | |
R2717 | passed | Automated | |
R2726 | passed | Automated | |
R2718 | passed | Automated | |
R2719 | passed | Automated | |
R2740 | passed | Automated | |
R2741 | passed | Automated | |
R2742 | passed | Automated | |
R2743 | passed | Automated | |
R2720 | passed | Automated | |
R2749 | passed | Automated | |
R2721 | passed | Automated | |
R2754 | passed | Automated | |
R2722 | passed | Automated | |
R2723 | passed | Automated | |
R2707 | passed | Automated | |
R2724 | passed | Automated | |
R2725 | passed | Automated | |
R2729 | passed | Automated | |
R2735 | passed | Automated | |
R2755 | passed | Automated | |
R2737 | passed | Automated | |
R2738 | passed | Automated | |
R2739 | passed | Automated | |
R2753 | passed | Automated | |
R2751 | passed | Automated | |
R2752 | passed | Automated | |
R2744 | passed | Automated | |
R2745 | passed | Automated | |
R2747 | passed | Automated | |
R2748 | passed | Automated | |
R2800 | passed | Automated | |
R2801 | passed | Automated | |
R3100 | passed | UDDI is not automated: user is responsible for ensuring compliance of the registry content | |
R3102 | passed | UDDI is not automated: user is responsible for ensuring compliance of the registry content | |
R3103 | passed | UDDI is not automated: user is responsible for ensuring compliance of the registry content | |
R3110 | passed | UDDI is not automated: user is responsible for ensuring compliance of the registry content | |
R3111 | passed | UDDI is not automated: user is responsible for ensuring compliance of the registry content | |
R5000 | passed | Automated. Note: SSL must be enabled (compile with -DWITH_OPENSSL and link openssl) to satisfy requirement | |
R5001 | passed | Automated | |
R5010 | 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
}