MCPcopy Index your code
hub / github.com/MapServer/MapServer / msWCSException20

Function msWCSException20

mapwcs20.c:2755–2849  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2753/************************************************************************/
2754
2755int msWCSException20(mapObj *map, const char *exceptionCode,
2756 const char *locator, const char *version)
2757{
2758 int size = 0;
2759 char *errorString = NULL;
2760 char *errorMessage = NULL;
2761 char *schemasLocation = NULL;
2762 const char * encoding;
2763 char *xsi_schemaLocation = NULL;
2764 char version_string[OWS_VERSION_MAXLEN];
2765
2766 xmlDocPtr psDoc = NULL;
2767 xmlNodePtr psRootNode = NULL;
2768 xmlNodePtr psMainNode = NULL;
2769 xmlNodePtr psNode = NULL;
2770 xmlNsPtr psNsOws = NULL;
2771 xmlNsPtr psNsXsi = NULL;
2772 xmlChar *buffer = NULL;
2773
2774 encoding = msOWSLookupMetadata(&(map->web.metadata), "CO", "encoding");
2775 errorString = msGetErrorString("\n");
2776 errorMessage = msEncodeHTMLEntities(errorString);
2777 schemasLocation = msEncodeHTMLEntities(msOWSGetSchemasLocation(map));
2778
2779 psDoc = xmlNewDoc(BAD_CAST "1.0");
2780
2781 psRootNode = xmlNewNode(NULL, BAD_CAST "ExceptionReport");
2782 psNsOws = xmlNewNs(psRootNode, BAD_CAST MS_OWSCOMMON_OWS_20_NAMESPACE_URI,
2783 BAD_CAST MS_OWSCOMMON_OWS_NAMESPACE_PREFIX);
2784 xmlSetNs(psRootNode, psNsOws);
2785
2786 psNsXsi = xmlNewNs(psRootNode, BAD_CAST MS_OWSCOMMON_W3C_XSI_NAMESPACE_URI, BAD_CAST MS_OWSCOMMON_W3C_XSI_NAMESPACE_PREFIX);
2787
2788 /* add attributes to root element */
2789 xmlNewProp(psRootNode, BAD_CAST "version", BAD_CAST version);
2790 xmlNewProp(psRootNode, BAD_CAST "xml:lang", BAD_CAST msOWSGetLanguage(map, "exception"));
2791
2792 /* get 2 digits version string: '2.0' */
2793 msOWSGetVersionString(OWS_2_0_0, version_string);
2794 version_string[3]= '\0';
2795
2796 xsi_schemaLocation = msStrdup((char *)psNsOws->href);
2797 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, " ");
2798 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, (char *)schemasLocation);
2799 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, "/ows/");
2800 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, version_string);
2801 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, "/owsExceptionReport.xsd");
2802
2803 /* add namespace'd attributes to root element */
2804 xmlNewNsProp(psRootNode, psNsXsi, BAD_CAST "schemaLocation", BAD_CAST xsi_schemaLocation);
2805
2806 /* add child element */
2807 psMainNode = xmlNewChild(psRootNode, NULL, BAD_CAST "Exception", NULL);
2808
2809 /* add attributes to child */
2810 xmlNewProp(psMainNode, BAD_CAST "exceptionCode", BAD_CAST exceptionCode);
2811
2812 if (locator != NULL)

Callers 3

msWCSExceptionFunction · 0.85
msWCSWriteFile20Function · 0.85
msWCSDispatch20Function · 0.85

Calls 10

msOWSLookupMetadataFunction · 0.85
msGetErrorStringFunction · 0.85
msEncodeHTMLEntitiesFunction · 0.85
msOWSGetSchemasLocationFunction · 0.85
msOWSGetLanguageFunction · 0.85
msOWSGetVersionStringFunction · 0.85
msStrdupFunction · 0.85
msStringConcatenateFunction · 0.85
msIO_printfFunction · 0.85
msResetErrorListFunction · 0.85

Tested by

no test coverage detected