{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.9xE4bAyM/b1/gsoap_2.8.104-3_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.9xE4bAyM/b2/gsoap_2.8.104-3_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,7 +1,7 @@\n \n 961afd9d051e2533b68a82735ac6ed43 6207180 debug optional gsoap-dbgsym_2.8.104-3_arm64.deb\n- caabd438a59305a49fbd7f046e490d73 12593248 doc optional gsoap-doc_2.8.104-3_all.deb\n+ a671e7e02d1ea2a4e007e6dcc90b7c75 12593200 doc optional gsoap-doc_2.8.104-3_all.deb\n 2dad25441fe959b61875423a2b18d369 1409252 devel optional gsoap_2.8.104-3_arm64.deb\n 5d99ba78a590eaa7e7729caa3009f7c5 1656048 debug optional libgsoap-2.8.104-dbgsym_2.8.104-3_arm64.deb\n 5c5f7c246a08e3017c982769a3b644fa 275316 libs optional libgsoap-2.8.104_2.8.104-3_arm64.deb\n 9987f06b6bf1b661c7e16f876fb7bc39 287912 libdevel optional libgsoap-dev_2.8.104-3_arm64.deb\n"}, {"source1": "gsoap-doc_2.8.104-3_all.deb", "source2": "gsoap-doc_2.8.104-3_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2021-03-08 13:06:23.000000 debian-binary\n--rw-r--r-- 0 0 0 46976 2021-03-08 13:06:23.000000 control.tar.xz\n--rw-r--r-- 0 0 0 12546080 2021-03-08 13:06:23.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 46988 2021-03-08 13:06:23.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 12546020 2021-03-08 13:06:23.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -355,15 +355,15 @@\n -rw-r--r-- 0 root (0) root (0) 5162 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/group__group__soap.js\n -rw-r--r-- 0 root (0) root (0) 133290 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/group__group__ssl.html\n -rw-r--r-- 0 root (0) root (0) 2377 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/group__group__ssl.js\n -rw-r--r-- 0 root (0) root (0) 74502 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/group__group__threads.html\n -rw-r--r-- 0 root (0) root (0) 1922 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/group__group__threads.js\n -rw-r--r-- 0 root (0) root (0) 126767 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/group__group__with.html\n -rw-r--r-- 0 root (0) root (0) 3411 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/group__group__with.js\n--rw-r--r-- 0 root (0) root (0) 1834652 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/index.html\n+-rw-r--r-- 0 root (0) root (0) 1834626 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/index.html\n -rw-r--r-- 0 root (0) root (0) 2872 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/index_8md.html\n -rw-r--r-- 0 root (0) root (0) 175457 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/jquery.js\n -rw-r--r-- 0 root (0) root (0) 3222 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/menu.js\n -rw-r--r-- 0 root (0) root (0) 5236 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/menudata.js\n -rw-r--r-- 0 root (0) root (0) 10253 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/modules.html\n -rw-r--r-- 0 root (0) root (0) 1709 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/modules.js\n -rw-r--r-- 0 root (0) root (0) 153 2021-03-08 13:06:23.000000 ./usr/share/doc/gsoap-doc/guide/html/nav_f.png\n"}, {"source1": "./usr/share/doc/gsoap-doc/guide/html/index.html", "source2": "./usr/share/doc/gsoap-doc/guide/html/index.html", "has_internal_linenos": true, "unified_diff": "@@ -56951,57716 +56951,57715 @@\n 000de760: 6c69 7374 3c2f 7370 616e 3e20 3c73 7061 list In case m\n-000dea00: 756c 7469 2d72 6566 6572 656e 6365 6420 ulti-referenced \n-000dea10: 6461 7461 2069 7320 7265 6365 6976 6564 data is received\n-000dea20: 2074 6861 7420 2264 6f65 7320 6e6f 7420 that \"does not \n-000dea30: 6669 7420 696e 2061 2070 6f69 6e74 6572 fit in a pointer\n-000dea40: 2d62 6173 6564 2073 7472 7563 7475 7265 -based structure\n-000dea50: 222c 2074 6865 2064 6174 6120 6973 2063 \", the data is c\n-000dea60: 6f70 6965 642e 2046 6f72 2065 7861 6d70 opied. For examp\n-000dea70: 6c65 2c20 7468 6520 666f 6c6c 6f77 696e le, the followin\n-000dea80: 6720 7477 6f20 7374 7275 6374 7320 6172 g two structs ar\n-000dea90: 6520 7369 6d69 6c61 722c 2065 7863 6570 e similar, excep\n-000deaa0: 7420 7468 6174 2074 6865 2066 6972 7374 t that the first\n-000deab0: 2075 7365 7320 706f 696e 7465 722d 6261 uses pointer-ba\n-000deac0: 7365 6420 6d65 6d62 6572 7320 7768 696c sed members whil\n-000dead0: 6520 7468 6520 6f74 6865 7220 7573 6573 e the other uses\n-000deae0: 206e 6f6e 2d70 6f69 6e74 6572 2d62 6173 non-pointer-bas\n-000deaf0: 6564 206d 656d 6265 7273 3a3c 2f70 3e0a ed members: Since b\n-000deea0: 6f74 6820 3c63 6f64 653e 613c 2f63 6f64 oth The deserial\n-000df240: 697a 6174 696f 6e20 6f66 2074 6865 2063 ization of the c\n-000df250: 6f6e 7465 6e74 2069 6e20 7468 6520 3c63 ontent in the A NULL point\n-000df3f0: 6572 2069 7320 6e6f 7420 7365 7269 616c er is not serial\n-000df400: 697a 6564 2c20 756e 6c65 7373 2074 6865 ized, unless the\n-000df410: 2070 6f69 6e74 6572 206d 656d 6265 7220 pointer member \n-000df420: 6f66 2061 2073 7472 7563 7420 6f72 2063 of a struct or c\n-000df430: 6c61 7373 2069 7320 6465 636c 6172 6564 lass is declared\n-000df440: 2069 6e20 7468 6520 696e 7465 7266 6163 in the interfac\n-000df450: 6520 6865 6164 6572 2066 696c 6520 6173 e header file as\n-000df460: 206e 696c 6c61 626c 6520 7769 7468 203c nillable with <\n-000df470: 636f 6465 3e6e 756c 6c70 7472 3c2f 636f code>nullptr or in the un\n-000df490: 6c69 6b65 6c79 2063 6173 6520 7468 6520 likely case the \n-000df4a0: 706f 696e 7465 7220 6974 7365 6c66 2069 pointer itself i\n-000df4b0: 7320 706f 696e 7465 6420 746f 2062 7920 s pointed to by \n-000df4c0: 616e 6f74 6865 7220 706f 696e 7465 7220 another pointer \n-000df4d0: 2862 7574 2073 6565 2053 6563 7469 6f6e (but see Section\n-000df4e0: 203c 6120 636c 6173 733d 2265 6c22 2068 Run-time \n-000df510: 666c 6167 733c 2f61 3e20 746f 2063 6f6e flags to con\n-000df520: 7472 6f6c 2074 6865 2073 6572 6961 6c69 trol the seriali\n-000df530: 7a61 7469 6f6e 206f 6620 4e55 4c4c 7329 zation of NULLs)\n-000df540: 2c20 666f 7220 6578 616d 706c 653a 3c2f , for example:\n-000df550: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. T\n-000df6f0: 6865 2074 7970 6573 2073 6563 7469 6f6e he types section\n-000df700: 206f 6620 6120 5753 444c 2064 6573 6372 of a WSDL descr\n-000df710: 6970 7469 6f6e 2063 6f6e 7461 696e 7320 iption contains \n-000df720: 696e 666f 726d 6174 696f 6e20 6f6e 2074 information on t\n-000df730: 6865 2022 6e69 6c6c 6162 696c 6974 7922 he \"nillability\"\n-000df740: 206f 6620 6461 7461 2c20 7768 6963 6820 of data, which \n-000df750: 6973 2064 6563 6c61 7265 6420 6173 203c is declared as <\n-000df760: 636f 6465 3e6e 756c 6c70 7472 3c2f 636f code>nullptr members wher\n-000df780: 6520 7468 6520 3c63 6f64 653e 313c 2f63 e the T\n+000df220: 6865 2064 6573 6572 6961 6c69 7a61 7469 he deserializati\n+000df230: 6f6e 206f 6620 7468 6520 636f 6e74 656e on of the conten\n+000df240: 7420 696e 2074 6865 203c 636f 6465 3e52 t in the \n+000df350: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n+000df370: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n+000df380: 703e 0a3c 6833 3e3c 6120 636c 6173 733d p>. A\n+000df3d0: 204e 554c 4c20 706f 696e 7465 7220 6973 NULL pointer is\n+000df3e0: 206e 6f74 2073 6572 6961 6c69 7a65 642c not serialized,\n+000df3f0: 2075 6e6c 6573 7320 7468 6520 706f 696e unless the poin\n+000df400: 7465 7220 6d65 6d62 6572 206f 6620 6120 ter member of a \n+000df410: 7374 7275 6374 206f 7220 636c 6173 7320 struct or class \n+000df420: 6973 2064 6563 6c61 7265 6420 696e 2074 is declared in t\n+000df430: 6865 2069 6e74 6572 6661 6365 2068 6561 he interface hea\n+000df440: 6465 7220 6669 6c65 2061 7320 6e69 6c6c der file as nill\n+000df450: 6162 6c65 2077 6974 6820 3c63 6f64 653e able with The ty\n+000df6e0: 7065 7320 7365 6374 696f 6e20 6f66 2061 pes section of a\n+000df6f0: 2057 5344 4c20 6465 7363 7269 7074 696f WSDL descriptio\n+000df700: 6e20 636f 6e74 6169 6e73 2069 6e66 6f72 n contains infor\n+000df710: 6d61 7469 6f6e 206f 6e20 7468 6520 226e mation on the \"n\n+000df720: 696c 6c61 6269 6c69 7479 2220 6f66 2064 illability\" of d\n+000df730: 6174 612c 2077 6869 6368 2069 7320 6465 ata, which is de\n+000df740: 636c 6172 6564 2061 7320 3c63 6f64 653e clared as Sup\n+000df830: 706f 7365 2070 6f69 6e74 6572 203c 636f pose pointer When \n+000dfca0: 7468 6520 6465 7365 7269 616c 697a 6572 the deserializer\n+000dfcb0: 2065 6e63 6f75 6e74 6572 7320 616e 2058 encounters an X\n+000dfcc0: 4d4c 2065 6c65 6d65 6e74 2074 6861 7420 ML element that \n+000dfcd0: 6861 7320 6120 3c65 6d3e 3c63 6f64 653e has a \n+000dfe40: 566f 6964 2070 6f69 6e74 6572 7320 283c Void pointers (<\n+000dfe50: 636f 6465 3e76 6f69 642a 3c2f 636f 6465 code>void*) cannot be ser\n+000dfe70: 6961 6c69 7a65 6420 696e 2058 4d4c 2062 ialized in XML b\n+000dfe80: 6563 6175 7365 2074 6865 2074 7970 6520 ecause the type \n+000dfe90: 6f66 2064 6174 6120 7265 6665 7272 6564 of data referred\n+000dfea0: 2074 6f20 6973 2075 6e74 7970 6564 2e20 to is untyped. \n+000dfeb0: 546f 2065 6e61 626c 6520 7468 6520 7365 To enable the se\n+000dfec0: 7269 616c 697a 6174 696f 6e20 6f66 2076 rialization of v\n+000dfed0: 6f69 6420 706f 696e 7465 7273 2074 6861 oid pointers tha\n+000dfee0: 7420 6172 6520 6d65 6d62 6572 7320 6f66 t are members of\n+000dfef0: 2073 7472 7563 7473 2061 6e64 2063 6c61 structs and cla\n+000dff00: 7373 6573 2c20 796f 7520 6361 6e20 696e sses, you can in\n+000dff10: 7365 7274 2061 203c 636f 6465 3e69 6e74 sert a Here is an \n+000e02a0: 6578 616d 706c 6520 746f 2069 6c6c 7573 example to illus\n+000e02b0: 7472 6174 6520 7468 6520 7365 7269 616c trate the serial\n+000e02c0: 697a 6174 696f 6e20 6f66 2061 203c 636f ization of a The The \n-000e0560: 666f 6c6c 6f77 696e 6720 6578 616d 706c following exampl\n-000e0570: 6520 696c 6c75 7374 7261 7465 7320 7468 e illustrates th\n-000e0580: 6520 696e 6974 6961 6c69 7a61 7469 6f6e e initialization\n-000e0590: 206f 6620 3c63 6f64 653e 6d79 5374 7275 of The serialize\n-000e0720: 6420 6f75 7470 7574 206f 6620 3c63 6f64 d output of struct ns__record.a and
b\n-000deec0: 636f 6465 3e20 6d65 6d62 6572 7320 6f66 code> members of\n-000deed0: 203c 636f 6465 3e50 3c2f 636f 6465 3e20
P
\n-000deee0: 706f 696e 7420 746f 2074 6865 2073 616d point to the sam\n-000deef0: 6520 696e 7465 6765 722c 2074 6865 2073 e integer, the s\n-000def00: 6572 6961 6c69 7a61 7469 6f6e 206f 6620 erialization of \n-000def10: 3c63 6f64 653e 503c 2f63 6f64 653e 2070 P
p\n-000def20: 726f 6475 6365 7320 6120 6d75 6c74 692d roduces a multi-\n-000def30: 7265 6665 7265 6e63 6520 696e 2053 4f41 reference in SOA\n-000def40: 5020 312e 3120 5250 4320 656e 636f 6469 P 1.1 RPC encodi\n-000def50: 6e67 3a3c 2f70 3e0a 3c64 6976 2063 6c61 ng:.NUL\n-000df3c0: 4c20 706f 696e 7465 7273 2061 6e64 206e L pointers and n\n-000df3d0: 696c 2065 6c65 6d65 6e74 733c 2f68 333e il elements
\n-000df3e0: 0a3c 703e 4120 4e55 4c4c 2070 6f69 6e74 .int **q; 1 indicates t\n-000df7a0: 6861 7420 7468 6520 6d65 6d62 6572 2069 hat the member i\n-000df7b0: 7320 7265 7175 6972 6564 2028 3c65 6d3e s required (\n-000df7c0: 3c63 6f64 653e 6d69 6e4f 6363 7572 733c
\n-000df820: 6f72 2073 696d 706c 7920 3c63 6f64 653e or simply minOccurs<\n-000df7d0: 2f63 6f64 653e 3c2f 656d 3e20 616e 6420 /code>
and \n-000df7e0: 3c65 6d3e 3c63 6f64 653e 6d61 784f 6363 maxOcc\n-000df7f0: 7572 733c 2f63 6f64 653e 3c2f 656d 3e20 urs
\n-000df800: 6172 6520 3120 7365 7420 7769 7468 203c are 1 set with <\n-000df810: 636f 6465 3e31 3a31 3c2f 636f 6465 3e20 code>1:1\n-000df830: 313c 2f63 6f64 653e 292e 3c2f 703e 0a3c 1
).q
\n-000df860: 2070 6f69 6e74 7320 746f 2070 6f69 6e74 points to point\n-000df870: 6572 203c 636f 6465 3e70 3c2f 636f 6465 er p
and suppose r
\n-000df8b0: 6172 6520 4e55 4c4c 2e20 496e 2074 6861 are NULL. In tha\n-000df8c0: 7420 6361 7365 2074 6865 203c 636f 6465 t case the X
struct\n-000df8e0: 2069 7320 7365 7269 616c 697a 6564 2077 is serialized w\n-000df8f0: 6974 6820 3c63 6f64 653e 2353 4f41 505f ith #SOAP_\n-000df900: 584d 4c5f 4752 4150 483c 2f63 6f64 653e XML_GRAPH
\n-000df910: 2061 733a 3c2f 703e 0a3c 6469 7620 636c as:.X\n-000dfbf0: 2667 743b 3c2f 6469 763e 0a3c 2f64 6976 >R\n+000df250: 3c2f 636f 6465 3e20 6461 7461 2073 7472
data str\n+000df260: 7563 7475 7265 2074 6861 7420 646f 6573 ucture that does\n+000df270: 206e 6f74 2075 7365 2070 6f69 6e74 6572 not use pointer\n+000df280: 7320 746f 2069 6e74 6567 6572 7320 7265 s to integers re\n+000df290: 7375 6c74 7320 696e 2061 2063 6f70 7920 sults in a copy \n+000df2a0: 6f66 2065 6163 6820 6d75 6c74 692d 7265 of each multi-re\n+000df2b0: 6665 7265 6e63 6520 696e 7465 6765 722e ference integer.\n+000df2c0: 204e 6f74 6520 7468 6174 2074 6865 2074 Note that the t\n+000df2d0: 776f 2073 7472 7563 7473 2072 6573 656d wo structs resem\n+000df2e0: 626c 6520 7468 6520 7361 6d65 2058 4d4c ble the same XML\n+000df2f0: 2064 6174 6120 7479 7065 2062 6563 6175 data type becau\n+000df300: 7365 2074 6865 2074 7261 696c 696e 6720 se the trailing \n+000df310: 756e 6465 7273 636f 7265 2077 696c 6c20 underscore will \n+000df320: 6265 2069 676e 6f72 6564 2069 6e20 584d be ignored in XM\n+000df330: 4c20 656e 636f 6469 6e67 2061 6e64 2064 L encoding and d\n+000df340: 6563 6f64 696e 672e 3c2f 703e 0a3c 703e ecoding..NULL poi\n+000df3b0: 6e74 6572 7320 616e 6420 6e69 6c20 656c nters and nil el\n+000df3c0: 656d 656e 7473 3c2f 6833 3e0a 3c70 3e41 ements
.\n+000df460: 6e75 6c6c 7074 723c 2f63 6f64 653e 206f nullptr
o\n+000df470: 7220 696e 2074 6865 2075 6e6c 696b 656c r in the unlikel\n+000df480: 7920 6361 7365 2074 6865 2070 6f69 6e74 y case the point\n+000df490: 6572 2069 7473 656c 6620 6973 2070 6f69 er itself is poi\n+000df4a0: 6e74 6564 2074 6f20 6279 2061 6e6f 7468 nted to by anoth\n+000df4b0: 6572 2070 6f69 6e74 6572 2028 6275 7420 er pointer (but \n+000df4c0: 7365 6520 5365 6374 696f 6e20 3c61 2063 see Section Run-time flags\n+000df500: 3c2f 613e 2074 6f20 636f 6e74 726f 6c20 to control \n+000df510: 7468 6520 7365 7269 616c 697a 6174 696f the serializatio\n+000df520: 6e20 6f66 204e 554c 4c73 292c 2066 6f72 n of NULLs), for\n+000df530: 2065 7861 6d70 6c65 3a3c 2f70 3e0a 3c64 example:\n+000df750: 6e75 6c6c 7074 723c 2f63 6f64 653e 206d nullptr
m\n+000df760: 656d 6265 7273 2077 6865 7265 2074 6865 embers where the\n+000df770: 203c 636f 6465 3e31 3c2f 636f 6465 3e20 1
\n+000df780: 696e 6469 6361 7465 7320 7468 6174 2074 indicates that t\n+000df790: 6865 206d 656d 6265 7220 6973 2072 6571 he member is req\n+000df7a0: 7569 7265 6420 283c 656d 3e3c 636f 6465 uired (minOccurs
and <\n+000df7d0: 636f 6465 3e6d 6178 4f63 6375 7273 3c2f code>maxOccurs\n+000df7e0: 636f 6465 3e3c 2f65 6d3e 2061 7265 2031 code> are 1\n+000df7f0: 2073 6574 2077 6974 6820 3c63 6f64 653e set with \n+000df800: 313a 313c 2f63 6f64 653e 206f 7220 7369 1:1
or si\n+000df810: 6d70 6c79 203c 636f 6465 3e31 3c2f 636f mply 1).
p\n+000df880: 3c2f 636f 6465 3e20 616e 6420 3c63 6f64
and X
X
from t\n+000dfc40: 6869 7320 666f 726d 206f 6620 584d 4c2c his form of XML,\n+000dfc50: 2074 6865 7265 6279 2070 7265 7365 7276 thereby preserv\n+000dfc60: 696e 6720 7468 6520 696e 7465 6772 6974 ing the integrit\n+000dfc70: 7920 6f66 2074 6865 2064 6174 6120 7374 y of the data st\n+000dfc80: 7275 6374 7572 6520 7365 7269 616c 697a ructure serializ\n+000dfc90: 6564 2e3c 2f70 3e0a 3c70 3e57 6865 6e20 ed..\n+000dfce0: 7873 693a 6e69 6c3d 2274 7275 6522 3c2f xsi:nil=\"true\"\n+000dfcf0: 636f 6465 3e3c 2f65 6d3e 2061 7474 7269 code>
attri\n+000dfd00: 6275 7465 2062 7574 2074 6865 2063 6f72 bute but the cor\n+000dfd10: 7265 7370 6f6e 6469 6e67 2043 2f43 2b2b responding C/C++\n+000dfd20: 2064 6174 6120 6973 206e 6f74 2061 2070 data is not a p\n+000dfd30: 6f69 6e74 6572 206f 7220 7265 6665 7265 ointer or refere\n+000dfd40: 6e63 652c 2074 6865 2064 6573 6572 6961 nce, the deseria\n+000dfd50: 6c69 7a65 7220 7769 6c6c 2074 6572 6d69 lizer will termi\n+000dfd60: 6e61 7465 2077 6974 6820 6120 3c63 6f64 nate with a #SOAP_X\n+000dfda0: 4d4c 5f53 5452 4943 543c 2f63 6f64 653e ML_STRICT
\n+000dfdb0: 2066 6c61 6720 6973 2073 6574 2e3c 2f70 flag is set..Voi\n+000dfe20: 6420 706f 696e 7465 7220 7365 7269 616c d pointer serial\n+000dfe30: 697a 6174 696f 6e3c 2f68 323e 0a3c 703e ization
.int\n+000dff20: 205f 5f74 7970 653c 2f63 6f64 653e 206d __type
m\n+000dff30: 656d 6265 7220 7269 6768 7420 6265 666f ember right befo\n+000dff40: 7265 2074 6865 2076 6f69 6420 706f 696e re the void poin\n+000dff50: 7465 7220 6d65 6d62 6572 2e20 5468 6520 ter member. The \n+000dff60: 3c63 6f64 653e 696e 7420 5f5f 7479 7065 int __type\n+000dff70: 3c2f 636f 6465 3e20 6d65 6d62 6572 2063
member c\n+000dff80: 6f6e 7461 696e 7320 7275 6e20 7469 6d65 ontains run time\n+000dff90: 2069 6e66 6f72 6d61 7469 6f6e 206f 6e20 information on \n+000dffa0: 7468 6520 7479 7065 206f 6620 7468 6520 the type of the \n+000dffb0: 6461 7461 2070 6f69 6e74 6564 2074 6f20 data pointed to \n+000dffc0: 6279 203c 636f 6465 3e76 6f69 642a 3c2f by void*\n+000dffd0: 636f 6465 3e20 6d65 6d62 6572 2069 6e20 code> member in \n+000dffe0: 6120 7374 7275 6374 2f63 6c61 7373 2074 a struct/class t\n+000dfff0: 6f20 656e 6162 6c65 2074 6865 2073 6572 o enable the ser\n+000e0000: 6961 6c69 7a61 7469 6f6e 206f 6620 7468 ialization of th\n+000e0010: 6973 2064 6174 612e 2054 6865 203c 636f is data. The
is \n+000e0080: 7468 6520 6e61 6d65 206f 6620 6120 7479 the name of a ty\n+000e0090: 7065 2e20 5468 6520 736f 6170 6370 7032 pe. The soapcpp2\n+000e00a0: 2074 6f6f 6c20 6765 6e65 7261 7465 7320 tool generates \n+000e00b0: 7468 6520 3c63 6f64 653e 534f 4150 5f54 the SO\n+000e0050: 4150 5f54 5950 455f 543c 2f63 6f64 653e AP_TYPE_T
\n+000e0060: 2076 616c 7565 2c20 7768 6572 6520 3c63 value, where SOAP_T\n+000e00c0: 5950 455f 543c 2f63 6f64 653e 2064 6566 YPE_T
def\n+000e00d0: 696e 6974 696f 6e73 2069 6e20 3c65 6d3e initions in \n+000e00e0: 3c63 6f64 653e 736f 6170 482e 683c 2f63 soapH.h
and us\n+000e0100: 6573 2074 6865 6d20 696e 7465 726e 616c es them internal\n+000e0110: 6c79 2074 6f20 756e 6971 7565 6c79 2069 ly to uniquely i\n+000e0120: 6465 6e74 6966 7920 7468 6520 7479 7065 dentify the type\n+000e0130: 206f 6620 6561 6368 206f 626a 6563 742e of each object.\n+000e0140: 2054 6865 2074 7970 6520 6e61 6d69 6e67 The type naming\n+000e0150: 2063 6f6e 7665 6e74 696f 6e73 206f 7574 conventions out\n+000e0160: 6c69 6e65 6420 696e 2053 6563 7469 6f6e lined in Section\n+000e0170: 203c 6120 636c 6173 733d 2265 6c22 2068 Seria\n+000e01a0: 6c69 7a69 6e67 2043 2f43 2b2b 2064 6174 lizing C/C++ dat\n+000e01b0: 6120 746f 2058 4d4c 3c2f 613e 2061 7265 a to XML are\n+000e01c0: 2075 7365 6420 746f 2064 6574 6572 6d69 used to determi\n+000e01d0: 6e65 2074 6865 2074 7970 6520 6e61 6d65 ne the type name\n+000e01e0: 2066 6f72 203c 636f 6465 3e54 3c2f 636f for T. Values seri\n+000e0200: 616c 697a 6564 2069 6e20 584d 4c20 7769 alized in XML wi\n+000e0210: 7468 2074 6869 7320 6170 7072 6f61 6368 th this approach\n+000e0220: 2061 6c77 6179 7320 6361 7272 7920 7468 always carry th\n+000e0230: 6520 3c65 6d3e 3c63 6f64 653e 7873 693a e
xsi:\n+000e0240: 7479 7065 3c2f 636f 6465 3e3c 2f65 6d3e type
\n+000e0250: 2061 7474 7269 6275 7465 2069 6e20 584d attribute in XM\n+000e0260: 4c20 746f 2069 6e64 6963 6174 6520 7468 L to indicate th\n+000e0270: 6520 7479 7065 206f 6620 636f 6e74 656e e type of conten\n+000e0280: 7420 7365 7269 616c 697a 6564 2e3c 2f70 t serialized.// serialize\n-000e0480: 2061 6e79 2074 7970 6520 696e 2065 6c65 any type in ele\n-000e0490: 6d65 6e74 2026 6c74 3b76 616c 2667 743b ment <val>\n-000e04a0: 3c2f 7370 616e 3e3c 2f64 6976 3e0a 3c64 __t\n-000e04f0: 7970 653c 2f63 6f64 653e 2069 6e74 6567 ype
integ\n-000e0500: 6572 2063 616e 2062 6520 7365 7420 746f er can be set to\n-000e0510: 2030 2061 7420 7275 6e20 7469 6d65 2074 0 at run time t\n-000e0520: 6f20 6f6d 6974 2074 6865 2073 6572 6961 o omit the seria\n-000e0530: 6c69 7a61 7469 6f6e 206f 6620 7468 6520 lization of the \n-000e0540: 766f 6964 2070 6f69 6e74 6572 206d 656d void pointer mem\n-000e0550: 6265 722e 3c2f 703e 0a3c 703e 5468 6520 ber.myStru\n-000e05a0: 6374 3c2f 636f 6465 3e20 7769 7468 2061 ct
with a\n-000e05b0: 2076 6f69 6420 706f 696e 7465 7220 746f void pointer to\n-000e05c0: 2061 6e20 696e 743a 3c2f 703e 0a3c 6469 an int:val
\n-000e0770: 2065 6c65 6d65 6e74 3a3c 2f70 3e0a 3c64 element:xsi:type=\n-000e0870: 2671 756f 743b 7873 643a 696e 7426 7175 "xsd:int&qu\n-000e0880: 6f74 3b3c 2f73 7061 6e3e 2667 743b 3132 ot;>12\n-000e0890: 3326 6c74 3b2f 3c73 7061 6e20 636c 6173 3</\n-000e08b0: 7661 6c3c 2f73 7061 6e3e 2667 743b 3c2f val>\n-000e08c0: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.ns_\n-000e0950: 5f72 6563 6f72 643c 2f63 6f64 653e 2077 _record
w\n-000e0960: 696c 6c20 6175 746f 6d61 7469 6361 6c6c ill automaticall\n-000e0970: 7920 7365 7420 7468 6520 3c63 6f64 653e y set the \n-000e0980: 5f5f 7479 7065 3c2f 636f 6465 3e20 6669 __type
fi\n-000e0990: 656c 6420 616e 6420 766f 6964 2070 6f69 eld and void poi\n-000e09a0: 6e74 6572 2077 6865 6e20 6465 7365 7269 nter when deseri\n-000e09b0: 616c 697a 696e 6720 7468 6520 6461 7461 alizing the data\n-000e09c0: 2c20 7072 6f76 6964 6564 2074 6861 7420 , provided that \n-000e09d0: 7468 6520 584d 4c20 656c 656d 656e 7420 the XML element \n-000e09e0: 3c65 6d3e 3c63 6f64 653e 7661 6c3c 2f63 val
carrie\n-000e0a00: 7320 7468 6520 3c65 6d3e 3c63 6f64 653e s the \n-000e0a10: 7873 693a 7479 7065 3c2f 636f 6465 3e3c xsi:type
<\n-000e0a20: 2f65 6d3e 2061 7474 7269 6275 7465 2066 /em> attribute f\n-000e0a30: 726f 6d20 7768 6963 6820 6974 2063 616e rom which it can\n-000e0a40: 2064 6574 6572 6d69 6e65 2074 6865 2074 determine the t\n-000e0a50: 7970 652e 3c2f 703e 0a3c 646c 2063 6c61 ype.
void* member, the\n-000e0ac0: 203c 636f 6465 3e76 6f69 642a 3c2f 636f void* pointer must\n-000e0ae0: 2064 6972 6563 746c 7920 706f 696e 7420 directly point \n-000e0af0: 746f 2074 6865 2073 7472 696e 6720 7661 to the string va\n-000e0b00: 6c75 6520 7261 7468 6572 2074 6861 6e20 lue rather than \n-000e0b10: 696e 6469 7265 6374 6c79 2061 7320 7769 indirectly as wi\n-000e0b20: 7468 2061 6c6c 206f 7468 6572 2074 7970 th all other typ\n-000e0b30: 6573 2e20 466f 7220 6578 616d 706c 653a es. For example:\n-000e0b40: 3c2f 6464 3e3c 2f64 6c3e 0a3c 6469 7620
This \n-000e0c80: 6973 2074 6865 2063 6173 6520 666f 7220 is the case for \n-000e0c90: 616c 6c20 7374 7269 6e67 2d62 6173 6564 all string-based\n-000e0ca0: 2074 7970 6573 2c20 696e 636c 7564 696e types, includin\n-000e0cb0: 6720 7479 7065 7320 6465 6669 6e65 6420 g types defined \n-000e0cc0: 7769 7468 203c 636f 6465 3e74 7970 6564 with typed\n-000e0cd0: 6566 2063 6861 722a 3c2f 636f 6465 3e2e ef char*
.\n-000e0ce0: 3c2f 703e 0a3c 703e 596f 7520 6d61 7920
You may \n-000e0cf0: 7573 6520 616e 2061 7262 6974 7261 7279 use an arbitrary\n-000e0d00: 2073 7566 6669 7820 7769 7468 2074 6865 suffix with the\n-000e0d10: 203c 636f 6465 3e5f 5f74 7970 653c 2f63 The The ser\n+000e0700: 6961 6c69 7a65 6420 6f75 7470 7574 206f ialized output o\n+000e0710: 6620 3c63 6f64 653e 533c 2f63 6f64 653e f The dese\n+000e0920: 7269 616c 697a 6572 2066 6f72 203c 636f rializer for This is the cas\n+000e0c70: 6520 666f 7220 616c 6c20 7374 7269 6e67 e for all string\n+000e0c80: 2d62 6173 6564 2074 7970 6573 2c20 696e -based types, in\n+000e0c90: 636c 7564 696e 6720 7479 7065 7320 6465 cluding types de\n+000e0ca0: 6669 6e65 6420 7769 7468 203c 636f 6465 fined with Yo\n+000e0cd0: 7520 6d61 7920 7573 6520 616e 2061 7262 u may use an arb\n+000e0ce0: 6974 7261 7279 2073 7566 6669 7820 7769 itrary suffix wi\n+000e0cf0: 7468 2074 6865 203c 636f 6465 3e5f 5f74 th the Because se\n-000e1040: 7276 6963 6520 6d65 7468 6f64 2070 6172 rvice method par\n-000e1050: 616d 6574 6572 7320 6172 6520 7374 6f72 ameters are stor\n-000e1060: 6564 2077 6974 6869 6e20 7374 7275 6374 ed within struct\n-000e1070: 732c 2079 6f75 2063 616e 2075 7365 203c s, you can use <\n-000e1080: 636f 6465 3e5f 5f74 7970 653c 2f63 6f64 code>__type and Beca\n+000e1020: 7573 6520 7365 7276 6963 6520 6d65 7468 use service meth\n+000e1030: 6f64 2070 6172 616d 6574 6572 7320 6172 od parameters ar\n+000e1040: 6520 7374 6f72 6564 2077 6974 6869 6e20 e stored within \n+000e1050: 7374 7275 6374 732c 2079 6f75 2063 616e structs, you can\n+000e1060: 2075 7365 203c 636f 6465 3e5f 5f74 7970 use This m\n+000e15f0: 6574 686f 6420 6861 7320 6120 706f 6c79 ethod has a poly\n+000e1600: 6d6f 7270 6869 6320 696e 7075 7420 7061 morphic input pa\n+000e1610: 7261 6d65 7465 7220 3c63 6f64 653e 6461 rameter To declare a \n+000e17f0: 7772 6170 7065 7220 7374 7275 6374 2f63 wrapper struct/c\n+000e1800: 6c61 7373 2066 6f72 203c 636f 6465 3e76 lass for The seri\n-000e1d10: 616c 697a 6564 206f 7574 7075 7420 6f66 alized output of\n-000e1d20: 203c 636f 6465 3e53 3c2f 636f 6465 3e20 ..\n-000e1f00: 949d 203c 6120 6872 6566 3d22 2322 3e42 .. B\n-000e1f10: 6163 6b20 746f 2074 6162 6c65 206f 6620 ack to table of \n-000e1f20: 636f 6e74 656e 7473 3c2f 613e 3c2f 703e contents Fixed size a\n-000e1f90: 7272 6179 7320 6172 6520 7365 7269 616c rrays are serial\n-000e1fa0: 697a 6564 2061 7320 7265 7065 7469 7469 ized as repetiti\n-000e1fb0: 6f6e 7320 6f66 203c 656d 3e3c 636f 6465 ons of The seria\n-000e2090: 6c69 7a61 7469 6f6e 206f 6620 6669 7865 lization of fixe\n-000e20a0: 642d 7369 7a65 2061 7272 6179 7320 7375 d-size arrays su\n-000e20b0: 7070 6f72 7473 2074 6865 2053 4f41 5020 pports the SOAP \n-000e20c0: 5250 4320 656e 636f 6469 6e67 206d 756c RPC encoding mul\n-000e20d0: 7469 2d64 696d 656e 7369 6f6e 616c 2061 ti-dimensional a\n-000e20e0: 7272 6179 2066 6f72 6d61 7420 6173 2077 rray format as w\n-000e20f0: 656c 6c20 6173 2070 6172 7469 616c 6c79 ell as partially\n-000e2100: 2074 7261 6e73 6d69 7474 6564 2061 6e64 transmitted and\n-000e2110: 2073 7061 7273 6520 6172 7261 7920 666f sparse array fo\n-000e2120: 726d 6174 7320 7374 616e 6461 7264 697a rmats standardiz\n-000e2130: 6564 2069 6e20 534f 4150 2031 2e31 2061 ed in SOAP 1.1 a\n-000e2140: 6e64 2031 2e32 2e3c 2f70 3e0a 3c70 3e46 nd 1.2. F\n-000e2150: 6f72 2065 7861 6d70 6c65 3a3c 2f70 3e0a or example: This specifie\n-000e22c0: 7320 6120 6669 7865 642d 7369 7a65 2061 s a fixed-size a\n-000e22d0: 7272 6179 2070 6172 7420 6f66 2074 6865 rray part of the\n-000e22e0: 203c 636f 6465 3e73 7472 7563 7420 4578 A\n-000e2570: 6e79 2064 6573 6572 6961 6c69 7a65 6420 ny deserialized \n-000e2580: 6974 656d 7320 6f66 2061 6e20 6172 7261 items of an arra\n-000e2590: 7920 7468 6174 2064 6f20 6e6f 7420 6669 y that do not fi\n-000e25a0: 7420 696e 2074 6865 2066 6978 6564 2073 t in the fixed s\n-000e25b0: 697a 6520 6172 7261 792c 2069 2e65 2e20 ize array, i.e. \n-000e25c0: 6172 6520 6f75 7420 6f66 2062 6f75 6e64 are out of bound\n-000e25d0: 732c 2061 7265 2069 676e 6f72 6564 2062 s, are ignored b\n-000e25e0: 7920 7468 6520 6465 7365 7269 616c 697a y the deserializ\n-000e25f0: 6572 2077 6865 6e20 7468 6520 3c63 6f64 er when the .... <\n-000e2680: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n-000e2690: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n-000e26a0: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents Dynami\n-000e2700: 6320 6172 7261 7973 2061 7265 206d 7563 c arrays are muc\n-000e2710: 6820 6d6f 7265 2066 6c65 7869 626c 6520 h more flexible \n-000e2720: 7468 616e 2066 6978 6564 2d73 697a 6520 than fixed-size \n-000e2730: 6172 7261 7973 2e20 4479 6e61 6d69 6320 arrays. Dynamic \n-000e2740: 6172 7261 7973 2064 6563 6c61 7265 6420 arrays declared \n-000e2750: 696e 2074 6865 2069 6e74 6572 6661 6365 in the interface\n-000e2760: 2068 6561 6465 7220 6669 6c65 2066 6f72 header file for\n-000e2770: 2073 6f61 7063 7070 3220 6172 6520 6120 soapcpp2 are a \n-000e2780: 7370 6563 6961 6c20 7374 7275 6374 206f special struct o\n-000e2790: 7220 636c 6173 7320 6f72 2061 7265 2070 r class or are p\n-000e27a0: 6172 7420 6f66 2061 2073 7472 7563 7420 art of a struct \n-000e27b0: 6f72 2063 6c61 7373 2077 6974 6820 6120 or class with a \n-000e27c0: 6d65 6d62 6572 2070 6f69 6e74 696e 6720 member pointing \n-000e27d0: 746f 2061 6e20 6172 7261 7920 6f66 2065 to an array of e\n-000e27e0: 6c65 6d65 6e74 7320 616e 6420 6120 6d65 lements and a me\n-000e27f0: 6d62 6572 2074 6861 7420 7374 6f72 6573 mber that stores\n-000e2800: 2074 6865 2073 697a 6520 6f66 2074 6865 the size of the\n-000e2810: 2061 7272 6179 2e20 4479 6e61 6d69 6320 array. Dynamic \n-000e2820: 6172 7261 7920 616c 6c6f 6361 7469 6f6e array allocation\n-000e2830: 7320 6172 6520 6561 7379 2075 7369 6e67 s are easy using\n-000e2840: 2074 6865 2073 6f61 7063 7070 2d67 656e the soapcpp-gen\n-000e2850: 6572 6174 6564 203c 636f 6465 3e73 6f61 erated \n-000e2940: 546f 2066 6163 696c 6974 6174 6520 534f To facilitate SO\n-000e2950: 4150 2052 5043 2065 6e63 6f64 696e 672c AP RPC encoding,\n-000e2960: 2053 4f41 502d 656e 636f 6465 6420 6172 SOAP-encoded ar\n-000e2970: 7261 7973 2072 6571 7569 7265 2073 7065 rays require spe\n-000e2980: 6369 616c 2074 7265 6174 6d65 6e74 2e20 cial treatment. \n-000e2990: 534f 4150 2d65 6e63 6f64 6564 2061 7272 SOAP-encoded arr\n-000e29a0: 6179 7320 6172 6520 7369 6e67 6c65 2d20 ays are single- \n-000e29b0: 6f72 206d 756c 7469 2d64 696d 656e 7369 or multi-dimensi\n-000e29c0: 6f6e 616c 2061 7272 6179 7320 7769 7468 onal arrays with\n-000e29d0: 2062 6f75 6e64 7320 7468 6174 2061 7070 bounds that app\n-000e29e0: 6561 7220 696e 2058 4d4c 2e20 5468 6573 ear in XML. Thes\n-000e29f0: 6520 6172 7261 7973 206d 6179 2061 6c73 e arrays may als\n-000e2a00: 6f20 6861 7665 206f 6666 7365 7473 2074 o have offsets t\n-000e2a10: 6861 7420 6469 6666 6572 2066 726f 6d20 hat differ from \n-000e2a20: 7a65 726f 2e20 5468 6520 696e 7465 6e74 zero. The intent\n-000e2a30: 206f 6620 534f 4150 2d65 6e63 6f64 6564 of SOAP-encoded\n-000e2a40: 2061 7272 6179 7320 6973 2074 6f20 7265 arrays is to re\n-000e2a50: 706c 6963 6174 6520 6d75 6c74 692d 6469 plicate multi-di\n-000e2a60: 6d65 6e73 696f 6e61 6c20 6172 7261 7973 mensional arrays\n-000e2a70: 2063 6f6d 6d6f 6e6c 7920 666f 756e 6420 commonly found \n-000e2a80: 696e 2070 726f 6772 616d 6d69 6e67 206c in programming l\n-000e2a90: 616e 6775 6167 6573 2e3c 2f70 3e0a 3c70 anguages. However, XML al\n-000e2ab0: 736f 2070 726f 7669 6465 7320 6120 7369 so provides a si\n-000e2ac0: 6d70 6c65 2077 6179 2074 6f20 7265 7072 mple way to repr\n-000e2ad0: 6573 656e 7420 6120 7365 7175 656e 6365 esent a sequence\n-000e2ae0: 206f 6620 7661 6c75 6573 2077 6974 6820 of values with \n-000e2af0: 6120 7365 7175 656e 6365 206f 6620 584d a sequence of XM\n-000e2b00: 4c20 656c 656d 656e 7473 2e20 5468 6973 L elements. This\n-000e2b10: 2064 6966 6665 7273 2066 726f 6d20 534f differs from SO\n-000e2b20: 4150 2d65 6e63 6f64 6564 2061 7272 6179 AP-encoded array\n-000e2b30: 7320 696e 2074 6861 7420 534f 4150 2d65 s in that SOAP-e\n-000e2b40: 6e63 6f64 6564 2061 7272 6179 7320 6172 ncoded arrays ar\n-000e2b50: 6520 656c 656d 656e 7473 2077 6974 6820 e elements with \n-000e2b60: 6e65 7374 6564 203c 656d 3e3c 636f 6465 nested Both SOAP-\n-000e2c20: 656e 636f 6465 6420 6172 7261 7973 2061 encoded arrays a\n-000e2c30: 6e64 2073 6571 7565 6e63 6573 206f 6620 nd sequences of \n-000e2c40: 584d 4c20 656c 656d 656e 7473 2061 7265 XML elements are\n-000e2c50: 2073 7570 706f 7274 6564 2069 6e20 6753 supported in gS\n-000e2c60: 4f41 502c 2075 7369 6e67 2064 796e 616d OAP, using dynam\n-000e2c70: 6963 2061 7272 6179 7320 616e 6420 636f ic arrays and co\n-000e2c80: 6e74 6169 6e65 7273 2e20 5468 6520 6261 ntainers. The ba\n-000e2c90: 7369 6373 2077 696c 6c20 6265 2064 6573 sics will be des\n-000e2ca0: 6372 6962 6564 206e 6578 742e 2046 6f72 cribed next. For\n-000e2cb0: 2061 6464 6974 696f 6e61 6c20 6465 7461 additional deta\n-000e2cc0: 696c 732c 2073 6565 2074 6865 203c 6120 ils, see the C and C\n-000e2d00: 2b2b 2058 4d4c 2044 6174 6120 4269 6e64 ++ XML Data Bind\n-000e2d10: 696e 6773 3c2f 613e 2064 6f63 756d 656e ings documen\n-000e2d20: 7461 7469 6f6e 2e3c 2f70 3e0a 3c70 3ef0 tation. .\n-000e2d30: 9f94 9d20 3c61 2068 7265 663d 2223 223e ... \n-000e2d40: 4261 636b 2074 6f20 7461 626c 6520 6f66 Back to table of\n-000e2d50: 2063 6f6e 7465 6e74 733c 2f61 3e3c 2f70 contents \n-000e2db0: 534f 4150 2d65 6e63 6f64 6564 2061 7272 SOAP-encoded arr\n-000e2dc0: 6179 7320 7573 6520 7468 6520 3c65 6d3e ays use the \n-000e2dd0: 3c63 6f64 653e 534f 4150 2d45 4e43 3a41 As \n-000e2e90: 6120 7365 6375 7269 7479 206d 6561 7375 a security measu\n-000e2ea0: 7265 2074 6f20 6176 6f69 6420 6465 6e69 re to avoid deni\n-000e2eb0: 616c 206f 6620 7365 7276 6963 6520 6174 al of service at\n-000e2ec0: 7461 636b 7320 6261 7365 6420 6f6e 2073 tacks based on s\n-000e2ed0: 656e 6469 6e67 2061 2068 7567 6520 6172 ending a huge ar\n-000e2ee0: 7261 7920 7369 7a65 2076 616c 7565 2075 ray size value u\n-000e2ef0: 7369 6e67 2074 6865 203c 656d 3e3c 636f sing the .... Back to table \n-000e3350: 6f66 2063 6f6e 7465 6e74 733c 2f61 3e3c of contents<\n-000e3360: 2f70 3e0a 3c68 333e 3c61 2063 6c61 7373 /p>. A s\n-000e33c0: 7065 6369 616c 2066 6f72 6d20 6f66 2073 pecial form of s\n-000e33d0: 7472 7563 7420 6f72 2063 6c61 7373 2069 truct or class i\n-000e33e0: 7320 7573 6564 2074 6f20 6465 6669 6e65 s used to define\n-000e33f0: 206f 6e65 2d64 696d 656e 7369 6f6e 616c one-dimensional\n-000e3400: 2064 796e 616d 6963 2053 4f41 502d 656e dynamic SOAP-en\n-000e3410: 636f 6465 6420 6172 7261 7973 2069 6e20 coded arrays in \n-000e3420: 616e 2069 6e74 6572 6661 6365 2068 6561 an interface hea\n-000e3430: 6465 7220 6669 6c65 2066 6f72 2073 6f61 der file for soa\n-000e3440: 7063 7070 322e 2045 6163 6820 6172 7261 pcpp2. Each arra\n-000e3450: 7920 6861 7320 6120 706f 696e 7465 7220 y has a pointer \n-000e3460: 7661 7269 6162 6c65 2061 6e64 2061 206d variable and a m\n-000e3470: 656d 6265 7220 7468 6174 2072 6563 6f72 ember that recor\n-000e3480: 6473 2074 6865 206e 756d 6265 7220 6f66 ds the number of\n-000e3490: 2065 6c65 6d65 6e74 7320 7468 6520 706f elements the po\n-000e34a0: 696e 7465 7220 706f 696e 7473 2074 6f20 inter points to \n-000e34b0: 696e 206d 656d 6f72 792e 3c2f 703e 0a3c in memory. The foll\n+000e1b30: 6f77 696e 6720 6578 616d 706c 6520 696c owing example il\n+000e1b40: 6c75 7374 7261 7465 7320 7468 6520 696e lustrates the in\n+000e1b50: 6974 6961 6c69 7a61 7469 6f6e 206f 6620 itialization of \n+000e1b60: 3c63 6f64 653e 5f5f 6e73 5f5f 7265 636f Th\n+000e1cf0: 6520 7365 7269 616c 697a 6564 206f 7574 e serialized out\n+000e1d00: 7075 7420 6f66 203c 636f 6465 3e53 3c2f put of Fixed \n+000e1f70: 7369 7a65 2061 7272 6179 7320 6172 6520 size arrays are \n+000e1f80: 7365 7269 616c 697a 6564 2061 7320 7265 serialized as re\n+000e1f90: 7065 7469 7469 6f6e 7320 6f66 203c 656d petitions of The\n+000e2070: 2073 6572 6961 6c69 7a61 7469 6f6e 206f serialization o\n+000e2080: 6620 6669 7865 642d 7369 7a65 2061 7272 f fixed-size arr\n+000e2090: 6179 7320 7375 7070 6f72 7473 2074 6865 ays supports the\n+000e20a0: 2053 4f41 5020 5250 4320 656e 636f 6469 SOAP RPC encodi\n+000e20b0: 6e67 206d 756c 7469 2d64 696d 656e 7369 ng multi-dimensi\n+000e20c0: 6f6e 616c 2061 7272 6179 2066 6f72 6d61 onal array forma\n+000e20d0: 7420 6173 2077 656c 6c20 6173 2070 6172 t as well as par\n+000e20e0: 7469 616c 6c79 2074 7261 6e73 6d69 7474 tially transmitt\n+000e20f0: 6564 2061 6e64 2073 7061 7273 6520 6172 ed and sparse ar\n+000e2100: 7261 7920 666f 726d 6174 7320 7374 616e ray formats stan\n+000e2110: 6461 7264 697a 6564 2069 6e20 534f 4150 dardized in SOAP\n+000e2120: 2031 2e31 2061 6e64 2031 2e32 2e3c 2f70 1.1 and 1.2. For example\n+000e2140: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 : This sp\n+000e22a0: 6563 6966 6965 7320 6120 6669 7865 642d ecifies a fixed-\n+000e22b0: 7369 7a65 2061 7272 6179 2070 6172 7420 size array part \n+000e22c0: 6f66 2074 6865 203c 636f 6465 3e73 7472 of the Any deseria\n+000e2560: 6c69 7a65 6420 6974 656d 7320 6f66 2061 lized items of a\n+000e2570: 6e20 6172 7261 7920 7468 6174 2064 6f20 n array that do \n+000e2580: 6e6f 7420 6669 7420 696e 2074 6865 2066 not fit in the f\n+000e2590: 6978 6564 2073 697a 6520 6172 7261 792c ixed size array,\n+000e25a0: 2069 2e65 2e20 6172 6520 6f75 7420 6f66 i.e. are out of\n+000e25b0: 2062 6f75 6e64 732c 2061 7265 2069 676e bounds, are ign\n+000e25c0: 6f72 6564 2062 7920 7468 6520 6465 7365 ored by the dese\n+000e25d0: 7269 616c 697a 6572 2077 6865 6e20 7468 rializer when th\n+000e25e0: 6520 3c63 6f64 653e 2353 4f41 505f 435f e \n+000e2660: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n+000e2680: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n+000e2690: 703e 0a3c 6832 3e3c 6120 636c 6173 733d p>. \n+000e26e0: 4479 6e61 6d69 6320 6172 7261 7973 2061 Dynamic arrays a\n+000e26f0: 7265 206d 7563 6820 6d6f 7265 2066 6c65 re much more fle\n+000e2700: 7869 626c 6520 7468 616e 2066 6978 6564 xible than fixed\n+000e2710: 2d73 697a 6520 6172 7261 7973 2e20 4479 -size arrays. Dy\n+000e2720: 6e61 6d69 6320 6172 7261 7973 2064 6563 namic arrays dec\n+000e2730: 6c61 7265 6420 696e 2074 6865 2069 6e74 lared in the int\n+000e2740: 6572 6661 6365 2068 6561 6465 7220 6669 erface header fi\n+000e2750: 6c65 2066 6f72 2073 6f61 7063 7070 3220 le for soapcpp2 \n+000e2760: 6172 6520 6120 7370 6563 6961 6c20 7374 are a special st\n+000e2770: 7275 6374 206f 7220 636c 6173 7320 6f72 ruct or class or\n+000e2780: 2061 7265 2070 6172 7420 6f66 2061 2073 are part of a s\n+000e2790: 7472 7563 7420 6f72 2063 6c61 7373 2077 truct or class w\n+000e27a0: 6974 6820 6120 6d65 6d62 6572 2070 6f69 ith a member poi\n+000e27b0: 6e74 696e 6720 746f 2061 6e20 6172 7261 nting to an arra\n+000e27c0: 7920 6f66 2065 6c65 6d65 6e74 7320 616e y of elements an\n+000e27d0: 6420 6120 6d65 6d62 6572 2074 6861 7420 d a member that \n+000e27e0: 7374 6f72 6573 2074 6865 2073 697a 6520 stores the size \n+000e27f0: 6f66 2074 6865 2061 7272 6179 2e20 4479 of the array. Dy\n+000e2800: 6e61 6d69 6320 6172 7261 7920 616c 6c6f namic array allo\n+000e2810: 6361 7469 6f6e 7320 6172 6520 6561 7379 cations are easy\n+000e2820: 2075 7369 6e67 2074 6865 2073 6f61 7063 using the soapc\n+000e2830: 7070 2d67 656e 6572 6174 6564 203c 636f pp-generated To facilit\n+000e2930: 6174 6520 534f 4150 2052 5043 2065 6e63 ate SOAP RPC enc\n+000e2940: 6f64 696e 672c 2053 4f41 502d 656e 636f oding, SOAP-enco\n+000e2950: 6465 6420 6172 7261 7973 2072 6571 7569 ded arrays requi\n+000e2960: 7265 2073 7065 6369 616c 2074 7265 6174 re special treat\n+000e2970: 6d65 6e74 2e20 534f 4150 2d65 6e63 6f64 ment. SOAP-encod\n+000e2980: 6564 2061 7272 6179 7320 6172 6520 7369 ed arrays are si\n+000e2990: 6e67 6c65 2d20 6f72 206d 756c 7469 2d64 ngle- or multi-d\n+000e29a0: 696d 656e 7369 6f6e 616c 2061 7272 6179 imensional array\n+000e29b0: 7320 7769 7468 2062 6f75 6e64 7320 7468 s with bounds th\n+000e29c0: 6174 2061 7070 6561 7220 696e 2058 4d4c at appear in XML\n+000e29d0: 2e20 5468 6573 6520 6172 7261 7973 206d . These arrays m\n+000e29e0: 6179 2061 6c73 6f20 6861 7665 206f 6666 ay also have off\n+000e29f0: 7365 7473 2074 6861 7420 6469 6666 6572 sets that differ\n+000e2a00: 2066 726f 6d20 7a65 726f 2e20 5468 6520 from zero. The \n+000e2a10: 696e 7465 6e74 206f 6620 534f 4150 2d65 intent of SOAP-e\n+000e2a20: 6e63 6f64 6564 2061 7272 6179 7320 6973 ncoded arrays is\n+000e2a30: 2074 6f20 7265 706c 6963 6174 6520 6d75 to replicate mu\n+000e2a40: 6c74 692d 6469 6d65 6e73 696f 6e61 6c20 lti-dimensional \n+000e2a50: 6172 7261 7973 2063 6f6d 6d6f 6e6c 7920 arrays commonly \n+000e2a60: 666f 756e 6420 696e 2070 726f 6772 616d found in program\n+000e2a70: 6d69 6e67 206c 616e 6775 6167 6573 2e3c ming languages.<\n+000e2a80: 2f70 3e0a 3c70 3e48 6f77 6576 6572 2c20 /p>. However, \n+000e2a90: 584d 4c20 616c 736f 2070 726f 7669 6465 XML also provide\n+000e2aa0: 7320 6120 7369 6d70 6c65 2077 6179 2074 s a simple way t\n+000e2ab0: 6f20 7265 7072 6573 656e 7420 6120 7365 o represent a se\n+000e2ac0: 7175 656e 6365 206f 6620 7661 6c75 6573 quence of values\n+000e2ad0: 2077 6974 6820 6120 7365 7175 656e 6365 with a sequence\n+000e2ae0: 206f 6620 584d 4c20 656c 656d 656e 7473 of XML elements\n+000e2af0: 2e20 5468 6973 2064 6966 6665 7273 2066 . This differs f\n+000e2b00: 726f 6d20 534f 4150 2d65 6e63 6f64 6564 rom SOAP-encoded\n+000e2b10: 2061 7272 6179 7320 696e 2074 6861 7420 arrays in that \n+000e2b20: 534f 4150 2d65 6e63 6f64 6564 2061 7272 SOAP-encoded arr\n+000e2b30: 6179 7320 6172 6520 656c 656d 656e 7473 ays are elements\n+000e2b40: 2077 6974 6820 6e65 7374 6564 203c 656d with nested Both\n+000e2c00: 2053 4f41 502d 656e 636f 6465 6420 6172 SOAP-encoded ar\n+000e2c10: 7261 7973 2061 6e64 2073 6571 7565 6e63 rays and sequenc\n+000e2c20: 6573 206f 6620 584d 4c20 656c 656d 656e es of XML elemen\n+000e2c30: 7473 2061 7265 2073 7570 706f 7274 6564 ts are supported\n+000e2c40: 2069 6e20 6753 4f41 502c 2075 7369 6e67 in gSOAP, using\n+000e2c50: 2064 796e 616d 6963 2061 7272 6179 7320 dynamic arrays \n+000e2c60: 616e 6420 636f 6e74 6169 6e65 7273 2e20 and containers. \n+000e2c70: 5468 6520 6261 7369 6373 2077 696c 6c20 The basics will \n+000e2c80: 6265 2064 6573 6372 6962 6564 206e 6578 be described nex\n+000e2c90: 742e 2046 6f72 2061 6464 6974 696f 6e61 t. For additiona\n+000e2ca0: 6c20 6465 7461 696c 732c 2073 6565 2074 l details, see t\n+000e2cb0: 6865 203c 6120 6872 6566 3d22 2e2e 2f2e he C\n+000e2ce0: 2061 6e64 2043 2b2b 2058 4d4c 2044 6174 and C++ XML Dat\n+000e2cf0: 6120 4269 6e64 696e 6773 3c2f 613e 2064 a Bindings d\n+000e2d00: 6f63 756d 656e 7461 7469 6f6e 2e3c 2f70 ocumentation. SOAP-encod\n+000e2da0: 6564 2061 7272 6179 7320 7573 6520 7468 ed arrays use th\n+000e2db0: 6520 3c65 6d3e 3c63 6f64 653e 534f 4150 e As a security\n+000e2e80: 206d 6561 7375 7265 2074 6f20 6176 6f69 measure to avoi\n+000e2e90: 6420 6465 6e69 616c 206f 6620 7365 7276 d denial of serv\n+000e2ea0: 6963 6520 6174 7461 636b 7320 6261 7365 ice attacks base\n+000e2eb0: 6420 6f6e 2073 656e 6469 6e67 2061 2068 d on sending a h\n+000e2ec0: 7567 6520 6172 7261 7920 7369 7a65 2076 uge array size v\n+000e2ed0: 616c 7565 2075 7369 6e67 2074 6865 203c alue using the <\n+000e2ee0: 656d 3e3c 636f 6465 3e53 4f41 502d 454e em> A special for\n+000e33b0: 6d20 6f66 2073 7472 7563 7420 6f72 2063 m of struct or c\n+000e33c0: 6c61 7373 2069 7320 7573 6564 2074 6f20 lass is used to \n+000e33d0: 6465 6669 6e65 206f 6e65 2d64 696d 656e define one-dimen\n+000e33e0: 7369 6f6e 616c 2064 796e 616d 6963 2053 sional dynamic S\n+000e33f0: 4f41 502d 656e 636f 6465 6420 6172 7261 OAP-encoded arra\n+000e3400: 7973 2069 6e20 616e 2069 6e74 6572 6661 ys in an interfa\n+000e3410: 6365 2068 6561 6465 7220 6669 6c65 2066 ce header file f\n+000e3420: 6f72 2073 6f61 7063 7070 322e 2045 6163 or soapcpp2. Eac\n+000e3430: 6820 6172 7261 7920 6861 7320 6120 706f h array has a po\n+000e3440: 696e 7465 7220 7661 7269 6162 6c65 2061 inter variable a\n+000e3450: 6e64 2061 206d 656d 6265 7220 7468 6174 nd a member that\n+000e3460: 2072 6563 6f72 6473 2074 6865 206e 756d records the num\n+000e3470: 6265 7220 6f66 2065 6c65 6d65 6e74 7320 ber of elements \n+000e3480: 7468 6520 706f 696e 7465 7220 706f 696e the pointer poin\n+000e3490: 7473 2074 6f20 696e 206d 656d 6f72 792e ts to in memory.\n+000e34a0: 3c2f 703e 0a3c 703e 5468 6520 6765 6e65 The gene\n+000e34b0: 7261 6c20 666f 726d 206f 6620 7468 6520 ral form of the \n+000e34c0: 7374 7275 6374 206f 7220 636c 6173 7320 struct or class \n+000e34d0: 6465 636c 6172 6174 696f 6e20 7468 6174 declaration that\n+000e34e0: 2063 6f6e 7461 696e 7320 6120 6f6e 652d contains a one-\n+000e34f0: 6469 6d65 6e73 696f 6e61 6c20 6479 6e61 dimensional dyna\n+000e3500: 6d69 6320 534f 4150 2d65 6e63 6f64 6564 mic SOAP-encoded\n+000e3510: 2061 7272 6179 2069 733a 3c2f 703e 0a3c array is: where the If \n-000e39a0: 7468 6520 3c63 6f64 653e 6172 7261 795f the The soapcpp2-\n-000e3aa0: 6765 6e65 7261 7465 6420 6465 7365 7269 generated deseri\n-000e3ab0: 616c 697a 6572 206f 6620 6120 6f6e 652d alizer of a one-\n-000e3ac0: 6469 6d65 6e73 696f 6e61 6c20 6479 6e61 dimensional dyna\n-000e3ad0: 6d69 6320 6172 7261 7920 6361 6e20 6465 mic array can de\n-000e3ae0: 7365 7269 616c 697a 6520 7061 7274 6961 serialize partia\n-000e3af0: 6c6c 7920 7472 616e 736d 6974 7465 6420 lly transmitted \n-000e3b00: 616e 642f 6f72 2053 4f41 502d 656e 636f and/or SOAP-enco\n-000e3b10: 6465 6420 7370 6172 7365 2061 7272 6179 ded sparse array\n-000e3b20: 732c 2061 6e64 2065 7665 6e20 6d75 6c74 s, and even mult\n-000e3b30: 692d 6469 6d65 6e73 696f 6e61 6c20 6172 i-dimensional ar\n-000e3b40: 7261 7973 2077 6869 6368 2077 696c 6c20 rays which will \n-000e3b50: 6265 2063 6f6c 6c61 7073 6564 2069 6e74 be collapsed int\n-000e3b60: 6f20 6120 6f6e 652d 6469 6d65 6e73 696f o a one-dimensio\n-000e3b70: 6e61 6c20 6172 7261 7920 7769 7468 2072 nal array with r\n-000e3b80: 6f77 2d6d 616a 6f72 206f 7264 6572 696e ow-major orderin\n-000e3b90: 672e 3c2f 703e 0a3c 646c 2063 6c61 7373 g. .\n-000e3c50: 9f94 9d20 3c61 2068 7265 663d 2223 223e ... \n-000e3c60: 4261 636b 2074 6f20 7461 626c 6520 6f66 Back to table of\n-000e3c70: 2063 6f6e 7465 6e74 733c 2f61 3e3c 2f70 contents The decla\n-000e3d00: 7261 7469 6f6e 206f 6620 6120 6479 6e61 ration of a dyna\n-000e3d10: 6d69 6320 6172 7261 7920 6173 2064 6573 mic array as des\n-000e3d20: 6372 6962 6564 2069 6e20 5365 6374 696f cribed in Sectio\n-000e3d30: 6e20 3c61 2063 6c61 7373 3d22 656c 2220 n One-dimen\n-000e3d60: 7369 6f6e 616c 2064 796e 616d 6963 2053 sional dynamic S\n-000e3d70: 4f41 502d 656e 636f 6465 6420 6172 7261 OAP-encoded arra\n-000e3d80: 7973 3c2f 613e 206d 6179 2069 6e63 6c75 ys may inclu\n-000e3d90: 6465 2061 6e20 3c63 6f64 653e 696e 7420 de an For example, \n-000e3f10: 7468 6520 666f 6c6c 6f77 696e 6720 6865 the following he\n-000e3f20: 6164 6572 2066 696c 6520 6465 636c 6172 ader file declar\n-000e3f30: 6573 2061 206e 756d 6572 6963 203c 636f es a numeric The imple\n-000e43d0: 6d65 6e74 6174 696f 6e73 206f 6620 7468 mentations of th\n-000e43e0: 6520 3c63 6f64 653e 5665 6374 6f72 3c2f e where the\n+000e37d0: 203c 636f 6465 3e61 7272 6179 5f6e 616d If the The soa\n+000e3a80: 7063 7070 322d 6765 6e65 7261 7465 6420 pcpp2-generated \n+000e3a90: 6465 7365 7269 616c 697a 6572 206f 6620 deserializer of \n+000e3aa0: 6120 6f6e 652d 6469 6d65 6e73 696f 6e61 a one-dimensiona\n+000e3ab0: 6c20 6479 6e61 6d69 6320 6172 7261 7920 l dynamic array \n+000e3ac0: 6361 6e20 6465 7365 7269 616c 697a 6520 can deserialize \n+000e3ad0: 7061 7274 6961 6c6c 7920 7472 616e 736d partially transm\n+000e3ae0: 6974 7465 6420 616e 642f 6f72 2053 4f41 itted and/or SOA\n+000e3af0: 502d 656e 636f 6465 6420 7370 6172 7365 P-encoded sparse\n+000e3b00: 2061 7272 6179 732c 2061 6e64 2065 7665 arrays, and eve\n+000e3b10: 6e20 6d75 6c74 692d 6469 6d65 6e73 696f n multi-dimensio\n+000e3b20: 6e61 6c20 6172 7261 7973 2077 6869 6368 nal arrays which\n+000e3b30: 2077 696c 6c20 6265 2063 6f6c 6c61 7073 will be collaps\n+000e3b40: 6564 2069 6e74 6f20 6120 6f6e 652d 6469 ed into a one-di\n+000e3b50: 6d65 6e73 696f 6e61 6c20 6172 7261 7920 mensional array \n+000e3b60: 7769 7468 2072 6f77 2d6d 616a 6f72 206f with row-major o\n+000e3b70: 7264 6572 696e 672e 3c2f 703e 0a3c 646c rdering. The\n+000e3ce0: 2064 6563 6c61 7261 7469 6f6e 206f 6620 declaration of \n+000e3cf0: 6120 6479 6e61 6d69 6320 6172 7261 7920 a dynamic array \n+000e3d00: 6173 2064 6573 6372 6962 6564 2069 6e20 as described in \n+000e3d10: 5365 6374 696f 6e20 3c61 2063 6c61 7373 Section One\n+000e3d40: 2d64 696d 656e 7369 6f6e 616c 2064 796e -dimensional dyn\n+000e3d50: 616d 6963 2053 4f41 502d 656e 636f 6465 amic SOAP-encode\n+000e3d60: 6420 6172 7261 7973 3c2f 613e 206d 6179 d arrays may\n+000e3d70: 2069 6e63 6c75 6465 2061 6e20 3c63 6f64 include an For exa\n+000e3ef0: 6d70 6c65 2c20 7468 6520 666f 6c6c 6f77 mple, the follow\n+000e3f00: 696e 6720 6865 6164 6572 2066 696c 6520 ing header file \n+000e3f10: 6465 636c 6172 6573 2061 206e 756d 6572 declares a numer\n+000e3f20: 6963 203c 636f 6465 3e56 6563 746f 723c ic The\n+000e43b0: 2069 6d70 6c65 6d65 6e74 6174 696f 6e73 implementations\n+000e43c0: 206f 6620 7468 6520 3c63 6f64 653e 5665 of the An example\n-000e4820: 2070 726f 6772 616d 2066 7261 676d 656e program fragmen\n-000e4830: 7420 7468 6174 2073 6572 6961 6c69 7a65 t that serialize\n-000e4840: 7320 6120 7665 6374 6f72 206f 6620 3320 s a vector of 3 \n-000e4850: 656c 656d 656e 7473 3a3c 2f70 3e0a 3c64 elements: Note that <\n-000e5020: 656d 3e3c 636f 6465 3e78 7364 3a66 6c6f em> On\n-000e5150: 652d 6469 6d65 6e73 696f 6e61 6c20 534f e-dimensional SO\n-000e5160: 4150 2d65 6e63 6f64 6564 2064 796e 616d AP-encoded dynam\n-000e5170: 6963 2061 7272 6179 7320 6d61 7920 6265 ic arrays may be\n-000e5180: 206e 6573 7465 642e 2046 6f72 2065 7861 nested. For exa\n-000e5190: 6d70 6c65 2c20 7573 696e 6720 3c63 6f64 mple, using The Matri\n-000e5640: 7820 7479 7065 2069 7320 6573 7365 6e74 x type is essent\n-000e5650: 6961 6c6c 7920 616e 2061 7272 6179 206f ially an array o\n-000e5660: 6620 706f 696e 7465 7273 2074 6f20 6172 f pointers to ar\n-000e5670: 7261 7973 2077 6869 6368 206d 616b 6520 rays which make \n-000e5680: 7570 2074 6865 2072 6f77 7320 6f66 2061 up the rows of a\n-000e5690: 206d 6174 7269 782e 2054 6865 2073 6572 matrix. The ser\n-000e56a0: 6961 6c69 7a61 7469 6f6e 206f 6620 7468 ialization of th\n-000e56b0: 6520 7477 6f2d 6469 6d65 6e73 696f 6e61 e two-dimensiona\n-000e56c0: 6c20 6479 6e61 6d69 6320 6172 7261 7920 l dynamic array \n-000e56d0: 696e 2069 7320 6e65 7374 6564 2066 6f72 in is nested for\n-000e56e0: 6d20 696e 2058 4d4c 2e3c 2f70 3e0a 3c70 m in XML. .... Back to table \n-000e5710: 6f66 2063 6f6e 7465 6e74 733c 2f61 3e3c of contents<\n-000e5720: 2f70 3e0a 3c68 333e 3c61 2063 6c61 7373 /p>. A special form \n-000e5790: 6f66 203c 636f 6465 3e73 7472 7563 743c of An e\n+000e4800: 7861 6d70 6c65 2070 726f 6772 616d 2066 xample program f\n+000e4810: 7261 676d 656e 7420 7468 6174 2073 6572 ragment that ser\n+000e4820: 6961 6c69 7a65 7320 6120 7665 6374 6f72 ializes a vector\n+000e4830: 206f 6620 3320 656c 656d 656e 7473 3a3c of 3 elements:<\n+000e4840: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. The o\n+000e4cb0: 7574 7075 7420 6973 2061 2070 6172 7469 utput is a parti\n+000e4cc0: 616c 6c79 2074 7261 6e73 6d69 7474 6564 ally transmitted\n+000e4cd0: 2061 7272 6179 3a3c 2f70 3e0a 3c64 6976 array: The\n+000e5620: 204d 6174 7269 7820 7479 7065 2069 7320 Matrix type is \n+000e5630: 6573 7365 6e74 6961 6c6c 7920 616e 2061 essentially an a\n+000e5640: 7272 6179 206f 6620 706f 696e 7465 7273 rray of pointers\n+000e5650: 2074 6f20 6172 7261 7973 2077 6869 6368 to arrays which\n+000e5660: 206d 616b 6520 7570 2074 6865 2072 6f77 make up the row\n+000e5670: 7320 6f66 2061 206d 6174 7269 782e 2054 s of a matrix. T\n+000e5680: 6865 2073 6572 6961 6c69 7a61 7469 6f6e he serialization\n+000e5690: 206f 6620 7468 6520 7477 6f2d 6469 6d65 of the two-dime\n+000e56a0: 6e73 696f 6e61 6c20 6479 6e61 6d69 6320 nsional dynamic \n+000e56b0: 6172 7261 7920 696e 2069 7320 6e65 7374 array in is nest\n+000e56c0: 6564 2066 6f72 6d20 696e 2058 4d4c 2e3c ed form in XML.<\n+000e56d0: 2f70 3e0a 3c70 3ef0 9f94 9d20 3c61 2068 /p>. A special\n+000e5770: 2066 6f72 6d20 6f66 203c 636f 6465 3e73 form of whe\n-000e5b50: 7265 2074 6865 203c 636f 6465 3e61 7272 re the Fo\n-000e5cb0: 7220 6578 616d 706c 652c 2074 6865 2066 r example, the f\n-000e5cc0: 6f6c 6c6f 7769 6e67 2064 6563 6c61 7261 ollowing declara\n-000e5cd0: 7469 6f6e 2073 7065 6369 6669 6573 2061 tion specifies a\n-000e5ce0: 206d 6174 7269 7820 636c 6173 733a 3c2f matrix class:\n-000e5cf0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. By con\n-000e5eb0: 7472 6173 7420 746f 2074 6865 206d 6174 trast to the mat\n-000e5ec0: 7269 7820 636c 6173 7320 6f66 2053 6563 rix class of Sec\n-000e5ed0: 7469 6f6e 203c 6120 636c 6173 733d 2265 tion Nest\n-000e5f00: 6564 206f 6e65 2d64 696d 656e 7369 6f6e ed one-dimension\n-000e5f10: 616c 2064 796e 616d 6963 2053 4f41 502d al dynamic SOAP-\n-000e5f20: 656e 636f 6465 6420 6172 7261 7973 3c2f encoded arrays\n-000e5f30: 613e 2074 6861 7420 6465 6669 6e65 7320 a> that defines \n-000e5f40: 6120 6d61 7472 6978 2061 7320 616e 2061 a matrix as an a\n-000e5f50: 7272 6179 206f 6620 706f 696e 7465 7273 rray of pointers\n-000e5f60: 2074 6f20 6d61 7472 6978 2072 6f77 732c to matrix rows,\n-000e5f70: 2074 6869 7320 636c 6173 7320 6861 7320 this class has \n-000e5f80: 6f6e 6520 706f 696e 7465 7220 746f 2061 one pointer to a\n-000e5f90: 206d 6174 7269 7820 7374 6f72 6564 2069 matrix stored i\n-000e5fa0: 6e20 726f 772d 6d61 6a6f 7220 6f72 6465 n row-major orde\n-000e5fb0: 722e 2054 6865 2073 697a 6520 6f66 2074 r. The size of t\n-000e5fc0: 6865 206d 6174 7269 7820 6973 2064 6574 he matrix is det\n-000e5fd0: 6572 6d69 6e65 6420 6279 2074 6865 203c ermined by the <\n-000e5fe0: 636f 6465 3e5f 5f73 697a 653c 2f63 6f64 code>__size member: An\n-000e6210: 2061 7272 6179 2069 7320 7365 7269 616c array is serial\n-000e6220: 697a 6564 2061 7320 6120 7365 7175 656e ized as a sequen\n-000e6230: 6365 206f 6620 584d 4c20 656c 656d 656e ce of XML elemen\n-000e6240: 7473 2e20 4279 2063 6f6e 7472 6173 742c ts. By contrast,\n-000e6250: 2061 2053 4f41 502d 656e 636f 6465 6420 a SOAP-encoded \n-000e6260: 6172 7261 7920 6973 2073 6572 6961 6c69 array is seriali\n-000e6270: 7a65 6420 6173 2061 6e20 656c 656d 656e zed as an elemen\n-000e6280: 7420 7769 7468 2061 2073 6571 7565 6e63 t with a sequenc\n-000e6290: 6520 6f66 2073 7562 2d65 6c65 6d65 6e74 e of sub-element\n-000e62a0: 732c 2077 686f 7365 2074 6167 206e 616d s, whose tag nam\n-000e62b0: 6573 2061 7265 2069 7272 656c 6576 616e es are irrelevan\n-000e62c0: 7420 746f 2074 6865 2053 4f41 5020 7072 t to the SOAP pr\n-000e62d0: 6f63 6573 736f 722c 2073 6565 203c 6120 ocessor, see One-dimensiona\n-000e6310: 6c20 6479 6e61 6d69 6320 534f 4150 2d65 l dynamic SOAP-e\n-000e6320: 6e63 6f64 6564 2061 7272 6179 733c 2f61 ncoded arrays. An arr\n-000e6340: 6179 2069 7320 6465 636c 6172 6564 2069 ay is declared i\n-000e6350: 6e20 616e 2069 6e74 6572 6661 6365 2068 n an interface h\n-000e6360: 6561 6465 7220 6669 6c65 2066 6f72 2073 eader file for s\n-000e6370: 6f61 7063 7070 3220 6173 2061 2073 7472 oapcpp2 as a str\n-000e6380: 7563 7420 6f72 2063 6c61 7373 2077 6974 uct or class wit\n-000e6390: 6820 6120 6e61 6d65 2074 6861 7420 6973 h a name that is\n-000e63a0: 2071 7561 6c69 6669 6564 2077 6974 6820 qualified with \n-000e63b0: 6120 6e61 6d65 7370 6163 6520 7072 6566 a namespace pref\n-000e63c0: 6978 2e20 5468 6572 6520 6172 6520 7477 ix. There are tw\n-000e63d0: 6f20 666f 726d 732e 2054 6865 2066 6972 o forms. The fir\n-000e63e0: 7374 2066 6f72 6d20 6973 2073 696d 696c st form is simil\n-000e63f0: 6172 2074 6f20 7468 6520 534f 4150 2d65 ar to the SOAP-e\n-000e6400: 6e63 6f64 6564 2061 7272 6179 2064 6563 ncoded array dec\n-000e6410: 6c61 7261 7469 6f6e 2074 6861 7420 7772 laration that wr\n-000e6420: 6170 7320 7468 6520 3c63 6f64 653e 5f5f aps the where the For example,\n+000e5ca0: 2074 6865 2066 6f6c 6c6f 7769 6e67 2064 the following d\n+000e5cb0: 6563 6c61 7261 7469 6f6e 2073 7065 6369 eclaration speci\n+000e5cc0: 6669 6573 2061 206d 6174 7269 7820 636c fies a matrix cl\n+000e5cd0: 6173 733a 3c2f 703e 0a3c 6469 7620 636c ass: \n+000e5e90: 4279 2063 6f6e 7472 6173 7420 746f 2074 By contrast to t\n+000e5ea0: 6865 206d 6174 7269 7820 636c 6173 7320 he matrix class \n+000e5eb0: 6f66 2053 6563 7469 6f6e 203c 6120 636c of Section Nested one-dim\n+000e5ef0: 656e 7369 6f6e 616c 2064 796e 616d 6963 ensional dynamic\n+000e5f00: 2053 4f41 502d 656e 636f 6465 6420 6172 SOAP-encoded ar\n+000e5f10: 7261 7973 3c2f 613e 2074 6861 7420 6465 rays that de\n+000e5f20: 6669 6e65 7320 6120 6d61 7472 6978 2061 fines a matrix a\n+000e5f30: 7320 616e 2061 7272 6179 206f 6620 706f s an array of po\n+000e5f40: 696e 7465 7273 2074 6f20 6d61 7472 6978 inters to matrix\n+000e5f50: 2072 6f77 732c 2074 6869 7320 636c 6173 rows, this clas\n+000e5f60: 7320 6861 7320 6f6e 6520 706f 696e 7465 s has one pointe\n+000e5f70: 7220 746f 2061 206d 6174 7269 7820 7374 r to a matrix st\n+000e5f80: 6f72 6564 2069 6e20 726f 772d 6d61 6a6f ored in row-majo\n+000e5f90: 7220 6f72 6465 722e 2054 6865 2073 697a r order. The siz\n+000e5fa0: 6520 6f66 2074 6865 206d 6174 7269 7820 e of the matrix \n+000e5fb0: 6973 2064 6574 6572 6d69 6e65 6420 6279 is determined by\n+000e5fc0: 2074 6865 203c 636f 6465 3e5f 5f73 697a the ....\n+000e6180: 203c 6120 6872 6566 3d22 2322 3e42 6163 Bac\n+000e6190: 6b20 746f 2074 6162 6c65 206f 6620 636f k to table of co\n+000e61a0: 6e74 656e 7473 3c2f 613e 3c2f 703e 0a3c ntents An array is \n+000e6200: 7365 7269 616c 697a 6564 2061 7320 6120 serialized as a \n+000e6210: 7365 7175 656e 6365 206f 6620 584d 4c20 sequence of XML \n+000e6220: 656c 656d 656e 7473 2e20 4279 2063 6f6e elements. By con\n+000e6230: 7472 6173 742c 2061 2053 4f41 502d 656e trast, a SOAP-en\n+000e6240: 636f 6465 6420 6172 7261 7920 6973 2073 coded array is s\n+000e6250: 6572 6961 6c69 7a65 6420 6173 2061 6e20 erialized as an \n+000e6260: 656c 656d 656e 7420 7769 7468 2061 2073 element with a s\n+000e6270: 6571 7565 6e63 6520 6f66 2073 7562 2d65 equence of sub-e\n+000e6280: 6c65 6d65 6e74 732c 2077 686f 7365 2074 lements, whose t\n+000e6290: 6167 206e 616d 6573 2061 7265 2069 7272 ag names are irr\n+000e62a0: 656c 6576 616e 7420 746f 2074 6865 2053 elevant to the S\n+000e62b0: 4f41 5020 7072 6f63 6573 736f 722c 2073 OAP processor, s\n+000e62c0: 6565 203c 6120 636c 6173 733d 2265 6c22 ee One-dime\n+000e62f0: 6e73 696f 6e61 6c20 6479 6e61 6d69 6320 nsional dynamic \n+000e6300: 534f 4150 2d65 6e63 6f64 6564 2061 7272 SOAP-encoded arr\n+000e6310: 6179 733c 2f61 3e2e 3c2f 703e 0a3c 703e ays. \n+000e6320: 416e 2061 7272 6179 2069 7320 6465 636c An array is decl\n+000e6330: 6172 6564 2069 6e20 616e 2069 6e74 6572 ared in an inter\n+000e6340: 6661 6365 2068 6561 6465 7220 6669 6c65 face header file\n+000e6350: 2066 6f72 2073 6f61 7063 7070 3220 6173 for soapcpp2 as\n+000e6360: 2061 2073 7472 7563 7420 6f72 2063 6c61 a struct or cla\n+000e6370: 7373 2077 6974 6820 6120 6e61 6d65 2074 ss with a name t\n+000e6380: 6861 7420 6973 2071 7561 6c69 6669 6564 hat is qualified\n+000e6390: 2077 6974 6820 6120 6e61 6d65 7370 6163 with a namespac\n+000e63a0: 6520 7072 6566 6978 2e20 5468 6572 6520 e prefix. There \n+000e63b0: 6172 6520 7477 6f20 666f 726d 732e 2054 are two forms. T\n+000e63c0: 6865 2066 6972 7374 2066 6f72 6d20 6973 he first form is\n+000e63d0: 2073 696d 696c 6172 2074 6f20 7468 6520 similar to the \n+000e63e0: 534f 4150 2d65 6e63 6f64 6564 2061 7272 SOAP-encoded arr\n+000e63f0: 6179 2064 6563 6c61 7261 7469 6f6e 2074 ay declaration t\n+000e6400: 6861 7420 7772 6170 7320 7468 6520 3c63 hat wraps the The second\n-000e6690: 2066 6f72 6d20 6973 206d 6f72 6520 6765 form is more ge\n-000e66a0: 6e65 7269 632c 2062 6563 6175 7365 2074 neric, because t\n-000e66b0: 6865 2061 7272 6179 2063 616e 2062 6520 he array can be \n-000e66c0: 6465 636c 6172 6564 2061 6e79 7768 6572 declared anywher\n-000e66d0: 6520 696e 2074 6865 2073 7472 7563 7420 e in the struct \n-000e66e0: 6f72 2063 6c61 7373 2061 6e64 206d 756c or class and mul\n-000e66f0: 7469 706c 6520 6172 7261 7973 2063 616e tiple arrays can\n-000e6700: 2062 6520 7573 6564 2061 7320 6d65 6d62 be used as memb\n-000e6710: 6572 732c 2065 6163 6820 7769 7468 2061 ers, each with a\n-000e6720: 203c 636f 6465 3e5f 5f73 697a 653c 2f63 The \n+000e6670: 7365 636f 6e64 2066 6f72 6d20 6973 206d second form is m\n+000e6680: 6f72 6520 6765 6e65 7269 632c 2062 6563 ore generic, bec\n+000e6690: 6175 7365 2074 6865 2061 7272 6179 2063 ause the array c\n+000e66a0: 616e 2062 6520 6465 636c 6172 6564 2061 an be declared a\n+000e66b0: 6e79 7768 6572 6520 696e 2074 6865 2073 nywhere in the s\n+000e66c0: 7472 7563 7420 6f72 2063 6c61 7373 2061 truct or class a\n+000e66d0: 6e64 206d 756c 7469 706c 6520 6172 7261 nd multiple arra\n+000e66e0: 7973 2063 616e 2062 6520 7573 6564 2061 ys can be used a\n+000e66f0: 7320 6d65 6d62 6572 732c 2065 6163 6820 s members, each \n+000e6700: 7769 7468 2061 203c 636f 6465 3e5f 5f73 with a The For ex\n-000e6c40: 616d 706c 652c 2077 6520 6465 6669 6e65 ample, we define\n-000e6c50: 2061 204d 6170 2073 7472 7563 7475 7265 a Map structure\n-000e6c60: 2074 6861 7420 636f 6e74 6169 6e73 2061 that contains a\n-000e6c70: 2073 6571 7565 6e63 6520 6f66 206b 6579 sequence of key\n-000e6c80: 2d76 616c 2070 6169 7273 3a3c 2f70 3e0a -val pairs: Since \n-000e6f10: 322e 372e 3136 2069 7420 6973 2061 6c73 2.7.16 it is als\n-000e6f20: 6f20 706f 7373 6962 6c65 2074 6f20 7573 o possible to us\n-000e6f30: 6520 6120 273c 636f 6465 3e24 3c2f 636f e a ' The array \n-000e7240: 7769 6c6c 2062 6520 7365 7269 616c 697a will be serializ\n-000e7250: 6564 2069 6e20 584d 4c20 6173 2061 2073 ed in XML as a s\n-000e7260: 6571 7565 6e63 6520 6f66 2070 6169 7273 equence of pairs\n-000e7270: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 : Deserial\n-000e7860: 697a 6174 696f 6e20 6973 206c 6573 7320 ization is less \n-000e7870: 6566 6669 6369 656e 7420 636f 6d70 6172 efficient compar\n-000e7880: 6564 2074 6f20 6120 534f 4150 2d65 6e63 ed to a SOAP-enc\n-000e7890: 6f64 6564 2061 7272 6179 2c20 6265 6361 oded array, beca\n-000e78a0: 7573 6520 7468 6520 7369 7a65 206f 6620 use the size of \n-000e78b0: 7468 6520 7365 7175 656e 6365 2069 7320 the sequence is \n-000e78c0: 6e6f 7420 7061 7274 206f 6620 7468 6520 not part of the \n-000e78d0: 534f 4150 2065 6e63 6f64 696e 672e 2042 SOAP encoding. B\n-000e78e0: 7566 6665 7269 6e67 2069 7320 7573 6564 uffering is used\n-000e78f0: 2062 7920 7468 6520 6465 7365 7269 616c by the deserial\n-000e7900: 697a 6572 2074 6f20 636f 6c6c 6563 7420 izer to collect \n-000e7910: 7468 6520 656c 656d 656e 7473 2069 6e20 the elements in \n-000e7920: 6d65 6d6f 7279 2e20 5768 656e 2074 6865 memory. When the\n-000e7930: 2065 6e64 206f 6620 7468 6520 6c69 7374 end of the list\n-000e7940: 2069 7320 7265 6163 6865 642c 2074 6865 is reached, the\n-000e7950: 2062 7566 6665 7265 6420 656c 656d 656e buffered elemen\n-000e7960: 7473 2061 7265 2063 6f70 6965 6420 746f ts are copied to\n-000e7970: 2061 206e 6577 6c79 2061 6c6c 6f63 6174 a newly allocat\n-000e7980: 6564 206d 616e 6167 6564 2073 7061 6365 ed managed space\n-000e7990: 206f 6e20 7468 6520 6865 6170 2066 6f72 on the heap for\n-000e79a0: 2074 6865 2064 796e 616d 6963 2061 7272 the dynamic arr\n-000e79b0: 6179 2e3c 2f70 3e0a 3c70 3e4d 756c 7469 ay. Multi\n-000e79c0: 706c 6520 6172 7261 7973 2063 616e 2062 ple arrays can b\n-000e79d0: 6520 7061 7274 206f 6620 6120 7374 7275 e part of a stru\n-000e79e0: 6374 206f 7220 636c 6173 732e 2046 6f72 ct or class. For\n-000e79f0: 2065 7861 6d70 6c65 3a3c 2f70 3e0a 3c64 example: T\n-000e7da0: 6865 2058 4d4c 2073 6572 6961 6c69 7a61 he XML serializa\n-000e7db0: 7469 6f6e 206f 6620 616e 2065 7861 6d70 tion of an examp\n-000e7dc0: 6c65 203c 636f 6465 3e6e 735f 5f43 6f6e le For C++, \n-000e8360: 6120 6265 7474 6572 2061 6c74 6572 6e61 a better alterna\n-000e8370: 7469 7665 2074 6f20 6172 7261 7973 2061 tive to arrays a\n-000e8380: 7265 2063 6f6e 7461 696e 6572 732c 2077 re containers, w\n-000e8390: 6869 6368 2061 7265 2064 6573 6372 6962 hich are describ\n-000e83a0: 6564 206e 6578 742e 3c2f 703e 0a3c 703e ed next. \n-000e83b0: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n-000e83d0: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n-000e83e0: 703e 0a3c 6833 3e3c 6120 636c 6173 733d p>. The STL cont\n-000e8430: 6169 6e65 7273 203c 636f 6465 3e73 7464 ainers The use o\n-000e8870: 6620 706f 696e 7465 7220 6d65 6d62 6572 f pointer member\n-000e8880: 7320 7375 6368 2061 7320 666f 7220 3c63 s such as for You can also im\n-000e8ef0: 706c 656d 656e 7420 796f 7572 206f 776e plement your own\n-000e8f00: 2063 6f6e 7461 696e 6572 732e 2054 6865 containers. The\n-000e8f10: 2063 6f6e 7461 696e 6572 7320 6d75 7374 containers must\n-000e8f20: 2062 6520 636c 6173 7320 7465 6d70 6c61 be class templa\n-000e8f30: 7465 7320 616e 6420 7368 6f75 6c64 2064 tes and should d\n-000e8f40: 6566 696e 6520 6120 666f 7277 6172 6420 efine a forward \n-000e8f50: 6974 6572 6174 6f72 2074 7970 652c 2061 iterator type, a\n-000e8f60: 6e64 2070 726f 7669 6465 2074 6865 2066 nd provide the f\n-000e8f70: 6f6c 6c6f 7769 6e67 206d 6574 686f 6473 ollowing methods\n-000e8f80: 3a3c 2f70 3e0a 3c75 6c3e 0a3c 6c69 3e3c : Th\n-000e9180: 6520 3c63 6f64 653e 6974 6572 6174 6f72 e Here\n-000e9350: 2069 7320 696e 2065 7861 6d70 6c65 2063 is in example c\n-000e9360: 6f6e 7461 696e 6572 2074 656d 706c 6174 ontainer templat\n-000e9370: 6520 636c 6173 733a 3c2f 703e 0a3c 6469 e class: The \n+000e6c20: 466f 7220 6578 616d 706c 652c 2077 6520 For example, we \n+000e6c30: 6465 6669 6e65 2061 204d 6170 2073 7472 define a Map str\n+000e6c40: 7563 7475 7265 2074 6861 7420 636f 6e74 ucture that cont\n+000e6c50: 6169 6e73 2061 2073 6571 7565 6e63 6520 ains a sequence \n+000e6c60: 6f66 206b 6579 2d76 616c 2070 6169 7273 of key-val pairs\n+000e6c70: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 : \n+000e6ef0: 5369 6e63 6520 322e 372e 3136 2069 7420 Since 2.7.16 it \n+000e6f00: 6973 2061 6c73 6f20 706f 7373 6962 6c65 is also possible\n+000e6f10: 2074 6f20 7573 6520 6120 273c 636f 6465 to use a ' The \n+000e7220: 6172 7261 7920 7769 6c6c 2062 6520 7365 array will be se\n+000e7230: 7269 616c 697a 6564 2069 6e20 584d 4c20 rialized in XML \n+000e7240: 6173 2061 2073 6571 7565 6e63 6520 6f66 as a sequence of\n+000e7250: 2070 6169 7273 3a3c 2f70 3e0a 3c64 6976 pairs: De\n+000e7840: 7365 7269 616c 697a 6174 696f 6e20 6973 serialization is\n+000e7850: 206c 6573 7320 6566 6669 6369 656e 7420 less efficient \n+000e7860: 636f 6d70 6172 6564 2074 6f20 6120 534f compared to a SO\n+000e7870: 4150 2d65 6e63 6f64 6564 2061 7272 6179 AP-encoded array\n+000e7880: 2c20 6265 6361 7573 6520 7468 6520 7369 , because the si\n+000e7890: 7a65 206f 6620 7468 6520 7365 7175 656e ze of the sequen\n+000e78a0: 6365 2069 7320 6e6f 7420 7061 7274 206f ce is not part o\n+000e78b0: 6620 7468 6520 534f 4150 2065 6e63 6f64 f the SOAP encod\n+000e78c0: 696e 672e 2042 7566 6665 7269 6e67 2069 ing. Buffering i\n+000e78d0: 7320 7573 6564 2062 7920 7468 6520 6465 s used by the de\n+000e78e0: 7365 7269 616c 697a 6572 2074 6f20 636f serializer to co\n+000e78f0: 6c6c 6563 7420 7468 6520 656c 656d 656e llect the elemen\n+000e7900: 7473 2069 6e20 6d65 6d6f 7279 2e20 5768 ts in memory. Wh\n+000e7910: 656e 2074 6865 2065 6e64 206f 6620 7468 en the end of th\n+000e7920: 6520 6c69 7374 2069 7320 7265 6163 6865 e list is reache\n+000e7930: 642c 2074 6865 2062 7566 6665 7265 6420 d, the buffered \n+000e7940: 656c 656d 656e 7473 2061 7265 2063 6f70 elements are cop\n+000e7950: 6965 6420 746f 2061 206e 6577 6c79 2061 ied to a newly a\n+000e7960: 6c6c 6f63 6174 6564 206d 616e 6167 6564 llocated managed\n+000e7970: 2073 7061 6365 206f 6e20 7468 6520 6865 space on the he\n+000e7980: 6170 2066 6f72 2074 6865 2064 796e 616d ap for the dynam\n+000e7990: 6963 2061 7272 6179 2e3c 2f70 3e0a 3c70 ic array. Multiple arrays\n+000e79b0: 2063 616e 2062 6520 7061 7274 206f 6620 can be part of \n+000e79c0: 6120 7374 7275 6374 206f 7220 636c 6173 a struct or clas\n+000e79d0: 732e 2046 6f72 2065 7861 6d70 6c65 3a3c s. For example:<\n+000e79e0: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. For\n+000e8340: 2043 2b2b 2c20 6120 6265 7474 6572 2061 C++, a better a\n+000e8350: 6c74 6572 6e61 7469 7665 2074 6f20 6172 lternative to ar\n+000e8360: 7261 7973 2061 7265 2063 6f6e 7461 696e rays are contain\n+000e8370: 6572 732c 2077 6869 6368 2061 7265 2064 ers, which are d\n+000e8380: 6573 6372 6962 6564 206e 6578 742e 3c2f escribed next.\n+000e8390: 703e 0a3c 703e f09f 949d 203c 6120 6872 p>. The ST\n+000e8410: 4c20 636f 6e74 6169 6e65 7273 203c 636f L containers In order\n+000e84d0: 2074 6f20 7573 6520 636f 6e74 6169 6e65 to use containe\n+000e84e0: 7273 2069 6e20 616e 2069 6e74 6572 6661 rs in an interfa\n+000e84f0: 6365 2068 6561 6465 7220 6669 6c65 2066 ce header file f\n+000e8500: 6f72 2073 6f61 7063 7070 322c 2069 6d70 or soapcpp2, imp\n+000e8510: 6f72 7420 3c65 6d3e 3c63 6f64 653e 7374 ort The\n+000e8850: 2075 7365 206f 6620 706f 696e 7465 7220 use of pointer \n+000e8860: 6d65 6d62 6572 7320 7375 6368 2061 7320 members such as \n+000e8870: 666f 7220 3c63 6f64 653e 6e61 6d65 3c2f for You can a\n+000e8ed0: 6c73 6f20 696d 706c 656d 656e 7420 796f lso implement yo\n+000e8ee0: 7572 206f 776e 2063 6f6e 7461 696e 6572 ur own container\n+000e8ef0: 732e 2054 6865 2063 6f6e 7461 696e 6572 s. The container\n+000e8f00: 7320 6d75 7374 2062 6520 636c 6173 7320 s must be class \n+000e8f10: 7465 6d70 6c61 7465 7320 616e 6420 7368 templates and sh\n+000e8f20: 6f75 6c64 2064 6566 696e 6520 6120 666f ould define a fo\n+000e8f30: 7277 6172 6420 6974 6572 6174 6f72 2074 rward iterator t\n+000e8f40: 7970 652c 2061 6e64 2070 726f 7669 6465 ype, and provide\n+000e8f50: 2074 6865 2066 6f6c 6c6f 7769 6e67 206d the following m\n+000e8f60: 6574 686f 6473 3a3c 2f70 3e0a 3c75 6c3e ethods: The To en\n-000eaa80: 6162 6c65 2074 6865 2063 6f6e 7461 696e able the contain\n-000eaa90: 6572 2c20 7765 2061 6464 2074 6865 2066 er, we add the f\n-000eaaa0: 6f6c 6c6f 7769 6e67 2074 776f 206c 696e ollowing two lin\n-000eaab0: 6573 2074 6f20 7468 6520 696e 7465 7266 es to the interf\n-000eaac0: 6163 6520 6865 6164 6572 2066 696c 6520 ace header file \n-000eaad0: 666f 7220 736f 6170 6370 7032 3a3c 2f70 for soapcpp2: The\n-000eac10: 2063 6f6e 7461 696e 6572 2063 6c61 7373 container class\n-000eac20: 2069 7473 656c 6620 7368 6f75 6c64 206e itself should n\n-000eac30: 6f74 2062 6520 6465 6669 6e65 6420 696e ot be defined in\n-000eac40: 2074 6865 2069 6e74 6572 6661 6365 2068 the interface h\n-000eac50: 6561 6465 7220 6669 6c65 2c20 6f6e 6c79 eader file, only\n-000eac60: 2074 6865 2074 656d 706c 6174 6520 6465 the template de\n-000eac70: 636c 6172 6174 696f 6e20 7375 6666 6963 claration suffic\n-000eac80: 6573 2066 6f72 2073 6f61 7063 7070 3220 es for soapcpp2 \n-000eac90: 746f 2067 656e 6572 6174 6520 7365 7269 to generate seri\n-000eaca0: 616c 697a 6572 732e 2052 6563 616c 6c20 alizers. Recall \n-000eacb0: 7468 6174 2074 6865 203c 636f 6465 3e23 that the ..\n-000ead90: 949d 203c 6120 6872 6566 3d22 2322 3e42 .. B\n-000eada0: 6163 6b20 746f 2074 6162 6c65 206f 6620 ack to table of \n-000eadb0: 636f 6e74 656e 7473 3c2f 613e 3c2f 703e contents \n-000eae20: 506f 6c79 6d6f 7270 6869 6320 6172 7261 Polymorphic arra\n-000eae30: 7973 2c20 7468 6174 2069 732c 2061 7272 ys, that is, arr\n-000eae40: 6179 7320 6f66 2076 616c 7565 7320 6f66 ays of values of\n-000eae50: 2061 6e79 2074 7970 652c 2063 616e 2062 any type, can b\n-000eae60: 6520 7365 7269 616c 697a 6564 2069 6e20 e serialized in \n-000eae70: 584d 4c20 7768 656e 2064 6563 6c61 7265 XML when declare\n-000eae80: 6420 6173 2061 6e20 6172 7261 7920 6f66 d as an array of\n-000eae90: 2070 6f69 6e74 6572 7320 746f 2061 2062 pointers to a b\n-000eaea0: 6173 6520 636c 6173 732e 2046 6f72 2065 ase class. For e\n-000eaeb0: 7861 6d70 6c65 3a3c 2f70 3e0a 3c64 6976 xample: The pointe\n-000eb3f0: 7273 2069 6e20 7468 6520 6172 7261 7920 rs in the array \n-000eb400: 6361 6e20 706f 696e 7420 746f 2074 6865 can point to the\n-000eb410: 203c 636f 6465 3e6e 735f 5f4f 626a 6563 Since we cannot\n-000eb640: 2075 7365 2064 796e 616d 6963 2062 696e use dynamic bin\n-000eb650: 6469 6e67 2074 6f20 7375 7070 6f72 7420 ding to support \n-000eb660: 706f 6c79 6d6f 7270 6869 736d 2069 6e20 polymorphism in \n-000eb670: 432c 2061 6e6f 7468 6572 206d 6563 6861 C, another mecha\n-000eb680: 6e69 736d 2077 6520 6361 6e20 7573 6520 nism we can use \n-000eb690: 6973 2076 6f69 6420 706f 696e 7465 7273 is void pointers\n-000eb6a0: 202e 2048 6572 6520 6973 2061 6e20 6578 . Here is an ex\n-000eb6b0: 616d 706c 6520 6f66 2061 2070 6f6c 796d ample of a polym\n-000eb6c0: 6f72 7068 6963 2053 4f41 502d 656e 636f orphic SOAP-enco\n-000eb6d0: 6465 6420 6172 7261 7920 3c63 6f64 653e ded array To enable the c\n+000eaa70: 6f6e 7461 696e 6572 2c20 7765 2061 6464 ontainer, we add\n+000eaa80: 2074 6865 2066 6f6c 6c6f 7769 6e67 2074 the following t\n+000eaa90: 776f 206c 696e 6573 2074 6f20 7468 6520 wo lines to the \n+000eaaa0: 696e 7465 7266 6163 6520 6865 6164 6572 interface header\n+000eaab0: 2066 696c 6520 666f 7220 736f 6170 6370 file for soapcp\n+000eaac0: 7032 3a3c 2f70 3e0a 3c64 6976 2063 6c61 p2: The container\n+000eac00: 2063 6c61 7373 2069 7473 656c 6620 7368 class itself sh\n+000eac10: 6f75 6c64 206e 6f74 2062 6520 6465 6669 ould not be defi\n+000eac20: 6e65 6420 696e 2074 6865 2069 6e74 6572 ned in the inter\n+000eac30: 6661 6365 2068 6561 6465 7220 6669 6c65 face header file\n+000eac40: 2c20 6f6e 6c79 2074 6865 2074 656d 706c , only the templ\n+000eac50: 6174 6520 6465 636c 6172 6174 696f 6e20 ate declaration \n+000eac60: 7375 6666 6963 6573 2066 6f72 2073 6f61 suffices for soa\n+000eac70: 7063 7070 3220 746f 2067 656e 6572 6174 pcpp2 to generat\n+000eac80: 6520 7365 7269 616c 697a 6572 732e 2052 e serializers. R\n+000eac90: 6563 616c 6c20 7468 6174 2074 6865 203c ecall that the <\n+000eaca0: 636f 6465 3e23 696e 636c 7564 653c 2f63 code>#include directives \n+000eacc0: 6172 6520 6e6f 7420 6578 6563 7574 6564 are not executed\n+000eacd0: 2062 7920 736f 6170 6370 7032 2062 7574 by soapcpp2 but\n+000eace0: 2073 696d 706c 7920 7061 7373 6564 206f simply passed o\n+000eacf0: 6e20 746f 2074 6865 2067 656e 6572 6174 n to the generat\n+000ead00: 6564 2073 6f75 7263 6520 636f 6465 2e20 ed source code. \n+000ead10: 5468 6973 2069 6e63 6c75 6465 2073 7065 This include spe\n+000ead20: 6369 6669 6573 2069 6e20 7468 6520 6765 cifies in the ge\n+000ead30: 6e65 7261 7465 6420 736f 7572 6365 2063 nerated source c\n+000ead40: 6f64 6520 7768 6572 6520 7468 6520 636f ode where the co\n+000ead50: 6e74 6169 6e65 7220 6973 2061 6374 7561 ntainer is actua\n+000ead60: 6c6c 7920 6465 6669 6e65 642e 3c2f 703e lly defined. Polymorphi\n+000eae10: 6320 6172 7261 7973 2c20 7468 6174 2069 c arrays, that i\n+000eae20: 732c 2061 7272 6179 7320 6f66 2076 616c s, arrays of val\n+000eae30: 7565 7320 6f66 2061 6e79 2074 7970 652c ues of any type,\n+000eae40: 2063 616e 2062 6520 7365 7269 616c 697a can be serializ\n+000eae50: 6564 2069 6e20 584d 4c20 7768 656e 2064 ed in XML when d\n+000eae60: 6563 6c61 7265 6420 6173 2061 6e20 6172 eclared as an ar\n+000eae70: 7261 7920 6f66 2070 6f69 6e74 6572 7320 ray of pointers \n+000eae80: 746f 2061 2062 6173 6520 636c 6173 732e to a base class.\n+000eae90: 2046 6f72 2065 7861 6d70 6c65 3a3c 2f70 For example: The \n+000eb3d0: 706f 696e 7465 7273 2069 6e20 7468 6520 pointers in the \n+000eb3e0: 6172 7261 7920 6361 6e20 706f 696e 7420 array can point \n+000eb3f0: 746f 2074 6865 203c 636f 6465 3e6e 735f to the Since we \n+000eb620: 6361 6e6e 6f74 2075 7365 2064 796e 616d cannot use dynam\n+000eb630: 6963 2062 696e 6469 6e67 2074 6f20 7375 ic binding to su\n+000eb640: 7070 6f72 7420 706f 6c79 6d6f 7270 6869 pport polymorphi\n+000eb650: 736d 2069 6e20 432c 2061 6e6f 7468 6572 sm in C, another\n+000eb660: 206d 6563 6861 6e69 736d 2077 6520 6361 mechanism we ca\n+000eb670: 6e20 7573 6520 6973 2076 6f69 6420 706f n use is void po\n+000eb680: 696e 7465 7273 202e 2048 6572 6520 6973 inters . Here is\n+000eb690: 2061 6e20 6578 616d 706c 6520 6f66 2061 an example of a\n+000eb6a0: 2070 6f6c 796d 6f72 7068 6963 2053 4f41 polymorphic SOA\n+000eb6b0: 502d 656e 636f 6465 6420 6172 7261 7920 P-encoded array \n+000eb6c0: 3c63 6f64 653e 4172 7261 794f 664f 626a This ex\n-000ebc40: 616d 706c 6520 7573 6573 2061 6e20 2269 ample uses an \"i\n-000ebc50: 6e76 6973 6962 6c65 2220 7479 7065 203c nvisible\" type <\n-000ebc60: 636f 6465 3e5f 5f77 7261 7070 6572 3c2f code>__wrapper\n-000ebc70: 636f 6465 3e20 616e 6420 6d65 6d62 6572 code> and member\n-000ebc80: 203c 636f 6465 3e5f 5f61 7272 6179 3c2f .\n-000ebdf0: 9f94 9d20 3c61 2068 7265 663d 2223 223e ... \n-000ebe00: 4261 636b 2074 6f20 7461 626c 6520 6f66 Back to table of\n-000ebe10: 2063 6f6e 7465 6e74 733c 2f61 3e3c 2f70 contents The defa\n-000ebe90: 756c 7420 584d 4c20 656c 656d 656e 7420 ult XML element \n-000ebea0: 7461 6720 6e61 6d65 2066 6f72 2061 7272 tag name for arr\n-000ebeb0: 6179 2065 6c65 6d65 6e74 7320 6973 203c ay elements is <\n-000ebec0: 656d 3e3c 636f 6465 3e69 7465 6d3c 2f63 em> T\n+000ebc20: 6869 7320 6578 616d 706c 6520 7573 6573 his example uses\n+000ebc30: 2061 6e20 2269 6e76 6973 6962 6c65 2220 an \"invisible\" \n+000ebc40: 7479 7065 203c 636f 6465 3e5f 5f77 7261 type Th\n+000ebe70: 6520 6465 6661 756c 7420 584d 4c20 656c e default XML el\n+000ebe80: 656d 656e 7420 7461 6720 6e61 6d65 2066 ement tag name f\n+000ebe90: 6f72 2061 7272 6179 2065 6c65 6d65 6e74 or array element\n+000ebea0: 7320 6973 203c 656d 3e3c 636f 6465 3e69 s is Consid\n+000ec020: 6572 2066 6f72 2065 7861 6d70 6c65 3a3c er for example:<\n+000ec030: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. The arra\n-000ec1a0: 7920 6973 2073 6572 6961 6c69 7a65 6420 y is serialized \n-000ec1b0: 6173 3a3c 2f70 3e0a 3c64 6976 2063 6c61 as: SOAP 1\n-000ec450: 2e31 2f31 2e32 2064 6f65 7320 6e6f 7420 .1/1.2 does not \n-000ec460: 6d61 6e64 6174 6520 6120 7370 6563 6966 mandate a specif\n-000ec470: 6963 2074 6167 206e 616d 6520 666f 7220 ic tag name for \n-000ec480: 534f 4150 2d65 6e63 6f64 6564 2061 7272 SOAP-encoded arr\n-000ec490: 6179 2065 6c65 6d65 6e74 7320 616e 6420 ay elements and \n-000ec4a0: 7468 6520 736f 6170 6370 7032 2d67 656e the soapcpp2-gen\n-000ec4b0: 6572 6174 6564 2073 6572 6961 6c69 7a65 erated serialize\n-000ec4c0: 7273 2077 696c 6c20 6967 6e6f 7265 2074 rs will ignore t\n-000ec4d0: 6865 206e 616d 6520 7573 6564 2074 6f20 he name used to \n-000ec4e0: 6974 656d 697a 6520 534f 4150 2d65 6e63 itemize SOAP-enc\n-000ec4f0: 6f64 6564 2061 7272 6179 2076 616c 7565 oded array value\n-000ec500: 732e 3c2f 703e 0a3c 703e f09f 949d 203c s. .... <\n-000ec510: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n-000ec520: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n-000ec530: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents The\n-000ec590: 203c 656d 3e3c 636f 6465 3e62 6173 6536 Th\n+000ec180: 6520 6172 7261 7920 6973 2073 6572 6961 e array is seria\n+000ec190: 6c69 7a65 6420 6173 3a3c 2f70 3e0a 3c64 lized as: \n+000ec430: 534f 4150 2031 2e31 2f31 2e32 2064 6f65 SOAP 1.1/1.2 doe\n+000ec440: 7320 6e6f 7420 6d61 6e64 6174 6520 6120 s not mandate a \n+000ec450: 7370 6563 6966 6963 2074 6167 206e 616d specific tag nam\n+000ec460: 6520 666f 7220 534f 4150 2d65 6e63 6f64 e for SOAP-encod\n+000ec470: 6564 2061 7272 6179 2065 6c65 6d65 6e74 ed array element\n+000ec480: 7320 616e 6420 7468 6520 736f 6170 6370 s and the soapcp\n+000ec490: 7032 2d67 656e 6572 6174 6564 2073 6572 p2-generated ser\n+000ec4a0: 6961 6c69 7a65 7273 2077 696c 6c20 6967 ializers will ig\n+000ec4b0: 6e6f 7265 2074 6865 206e 616d 6520 7573 nore the name us\n+000ec4c0: 6564 2074 6f20 6974 656d 697a 6520 534f ed to itemize SO\n+000ec4d0: 4150 2d65 6e63 6f64 6564 2061 7272 6179 AP-encoded array\n+000ec4e0: 2076 616c 7565 732e 3c2f 703e 0a3c 703e values. \n+000ec4f0: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n+000ec510: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n+000ec520: 703e 0a3c 6832 3e3c 6120 636c 6173 733d p>. The The a\n+000ec8a0: 6476 616e 7461 6765 206f 6620 7468 6973 dvantage of this\n+000ec8b0: 2073 7472 7563 7420 6f72 2063 6c61 7373 struct or class\n+000ec8c0: 2069 7320 7468 6520 6162 696c 6974 7920 is the ability \n+000ec8d0: 746f 2073 6572 6961 6c69 7a65 7220 7261 to serializer ra\n+000ec8e0: 7720 6269 6e61 7279 2064 6174 6120 6672 w binary data fr\n+000ec8f0: 6f6d 206d 656d 6f72 792c 2073 696e 6365 om memory, since\n+000ec900: 2074 6865 2073 6f61 7063 7070 322d 6765 the soapcpp2-ge\n+000ec910: 6e65 7261 7465 6420 7365 7269 616c 697a nerated serializ\n+000ec920: 6572 2063 6f6e 7665 7274 7320 7468 6520 er converts the \n+000ec930: 6269 6e61 7279 2064 6174 6120 746f 2f66 binary data to/f\n+000ec940: 726f 6d20 6261 7365 3634 2069 6e20 584d rom base64 in XM\n+000ec950: 4c2e 3c2f 703e 0a3c 703e 546f 2069 6e74 L. To int\n+000ec960: 726f 6475 6365 2061 206e 6577 2058 4d4c roduce a new XML\n+000ec970: 2073 6368 656d 6120 7479 7065 2064 6572 schema type der\n+000ec980: 6976 6564 2066 726f 6d20 3c65 6d3e 3c63 ived from .... Back to tabl\n-000ece00: 6520 6f66 2063 6f6e 7465 6e74 733c 2f61 e of contents \n-000ece60: 5468 6520 3c65 6d3e 3c63 6f64 653e 6261 The The \n-000ed180: 6164 7661 6e74 6167 6520 6f66 2074 6869 advantage of thi\n-000ed190: 7320 7374 7275 6374 206f 7220 636c 6173 s struct or clas\n-000ed1a0: 7320 6973 2074 6865 2061 6269 6c69 7479 s is the ability\n-000ed1b0: 2074 6f20 7365 7269 616c 697a 6572 2072 to serializer r\n-000ed1c0: 6177 2062 696e 6172 7920 6461 7461 2066 aw binary data f\n-000ed1d0: 726f 6d20 6d65 6d6f 7279 2c20 7369 6e63 rom memory, sinc\n-000ed1e0: 6520 7468 6520 736f 6170 6370 7032 2d67 e the soapcpp2-g\n-000ed1f0: 656e 6572 6174 6564 2073 6572 6961 6c69 enerated seriali\n-000ed200: 7a65 7220 636f 6e76 6572 7473 2074 6865 zer converts the\n-000ed210: 2062 696e 6172 7920 6461 7461 2074 6f2f binary data to/\n-000ed220: 6672 6f6d 2068 6578 6164 6563 696d 616c from hexadecimal\n-000ed230: 2069 6e20 584d 4c2e 3c2f 703e 0a3c 703e in XML. \n-000ed240: 4966 2061 2062 696e 6172 7920 7479 7065 If a binary type\n-000ed250: 2073 7563 6820 6173 203c 636f 6465 3e3c such as This le\n-000ed6f0: 7473 2073 6f61 7063 7070 3220 6765 6e65 ts soapcpp2 gene\n-000ed700: 7261 7465 203c 656d 3e3c 636f 6465 3e78 rate SOAP h\n-000ed800: 6173 2073 6576 6572 616c 2073 7479 6c65 as several style\n-000ed810: 733a 3c2f 703e 0a3c 756c 3e0a 3c6c 693e s: Bes\n-000ee3b0: 6964 6573 203c 636f 6465 3e2f 2f67 736f ides \n-000ee5a0: 546f 2065 6e61 626c 6520 534f 4150 2052 To enable SOAP R\n-000ee5b0: 5043 2065 6e63 6f64 696e 6720 666f 7220 PC encoding for \n-000ee5c0: 6120 7061 7274 6963 756c 6172 2073 6572 a particular ser\n-000ee5d0: 7669 6365 206f 7065 7261 7469 6f6e 2c20 vice operation, \n-000ee5e0: 7573 653a 3c2f 703e 0a3c 6469 7620 636c use: To \n-000ee740: 656e 6162 6c65 2053 4f41 5020 5250 4320 enable SOAP RPC \n-000ee750: 656e 636f 6469 6e67 2066 6f72 2061 2070 encoding for a p\n-000ee760: 6172 7469 6375 6c61 7220 7365 7276 6963 articular servic\n-000ee770: 6520 6f70 6572 6174 696f 6e20 7265 7370 e operation resp\n-000ee780: 6f6e 7365 2c20 7573 653a 3c2f 703e 0a3c onse, use: The differ\n-000ef100: 656e 6365 7320 6265 7477 6565 6e20 7468 ences between th\n-000ef110: 6520 7573 6520 6f66 2072 6567 756c 6172 e use of regular\n-000ef120: 2038 2d62 6974 2073 7472 696e 6773 2076 8-bit strings v\n-000ef130: 6572 7375 7320 7769 6465 2063 6861 7261 ersus wide chara\n-000ef140: 6374 6572 2073 7472 696e 6773 2066 6f72 cter strings for\n-000ef150: 2058 4d4c 2064 6f63 756d 656e 7473 2061 XML documents a\n-000ef160: 7265 3a3c 2f70 3e0a 3c75 6c3e 0a3c 6c69 re: ...\n-000ef200: 9d20 3c61 2068 7265 663d 2223 223e 4261 . Ba\n-000ef210: 636b 2074 6f20 7461 626c 6520 6f66 2063 ck to table of c\n-000ef220: 6f6e 7465 6e74 733c 2f61 3e3c 2f70 3e0a ontents Strict va\n-000ef450: 6c69 6461 7469 6f6e 2063 6f6e 7374 7261 lidation constra\n-000ef460: 696e 7473 2061 7265 2065 6e61 626c 6564 ints are enabled\n-000ef470: 2077 6974 6820 7468 6520 3c63 6f64 653e with the The n\n-000ef580: 6578 7420 7365 6374 696f 6e73 2064 6573 ext sections des\n-000ef590: 6372 6962 6520 7468 6520 7479 7065 206f cribe the type o\n-000ef5a0: 6620 636f 6e73 7472 6169 6e74 7320 7661 f constraints va\n-000ef5b0: 6c69 6461 7465 6420 7768 656e 203c 636f lidated when Use compiler\n-000ef640: 2066 6c61 6720 3c63 6f64 653e 2357 4954 flag See also \n-000ef6d0: 3c61 2068 7265 663d 222e 2e2f 2e2e 2f64 C an\n-000ef700: 6420 432b 2b20 584d 4c20 6461 7461 2062 d C++ XML data b\n-000ef710: 696e 6469 6e67 733c 2f61 3e20 646f 6375 indings docu\n-000ef720: 6d65 6e74 6174 696f 6e20 666f 7220 6d6f mentation for mo\n-000ef730: 7265 2064 6574 6169 6c73 2e3c 2f70 3e0a re details. .... Back to tabl\n-000ef760: 6520 6f66 2063 6f6e 7465 6e74 733c 2f61 e of contents Defau\n-000ef7c0: 6c74 2076 616c 7565 7320 6361 6e20 6265 lt values can be\n-000ef7d0: 2064 6566 696e 6564 2066 6f72 206f 7074 defined for opt\n-000ef7e0: 696f 6e61 6c20 656c 656d 656e 7473 2061 ional elements a\n-000ef7f0: 6e64 2061 7474 7269 6275 7465 732c 2077 nd attributes, w\n-000ef800: 6869 6368 206d 6561 6e73 2074 6861 7420 hich means that \n-000ef810: 7468 6520 6465 6661 756c 7420 7661 6c75 the default valu\n-000ef820: 6520 7769 6c6c 2062 6520 7573 6564 2077 e will be used w\n-000ef830: 6865 6e20 7468 6520 656c 656d 656e 7420 hen the element \n-000ef840: 6f72 2061 7474 7269 6275 7465 2076 616c or attribute val\n-000ef850: 7565 2069 7320 6e6f 7420 7072 6573 656e ue is not presen\n-000ef860: 7420 696e 2074 6865 2070 6172 7365 6420 t in the parsed \n-000ef870: 584d 4c2e 2053 6565 2061 6c73 6f20 5365 XML. See also Se\n-000ef880: 6374 696f 6e20 3c61 2063 6c61 7373 3d22 ction De\n-000ef8b0: 6661 756c 7420 7661 6c75 6573 2066 6f72 fault values for\n-000ef8c0: 206f 6d69 7474 6564 2058 4d4c 2065 6c65 omitted XML ele\n-000ef8d0: 6d65 6e74 7320 616e 6420 6174 7472 6962 ments and attrib\n-000ef8e0: 7574 6573 3c2f 613e 2061 6e64 2065 7861 utes and exa\n-000ef8f0: 6d70 6c65 7320 696e 2073 7562 7365 7175 mples in subsequ\n-000ef900: 656e 7420 7375 6273 6563 7469 6f6e 7320 ent subsections \n-000ef910: 6265 6c6f 772e 3c2f 703e 0a3c 703e 4465 below. De\n-000ef920: 6661 756c 7420 7661 6c75 6573 206d 7573 fault values mus\n-000ef930: 7420 6265 2070 7269 6d69 7469 7665 2074 t be primitive t\n-000ef940: 7970 6573 2c20 696e 7465 6765 722c 2066 ypes, integer, f\n-000ef950: 6c6f 6174 2c20 7374 7269 6e67 2c20 6574 loat, string, et\n-000ef960: 632e 206f 7220 706f 696e 7465 7273 2074 c. or pointers t\n-000ef970: 6f20 7072 696d 6974 6976 6520 7479 7065 o primitive type\n-000ef980: 732e 2044 6566 6175 6c74 2076 616c 7565 s. Default value\n-000ef990: 7320 6361 6e20 6265 2073 7065 6369 6669 s can be specifi\n-000ef9a0: 6564 2066 6f72 2073 7472 7563 7420 616e ed for struct an\n-000ef9b0: 6420 636c 6173 7320 6d65 6d62 6572 732c d class members,\n-000ef9c0: 2061 7320 7368 6f77 6e20 696e 2074 6865 as shown in the\n-000ef9d0: 2065 7861 6d70 6c65 2062 656c 6f77 3a3c example below:<\n-000ef9e0: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. The resu\n+000ecb70: 6c74 696e 6720 584d 4c20 7363 6865 6d61 lting XML schema\n+000ecb80: 2074 7970 6520 6973 3a3c 2f70 3e0a 3c64 type is: The If a binar\n+000ed230: 7920 7479 7065 2073 7563 6820 6173 203c y type such as <\n+000ed240: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>xsd__base64Bi\n+000ed2c0: 6e61 7279 3c2f 613e 3c2f 636f 6465 3e20 nary \n+000ed2d0: 6973 2061 6c72 6561 6479 2064 6566 696e is already defin\n+000ed2e0: 6564 2c20 7468 656e 2077 6520 6361 6e20 ed, then we can \n+000ed2f0: 7369 6d70 6c79 2075 7365 2061 203c 636f simply use a T\n+000ed6d0: 6869 7320 6c65 7473 2073 6f61 7063 7070 his lets soapcpp\n+000ed6e0: 3220 6765 6e65 7261 7465 203c 656d 3e3c 2 generate <\n+000ed6f0: 636f 6465 3e78 7364 3a62 6173 6536 3442 code>xsd:base64B\n+000ed700: 696e 6172 793c 2f63 6f64 653e 3c2f 656d inary and ..\n+000ed750: 949d 203c 6120 6872 6566 3d22 2322 3e42 .. B\n+000ed760: 6163 6b20 746f 2074 6162 6c65 206f 6620 ack to table of \n+000ed770: 636f 6e74 656e 7473 3c2f 613e 3c2f 703e contents \n+000ed7e0: 534f 4150 2068 6173 2073 6576 6572 616c SOAP has several\n+000ed7f0: 2073 7479 6c65 733a 3c2f 703e 0a3c 756c styles: Besides To enable \n+000ee590: 534f 4150 2052 5043 2065 6e63 6f64 696e SOAP RPC encodin\n+000ee5a0: 6720 666f 7220 6120 7061 7274 6963 756c g for a particul\n+000ee5b0: 6172 2073 6572 7669 6365 206f 7065 7261 ar service opera\n+000ee5c0: 7469 6f6e 2c20 7573 653a 3c2f 703e 0a3c tion, use: To enable SOA\n+000ee730: 5020 5250 4320 656e 636f 6469 6e67 2066 P RPC encoding f\n+000ee740: 6f72 2061 2070 6172 7469 6375 6c61 7220 or a particular \n+000ee750: 7365 7276 6963 6520 6f70 6572 6174 696f service operatio\n+000ee760: 6e20 7265 7370 6f6e 7365 2c20 7573 653a n response, use:\n+000ee770: 3c2f 703e 0a3c 6469 7620 636c 6173 733d Likew\n+000ee8e0: 6973 652c 2079 6f75 2063 616e 2073 7065 ise, you can spe\n+000ee8f0: 6369 6679 2064 6f63 756d 656e 742f 6c69 cify document/li\n+000ee900: 7465 7261 6c20 616e 6420 5250 4320 6c69 teral and RPC li\n+000ee910: 7465 7261 6c20 6d65 7373 6167 6573 2e20 teral messages. \n+000ee920: 5468 6520 6465 6661 756c 7420 7374 796c The default styl\n+000ee930: 6520 6973 2064 6f63 756d 656e 742f 6c69 e is document/li\n+000ee940: 7465 7261 6c2c 2075 6e6c 6573 7320 3c62 teral, unless \n+000ee9c0: 466f 7220 7468 6520 3c63 6f64 653e 7374 For the See \n+000eeba0: 616c 736f 203c 6120 6872 6566 3d22 2e2e also C and C++ XML d\n+000eebe0: 6174 6120 6269 6e64 696e 6773 3c2f 613e ata bindings\n+000eebf0: 2064 6f63 756d 656e 7461 7469 6f6e 2066 documentation f\n+000eec00: 6f72 2064 6966 6665 7265 6e63 6573 2069 or differences i\n+000eec10: 6e20 584d 4c20 7365 7269 616c 697a 6174 n XML serializat\n+000eec20: 696f 6e20 7768 656e 2075 7369 6e67 2074 ion when using t\n+000eec30: 6865 2053 4f41 5020 5250 4320 656e 636f he SOAP RPC enco\n+000eec40: 6465 6420 616e 6420 646f 6375 6d65 6e74 ded and document\n+000eec50: 2f6c 6974 6572 616c 206d 6573 7361 6769 /literal messagi\n+000eec60: 6e67 2073 7479 6c65 732e 3c2f 703e 0a3c ng styles. XML is \n+000eed10: 7374 6f72 6564 2069 6e20 226c 6974 6572 stored in \"liter\n+000eed20: 616c 2220 584d 4c20 7374 7269 6e67 7320 al\" XML strings \n+000eed30: 7768 6963 6820 6172 6520 7468 6520 6275 which are the bu\n+000eed40: 696c 742d 696e 203c 636f 6465 3e5f 584d ilt-in To dec\n+000eee90: 6c61 7265 2061 2043 2b2b 203c 636f 6465 lare a C++ Or use a\n+000eef50: 2077 6964 6520 6368 6172 6163 7465 7220 wide character \n+000eef60: 7374 7269 6e67 3a3c 2f70 3e0a 3c64 6976 string: To us\n+000eeff0: 6520 626f 7468 2061 7420 7468 6520 7361 e both at the sa\n+000ef000: 6d65 2074 696d 653a 3c2f 703e 0a3c 6469 me time: The \n+000ef0e0: 6469 6666 6572 656e 6365 7320 6265 7477 differences betw\n+000ef0f0: 6565 6e20 7468 6520 7573 6520 6f66 2072 een the use of r\n+000ef100: 6567 756c 6172 2038 2d62 6974 2073 7472 egular 8-bit str\n+000ef110: 696e 6773 2076 6572 7375 7320 7769 6465 ings versus wide\n+000ef120: 2063 6861 7261 6374 6572 2073 7472 696e character strin\n+000ef130: 6773 2066 6f72 2058 4d4c 2064 6f63 756d gs for XML docum\n+000ef140: 656e 7473 2061 7265 3a3c 2f70 3e0a 3c75 ents are: .... Back to tabl\n+000ef200: 6520 6f66 2063 6f6e 7465 6e74 733c 2f61 e of contents Some XML\n+000ef260: 2076 616c 6964 6174 696f 6e20 636f 6e73 validation cons\n+000ef270: 7472 6169 6e74 7320 6172 6520 6e6f 7420 traints are not \n+000ef280: 6175 746f 6d61 7469 6361 6c6c 7920 7665 automatically ve\n+000ef290: 7269 6669 6564 2075 6e6c 6573 7320 6578 rified unless ex\n+000ef2a0: 706c 6963 6974 6c79 2073 6574 2075 7369 plicitly set usi\n+000ef2b0: 6e67 2074 6865 203c 636f 6465 3e23 534f ng the Str\n+000ef430: 6963 7420 7661 6c69 6461 7469 6f6e 2063 ict validation c\n+000ef440: 6f6e 7374 7261 696e 7473 2061 7265 2065 onstraints are e\n+000ef450: 6e61 626c 6564 2077 6974 6820 7468 6520 nabled with the \n+000ef460: 3c63 6f64 653e 2353 4f41 505f 584d 4c5f The next sectio\n+000ef570: 6e73 2064 6573 6372 6962 6520 7468 6520 ns describe the \n+000ef580: 7479 7065 206f 6620 636f 6e73 7472 6169 type of constrai\n+000ef590: 6e74 7320 7661 6c69 6461 7465 6420 7768 nts validated wh\n+000ef5a0: 656e 203c 636f 6465 3e23 534f 4150 5f58 en Use co\n+000ef620: 6d70 696c 6572 2066 6c61 6720 3c63 6f64 mpiler flag See\n+000ef6b0: 2061 6c73 6f20 3c61 2068 7265 663d 222e also C and C++ XML \n+000ef6f0: 6461 7461 2062 696e 6469 6e67 733c 2f61 data bindings documentation \n+000ef710: 666f 7220 6d6f 7265 2064 6574 6169 6c73 for more details\n+000ef720: 2e3c 2f70 3e0a 3c70 3ef0 9f94 9d20 3c61 . Default values \n+000ef7b0: 6361 6e20 6265 2064 6566 696e 6564 2066 can be defined f\n+000ef7c0: 6f72 206f 7074 696f 6e61 6c20 656c 656d or optional elem\n+000ef7d0: 656e 7473 2061 6e64 2061 7474 7269 6275 ents and attribu\n+000ef7e0: 7465 732c 2077 6869 6368 206d 6561 6e73 tes, which means\n+000ef7f0: 2074 6861 7420 7468 6520 6465 6661 756c that the defaul\n+000ef800: 7420 7661 6c75 6520 7769 6c6c 2062 6520 t value will be \n+000ef810: 7573 6564 2077 6865 6e20 7468 6520 656c used when the el\n+000ef820: 656d 656e 7420 6f72 2061 7474 7269 6275 ement or attribu\n+000ef830: 7465 2076 616c 7565 2069 7320 6e6f 7420 te value is not \n+000ef840: 7072 6573 656e 7420 696e 2074 6865 2070 present in the p\n+000ef850: 6172 7365 6420 584d 4c2e 2053 6565 2061 arsed XML. See a\n+000ef860: 6c73 6f20 5365 6374 696f 6e20 3c61 2063 lso Section Default valu\n+000ef8a0: 6573 2066 6f72 206f 6d69 7474 6564 2058 es for omitted X\n+000ef8b0: 4d4c 2065 6c65 6d65 6e74 7320 616e 6420 ML elements and \n+000ef8c0: 6174 7472 6962 7574 6573 3c2f 613e 2061 attributes a\n+000ef8d0: 6e64 2065 7861 6d70 6c65 7320 696e 2073 nd examples in s\n+000ef8e0: 7562 7365 7175 656e 7420 7375 6273 6563 ubsequent subsec\n+000ef8f0: 7469 6f6e 7320 6265 6c6f 772e 3c2f 703e tions below. Default valu\n+000ef910: 6573 206d 7573 7420 6265 2070 7269 6d69 es must be primi\n+000ef920: 7469 7665 2074 7970 6573 2c20 696e 7465 tive types, inte\n+000ef930: 6765 722c 2066 6c6f 6174 2c20 7374 7269 ger, float, stri\n+000ef940: 6e67 2c20 6574 632e 206f 7220 706f 696e ng, etc. or poin\n+000ef950: 7465 7273 2074 6f20 7072 696d 6974 6976 ters to primitiv\n+000ef960: 6520 7479 7065 732e 2044 6566 6175 6c74 e types. Default\n+000ef970: 2076 616c 7565 7320 6361 6e20 6265 2073 values can be s\n+000ef980: 7065 6369 6669 6564 2066 6f72 2073 7472 pecified for str\n+000ef990: 7563 7420 616e 6420 636c 6173 7320 6d65 uct and class me\n+000ef9a0: 6d62 6572 732c 2061 7320 7368 6f77 6e20 mbers, as shown \n+000ef9b0: 696e 2074 6865 2065 7861 6d70 6c65 2062 in the example b\n+000ef9c0: 656c 6f77 3a3c 2f70 3e0a 3c64 6976 2063 elow: Upon deser\n-000efcc0: 6961 6c69 7a61 7469 6f6e 206f 6620 6162 ialization of ab\n-000efcd0: 7365 6e74 2064 6174 612c 2074 6865 7365 sent data, these\n-000efce0: 206d 656d 6265 7273 2077 696c 6c20 6265 members will be\n-000efcf0: 2073 6574 2061 6363 6f72 6469 6e67 6c79 set accordingly\n-000efd00: 2e20 5768 656e 2063 6c61 7373 6573 2061 . When classes a\n-000efd10: 7265 2069 6e73 7461 6e74 6961 7465 6420 re instantiated \n-000efd20: 7769 7468 203c 636f 6465 3e73 6f61 705f with ..\n-000efe00: 949d 203c 6120 6872 6566 3d22 2322 3e42 .. B\n-000efe10: 6163 6b20 746f 2074 6162 6c65 206f 6620 ack to table of \n-000efe20: 636f 6e74 656e 7473 3c2f 613e 3c2f 703e contents Occur\n-000efe80: 7265 6e63 6520 636f 6e73 7472 6169 6e74 rence constraint\n-000efe90: 7320 7370 6563 6966 7920 7468 6520 6d69 s specify the mi\n-000efea0: 6e69 6d75 6d20 616e 642f 6f72 206d 6178 nimum and/or max\n-000efeb0: 696d 756d 2066 7265 7175 656e 6379 206f imum frequency o\n-000efec0: 7220 6f70 7469 6f6e 616c 6974 7920 6f66 r optionality of\n-000efed0: 206f 6620 6174 7472 6962 7574 6573 2061 of attributes a\n-000efee0: 6e64 2065 6c65 6d65 6e74 732e 3c2f 703e nd elements. To forc\n-000eff90: 6520 7468 6520 7661 6c69 6461 7469 6f6e e the validation\n-000effa0: 206f 6620 6d69 6e4f 6363 7572 7320 616e of minOccurs an\n-000effb0: 6420 6d61 784f 6363 7572 7320 636f 6e73 d maxOccurs cons\n-000effc0: 7472 6169 6e74 7320 7468 6520 3c63 6f64 traints the The The A de\n-000f03c0: 6661 756c 7420 696e 6974 6961 6c69 7a61 fault initializa\n-000f03d0: 7469 6f6e 203c 636f 6465 3e76 616c 7565 tion \n-000f0410: 4120 6669 7865 6420 696e 6974 6961 6c69 A fixed initiali\n-000f0420: 7a61 7469 6f6e 2076 616c 7565 2063 616e zation value can\n-000f0430: 2062 6520 7370 6563 6966 6965 6420 7769 be specified wi\n-000f0440: 7468 203c 636f 6465 3e3d 3d3c 2f63 6f64 th For\n-000f0480: 2065 7861 6d70 6c65 3c2f 703e 0a3c 6469 example Upon\n+000efca0: 2064 6573 6572 6961 6c69 7a61 7469 6f6e deserialization\n+000efcb0: 206f 6620 6162 7365 6e74 2064 6174 612c of absent data,\n+000efcc0: 2074 6865 7365 206d 656d 6265 7273 2077 these members w\n+000efcd0: 696c 6c20 6265 2073 6574 2061 6363 6f72 ill be set accor\n+000efce0: 6469 6e67 6c79 2e20 5768 656e 2063 6c61 dingly. When cla\n+000efcf0: 7373 6573 2061 7265 2069 6e73 7461 6e74 sses are instant\n+000efd00: 6961 7465 6420 7769 7468 203c 636f 6465 iated with See also\n+000efd70: 203c 6120 6872 6566 3d22 2e2e 2f2e 2e2f C a\n+000efda0: 6e64 2043 2b2b 2058 4d4c 2064 6174 6120 nd C++ XML data \n+000efdb0: 6269 6e64 696e 6773 3c2f 613e 2064 6f63 bindings doc\n+000efdc0: 756d 656e 7461 7469 6f6e 2066 6f72 206d umentation for m\n+000efdd0: 6f72 6520 6465 7461 696c 732e 3c2f 703e ore details. Occurrence cons\n+000efe70: 7472 6169 6e74 7320 7370 6563 6966 7920 traints specify \n+000efe80: 7468 6520 6d69 6e69 6d75 6d20 616e 642f the minimum and/\n+000efe90: 6f72 206d 6178 696d 756d 2066 7265 7175 or maximum frequ\n+000efea0: 656e 6379 206f 7220 6f70 7469 6f6e 616c ency or optional\n+000efeb0: 6974 7920 6f66 206f 6620 6174 7472 6962 ity of of attrib\n+000efec0: 7574 6573 2061 6e64 2065 6c65 6d65 6e74 utes and element\n+000efed0: 732e 3c2f 703e 0a3c 703e f09f 949d 203c s. .... <\n+000efee0: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n+000efef0: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n+000eff00: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6833 ents T\n+000eff70: 6f20 666f 7263 6520 7468 6520 7661 6c69 o force the vali\n+000eff80: 6461 7469 6f6e 206f 6620 6d69 6e4f 6363 dation of minOcc\n+000eff90: 7572 7320 616e 6420 6d61 784f 6363 7572 urs and maxOccur\n+000effa0: 7320 636f 6e73 7472 6169 6e74 7320 7468 s constraints th\n+000effb0: 6520 3c63 6f64 653e 2353 4f41 505f 584d e T\n+000f0120: 6865 203c 636f 6465 3e6e 756c 6c70 7472 he Th\n+000f0210: 6520 3c63 6f64 653e 6d69 6e4f 6363 7572 e A fixed in\n+000f0400: 6974 6961 6c69 7a61 7469 6f6e 2076 616c itialization val\n+000f0410: 7565 2063 616e 2062 6520 7370 6563 6966 ue can be specif\n+000f0420: 6965 6420 7769 7468 203c 636f 6465 3e3d ied with For example\n+000f0470: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. See also C and C++ \n-000f0af0: 584d 4c20 6461 7461 2062 696e 6469 6e67 XML data binding\n-000f0b00: 733c 2f61 3e20 646f 6375 6d65 6e74 6174 s documentat\n-000f0b10: 696f 6e20 666f 7220 6d6f 7265 2064 6574 ion for more det\n-000f0b20: 6169 6c73 2e3c 2f70 3e0a 3c70 3ef0 9f94 ails. ...\n-000f0b30: 9d20 3c61 2068 7265 663d 2223 223e 4261 . Ba\n-000f0b40: 636b 2074 6f20 7461 626c 6520 6f66 2063 ck to table of c\n-000f0b50: 6f6e 7465 6e74 733c 2f61 3e3c 2f70 3e0a ontents Similar to the \n-000f0bd0: 6d69 6e4f 6363 7572 7320 616e 6420 6d61 minOccurs and ma\n-000f0be0: 784f 6363 7572 7320 616e 6e6f 7461 7469 xOccurs annotati\n-000f0bf0: 6f6e 7320 6465 6669 6e65 6420 696e 2074 ons defined in t\n-000f0c00: 6865 2070 7265 7669 6f75 7320 7365 6374 he previous sect\n-000f0c10: 696f 6e2c 2061 7474 7269 6275 7465 7320 ion, attributes \n-000f0c20: 696e 2061 2073 7472 7563 7420 6f72 2063 in a struct or c\n-000f0c30: 6c61 7373 2063 616e 2062 6520 616e 6e6f lass can be anno\n-000f0c40: 7461 7465 6420 7769 7468 206f 6363 7572 tated with occur\n-000f0c50: 7265 6e63 6520 636f 6e73 7472 6169 6e74 rence constraint\n-000f0c60: 7320 746f 206d 616b 6520 7468 656d 206f s to make them o\n-000f0c70: 7074 696f 6e61 6c20 2830 292c 2072 6571 ptional (0), req\n-000f0c80: 7569 7265 6420 2831 292c 206f 7220 7072 uired (1), or pr\n-000f0c90: 6f68 6962 6974 6564 2028 303a 3029 2e20 ohibited (0:0). \n-000f0ca0: 4465 6661 756c 7420 7661 6c75 6573 2063 Default values c\n-000f0cb0: 616e 2062 6520 6173 7369 676e 6564 2074 an be assigned t\n-000f0cc0: 6f20 6f70 7469 6f6e 616c 2061 7474 7269 o optional attri\n-000f0cd0: 6275 7465 732e 3c2f 703e 0a3c 703e 466f butes. Fo\n-000f0ce0: 7220 6578 616d 706c 653c 2f70 3e0a 3c64 r example See also \n+000f0aa0: 3c61 2068 7265 663d 222e 2e2f 2e2e 2f64 C an\n+000f0ad0: 6420 432b 2b20 584d 4c20 6461 7461 2062 d C++ XML data b\n+000f0ae0: 696e 6469 6e67 733c 2f61 3e20 646f 6375 indings docu\n+000f0af0: 6d65 6e74 6174 696f 6e20 666f 7220 6d6f mentation for mo\n+000f0b00: 7265 2064 6574 6169 6c73 2e3c 2f70 3e0a re details. .... Back to tabl\n+000f0b30: 6520 6f66 2063 6f6e 7465 6e74 733c 2f61 e of contents Similar t\n+000f0bb0: 6f20 7468 6520 6d69 6e4f 6363 7572 7320 o the minOccurs \n+000f0bc0: 616e 6420 6d61 784f 6363 7572 7320 616e and maxOccurs an\n+000f0bd0: 6e6f 7461 7469 6f6e 7320 6465 6669 6e65 notations define\n+000f0be0: 6420 696e 2074 6865 2070 7265 7669 6f75 d in the previou\n+000f0bf0: 7320 7365 6374 696f 6e2c 2061 7474 7269 s section, attri\n+000f0c00: 6275 7465 7320 696e 2061 2073 7472 7563 butes in a struc\n+000f0c10: 7420 6f72 2063 6c61 7373 2063 616e 2062 t or class can b\n+000f0c20: 6520 616e 6e6f 7461 7465 6420 7769 7468 e annotated with\n+000f0c30: 206f 6363 7572 7265 6e63 6520 636f 6e73 occurrence cons\n+000f0c40: 7472 6169 6e74 7320 746f 206d 616b 6520 traints to make \n+000f0c50: 7468 656d 206f 7074 696f 6e61 6c20 2830 them optional (0\n+000f0c60: 292c 2072 6571 7569 7265 6420 2831 292c ), required (1),\n+000f0c70: 206f 7220 7072 6f68 6962 6974 6564 2028 or prohibited (\n+000f0c80: 303a 3029 2e20 4465 6661 756c 7420 7661 0:0). Default va\n+000f0c90: 6c75 6573 2063 616e 2062 6520 6173 7369 lues can be assi\n+000f0ca0: 676e 6564 2074 6f20 6f70 7469 6f6e 616c gned to optional\n+000f0cb0: 2061 7474 7269 6275 7465 732e 3c2f 703e attributes. For example<\n+000f0cd0: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. Remember to set\n-000f0fe0: 2074 6865 203c 636f 6465 3e23 534f 4150 the See also\n-000f1060: 203c 6120 6872 6566 3d22 2e2e 2f2e 2e2f C a\n-000f1090: 6e64 2043 2b2b 2058 4d4c 2064 6174 6120 nd C++ XML data \n-000f10a0: 6269 6e64 696e 6773 3c2f 613e 2064 6f63 bindings doc\n-000f10b0: 756d 656e 7461 7469 6f6e 2066 6f72 206d umentation for m\n-000f10c0: 6f72 6520 6465 7461 696c 732e 3c2f 703e ore details. A sche\n-000f1240: 6d61 2073 696d 706c 6554 7970 6520 6973 ma simpleType is\n-000f1250: 2064 6566 696e 6564 2077 6974 6820 6120 defined with a \n-000f1260: 3c63 6f64 653e 7479 7065 6465 663c 2f63 This defines \n-000f1370: 7468 6520 666f 6c6c 6f77 696e 6720 7363 the following sc\n-000f1380: 6865 6d61 2074 7970 6520 696e 203c 656d hema type in A complex\n-000f15a0: 5479 7065 2077 6974 6820 7369 6d70 6c65 Type with simple\n-000f15b0: 436f 6e74 656e 7420 6973 2064 6566 696e Content is defin\n-000f15c0: 6564 2077 6974 6820 6120 7772 6170 7065 ed with a wrappe\n-000f15d0: 7220 7374 7275 6374 2f63 6c61 7373 3a3c r struct/class:<\n-000f15e0: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. Remember \n+000f0fc0: 746f 2073 6574 2074 6865 203c 636f 6465 to set the Se\n+000f1040: 6520 616c 736f 203c 6120 6872 6566 3d22 e also C and C++ XML\n+000f1080: 2064 6174 6120 6269 6e64 696e 6773 3c2f data bindings\n+000f1090: 613e 2064 6f63 756d 656e 7461 7469 6f6e a> documentation\n+000f10a0: 2066 6f72 206d 6f72 6520 6465 7461 696c for more detail\n+000f10b0: 732e 3c2f 703e 0a3c 703e f09f 949d 203c s. .... <\n+000f10c0: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n+000f10d0: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n+000f10e0: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents Value co\n+000f1140: 6e73 7472 6169 6e74 7320 7265 7374 7269 nstraints restri\n+000f1150: 6374 2074 6865 206c 656e 6774 6820 6f66 ct the length of\n+000f1160: 2073 7472 696e 6773 2061 6e64 2074 6865 strings and the\n+000f1170: 2072 616e 6765 206f 6620 7661 6c75 6573 range of values\n+000f1180: 206f 6620 6e75 6d65 7269 6320 7479 7065 of numeric type\n+000f1190: 732e 3c2f 703e 0a3c 703e f09f 949d 203c s. .... <\n+000f11a0: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n+000f11b0: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n+000f11c0: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6833 ents \n+000f1220: 4120 7363 6865 6d61 2073 696d 706c 6554 A schema simpleT\n+000f1230: 7970 6520 6973 2064 6566 696e 6564 2077 ype is defined w\n+000f1240: 6974 6820 6120 3c63 6f64 653e 7479 7065 ith a This de\n+000f1350: 6669 6e65 7320 7468 6520 666f 6c6c 6f77 fines the follow\n+000f1360: 696e 6720 7363 6865 6d61 2074 7970 6520 ing schema type \n+000f1370: 696e 203c 656d 3e3c 636f 6465 3e74 696d in A c\n+000f1580: 6f6d 706c 6578 5479 7065 2077 6974 6820 omplexType with \n+000f1590: 7369 6d70 6c65 436f 6e74 656e 7420 6973 simpleContent is\n+000f15a0: 2064 6566 696e 6564 2077 6974 6820 6120 defined with a \n+000f15b0: 7772 6170 7065 7220 7374 7275 6374 2f63 wrapper struct/c\n+000f15c0: 6c61 7373 3a3c 2f70 3e0a 3c64 6976 2063 lass: Th\n-000f1790: 6973 2064 6566 696e 6573 2074 6865 2066 is defines the f\n-000f17a0: 6f6c 6c6f 7769 6e67 2073 6368 656d 6120 ollowing schema \n-000f17b0: 7479 7065 2069 6e20 3c65 6d3e 3c63 6f64 type in Data val\n+000f1f10: 7565 206c 656e 6774 6820 636f 6e73 7472 ue length constr\n+000f1f20: 6169 6e74 7320 6f66 2073 696d 706c 6554 aints of simpleT\n+000f1f30: 7970 6573 2061 6e64 2063 6f6d 706c 6578 ypes and complex\n+000f1f40: 5479 7065 7320 7769 7468 2073 696d 706c Types with simpl\n+000f1f50: 6543 6f6e 7465 6e74 2061 7265 2064 6566 eContent are def\n+000f1f60: 696e 6564 2061 7320 666f 6c6c 6f77 733a ined as follows:\n+000f1f70: 3c2f 703e 0a3c 6469 7620 636c 6173 733d Set the <\n-000f2570: 636f 6465 3e23 534f 4150 5f58 4d4c 5f53 code>#SOAP_XML_S\n-000f2580: 5452 4943 543c 2f63 6f64 653e 206d 6f64 TRICT mod\n-000f2590: 6520 666c 6167 2074 6f20 656e 6162 6c65 e flag to enable\n-000f25a0: 2074 6865 2076 616c 6964 6174 696f 6e20 the validation \n-000f25b0: 6f66 2076 616c 7565 206c 656e 6774 6820 of value length \n-000f25c0: 636f 6e73 7472 6169 6e74 732e 3c2f 703e constraints. See also C and C\n-000f2610: 2b2b 2058 4d4c 2064 6174 6120 6269 6e64 ++ XML data bind\n-000f2620: 696e 6773 3c2f 613e 2064 6f63 756d 656e ings documen\n-000f2630: 7461 7469 6f6e 2066 6f72 206d 6f72 6520 tation for more \n-000f2640: 6465 7461 696c 732e 3c2f 703e 0a3c 703e details. \n-000f2650: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n-000f2670: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n-000f2680: 703e 0a3c 6833 3e3c 6120 636c 6173 733d p>. Simila\n-000f26e0: 7220 746f 2064 6174 6120 6c65 6e67 7468 r to data length\n-000f26f0: 2063 6f6e 7374 7261 696e 7473 2066 6f72 constraints for\n-000f2700: 2073 7472 696e 672d 6261 7365 6420 6461 string-based da\n-000f2710: 7461 2c20 696e 7465 6765 7220 616e 6420 ta, integer and \n-000f2720: 666c 6f61 7469 6e67 2070 6f69 6e74 2076 floating point v\n-000f2730: 616c 7565 2072 616e 6765 2063 6f6e 7374 alue range const\n-000f2740: 7261 696e 7473 206f 6e20 6e75 6d65 7269 raints on numeri\n-000f2750: 6320 7369 6d70 6c65 5479 7065 7320 616e c simpleTypes an\n-000f2760: 6420 636f 6d70 6c65 7854 7970 6573 2077 d complexTypes w\n-000f2770: 6974 6820 7369 6d70 6c65 436f 6e74 656e ith simpleConten\n-000f2780: 7420 6172 6520 6465 636c 6172 6564 2077 t are declared w\n-000f2790: 6974 6820 3c63 6f64 653e 6c6f 7720 3a20 ith A\n-000f27f0: 7320 6f66 2067 534f 4150 2032 2e38 2e32 s of gSOAP 2.8.2\n-000f2800: 362c 2066 6c6f 6174 696e 6720 706f 696e 6, floating poin\n-000f2810: 7420 7661 6c75 6520 7261 6e67 6573 2061 t value ranges a\n-000f2820: 6e64 2069 6e74 6567 6572 2072 616e 6765 nd integer range\n-000f2830: 7320 6361 6e20 6265 2065 7863 6c75 7369 s can be exclusi\n-000f2840: 7665 2062 7920 6164 6469 6e67 203c 636f ve by adding F\n-000f30b0: 6f72 2065 7861 6d70 6c65 3a3c 2f70 3e0a or example: Set\n+000f2550: 2074 6865 203c 636f 6465 3e23 534f 4150 the See al\n+000f25c0: 736f 203c 6120 6872 6566 3d22 2e2e 2f2e so C\n+000f25f0: 2061 6e64 2043 2b2b 2058 4d4c 2064 6174 and C++ XML dat\n+000f2600: 6120 6269 6e64 696e 6773 3c2f 613e 2064 a bindings d\n+000f2610: 6f63 756d 656e 7461 7469 6f6e 2066 6f72 ocumentation for\n+000f2620: 206d 6f72 6520 6465 7461 696c 732e 3c2f more details.\n+000f2630: 703e 0a3c 703e f09f 949d 203c 6120 6872 p>. \n+000f26c0: 5369 6d69 6c61 7220 746f 2064 6174 6120 Similar to data \n+000f26d0: 6c65 6e67 7468 2063 6f6e 7374 7261 696e length constrain\n+000f26e0: 7473 2066 6f72 2073 7472 696e 672d 6261 ts for string-ba\n+000f26f0: 7365 6420 6461 7461 2c20 696e 7465 6765 sed data, intege\n+000f2700: 7220 616e 6420 666c 6f61 7469 6e67 2070 r and floating p\n+000f2710: 6f69 6e74 2076 616c 7565 2072 616e 6765 oint value range\n+000f2720: 2063 6f6e 7374 7261 696e 7473 206f 6e20 constraints on \n+000f2730: 6e75 6d65 7269 6320 7369 6d70 6c65 5479 numeric simpleTy\n+000f2740: 7065 7320 616e 6420 636f 6d70 6c65 7854 pes and complexT\n+000f2750: 7970 6573 2077 6974 6820 7369 6d70 6c65 ypes with simple\n+000f2760: 436f 6e74 656e 7420 6172 6520 6465 636c Content are decl\n+000f2770: 6172 6564 2077 6974 6820 3c63 6f64 653e ared with As of gSOAP\n+000f27e0: 2032 2e38 2e32 362c 2066 6c6f 6174 696e 2.8.26, floatin\n+000f27f0: 6720 706f 696e 7420 7661 6c75 6520 7261 g point value ra\n+000f2800: 6e67 6573 2061 6e64 2069 6e74 6567 6572 nges and integer\n+000f2810: 2072 616e 6765 7320 6361 6e20 6265 2065 ranges can be e\n+000f2820: 7863 6c75 7369 7665 2062 7920 6164 6469 xclusive by addi\n+000f2830: 6e67 203c 636f 6465 3e26 6c74 3b3c 2f63 ng For example\n+000f30a0: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 : Se\n-000f35b0: 6520 616c 736f 203c 6120 6872 6566 3d22 e also C and C++ XML\n-000f35f0: 2064 6174 6120 6269 6e64 696e 6773 3c2f data bindings\n-000f3600: 613e 2064 6f63 756d 656e 7461 7469 6f6e a> documentation\n-000f3610: 2066 6f72 206d 6f72 6520 6465 7461 696c for more detail\n-000f3620: 732e 3c2f 703e 0a3c 703e f09f 949d 203c s. .... <\n-000f3630: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n-000f3640: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n-000f3650: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6833 ents Pat\n-000f36b0: 7465 726e 7320 6361 6e20 6265 2064 6566 terns can be def\n-000f36c0: 696e 6564 2066 6f72 2073 696d 706c 6554 ined for simpleT\n-000f36d0: 7970 6520 636f 6e74 656e 742e 2048 6f77 ype content. How\n-000f36e0: 6576 6572 2c20 7061 7474 6572 6e20 7661 ever, pattern va\n-000f36f0: 6c69 6461 7469 6f6e 2069 7320 6e6f 7420 lidation is not \n-000f3700: 656e 666f 7263 6564 2075 6e6c 6573 7320 enforced unless \n-000f3710: 7468 6520 3c63 6f64 653e 3c61 2063 6c61 the To ass\n-000f38c0: 6f63 6961 7465 2061 2070 6174 7465 726e ociate a pattern\n-000f38d0: 2077 6974 6820 6120 7369 6d70 6c65 5479 with a simpleTy\n-000f38e0: 7065 2c20 796f 7520 6361 6e20 6465 6669 pe, you can defi\n-000f38f0: 6e65 2061 2073 696d 706c 6554 7970 6520 ne a simpleType \n-000f3900: 7769 7468 2061 203c 636f 6465 3e74 7970 with a Th\n-000f3d60: 6520 7061 7474 6572 6e20 7374 7269 6e67 e pattern string\n-000f3d70: 206d 7573 7420 636f 6e74 6169 6e20 6120 must contain a \n-000f3d80: 7661 6c69 6420 7265 6775 6c61 7220 6578 valid regular ex\n-000f3d90: 7072 6573 7369 6f6e 2e3c 2f70 3e0a 3c70 pression. A special case \n-000f3db0: 666f 7220 4320 666f 726d 6174 2073 7472 for C format str\n-000f3dc0: 696e 6720 7061 7474 6572 6e73 2069 7320 ing patterns is \n-000f3dd0: 696e 7472 6f64 7563 6564 2069 6e20 6753 introduced in gS\n-000f3de0: 4f41 5020 322e 382e 3138 2e20 5768 656e OAP 2.8.18. When\n-000f3df0: 203c 656d 3e3c 636f 6465 3e78 7364 3a74 pro\n-000f4260: 6475 6365 733a 3c2f 703e 0a3c 6469 7620 duces: The format stri\n-000f4350: 6e67 2069 7320 7573 6564 2074 6f20 666f ng is used to fo\n-000f4360: 726d 6174 2074 6865 206f 7574 7075 7420 rmat the output \n-000f4370: 7468 6520 666c 6f61 7469 6e67 2070 6f69 the floating poi\n-000f4380: 6e74 2076 616c 7565 2069 6e20 584d 4c2e nt value in XML.\n-000f4390: 3c2f 703e 0a3c 703e 5365 6520 616c 736f See also\n-000f43a0: 203c 6120 6872 6566 3d22 2e2e 2f2e 2e2f C a\n-000f43d0: 6e64 2043 2b2b 2058 4d4c 2064 6174 6120 nd C++ XML data \n-000f43e0: 6269 6e64 696e 6773 3c2f 613e 2064 6f63 bindings doc\n-000f43f0: 756d 656e 7461 7469 6f6e 2066 6f72 206d umentation for m\n-000f4400: 6f72 6520 6465 7461 696c 732e 3c2f 703e ore details. Struc\n-000f44b0: 742c 2063 6c61 7373 2c20 616e 6420 756e t, class, and un\n-000f44c0: 696f 6e20 6d65 6d62 6572 7320 7265 7072 ion members repr\n-000f44d0: 6573 656e 7420 656c 656d 656e 7473 2061 esent elements a\n-000f44e0: 6e64 2061 7474 7269 6275 7465 7320 7468 nd attributes th\n-000f44f0: 6174 2061 7265 2061 7574 6f6d 6174 6963 at are automatic\n-000f4500: 616c 6c79 2071 7561 6c69 6669 6564 206f ally qualified o\n-000f4510: 7220 756e 7175 616c 6966 6965 6420 6465 r unqualified de\n-000f4520: 7065 6e64 696e 6720 6f6e 2074 6865 2073 pending on the s\n-000f4530: 6368 656d 6120 656c 656d 656e 7420 616e chema element an\n-000f4540: 6420 6174 7472 6962 7574 6520 6465 6661 d attribute defa\n-000f4550: 756c 7420 666f 726d 7320 7370 6563 6966 ult forms specif\n-000f4560: 6965 642e 2054 6865 2065 6e67 696e 6520 ied. The engine \n-000f4570: 616c 7761 7973 2076 616c 6964 6174 6573 always validates\n-000f4580: 2074 6865 2070 7265 6669 7865 7320 6f66 the prefixes of\n-000f4590: 2065 6c65 6d65 6e74 7320 616e 6420 6174 elements and at\n-000f45a0: 7472 6962 7574 6573 2e20 5768 656e 2061 tributes. When a\n-000f45b0: 206e 616d 6573 7061 6365 206d 6973 6d61 namespace misma\n-000f45c0: 7463 6820 6f63 6375 7273 2c20 7468 6520 tch occurs, the \n-000f45d0: 656c 656d 656e 7420 6f72 2061 7474 7269 element or attri\n-000f45e0: 6275 7465 2069 7320 6e6f 7420 636f 6e73 bute is not cons\n-000f45f0: 756d 6564 2077 6869 6368 2063 616e 206c umed which can l\n-000f4600: 6561 6420 746f 2061 2076 616c 6964 6174 ead to a validat\n-000f4610: 696f 6e20 6572 726f 7220 2875 6e6c 6573 ion error (unles\n-000f4620: 7320 7468 6520 636f 6d70 6c65 7854 7970 s the complexTyp\n-000f4630: 6520 6973 2065 7874 656e 7369 626c 6520 e is extensible \n-000f4640: 6f72 2077 6865 6e20 3c63 6f64 653e 2353 or when Con\n-000f4680: 7369 6465 7220 666f 7220 6578 616d 706c sider for exampl\n-000f4690: 653a 3c2f 703e 0a3c 6469 7620 636c 6173 e: Set the \n+000f3530: 3c63 6f64 653e 2353 4f41 505f 584d 4c5f See also C and C\n+000f35d0: 2b2b 2058 4d4c 2064 6174 6120 6269 6e64 ++ XML data bind\n+000f35e0: 696e 6773 3c2f 613e 2064 6f63 756d 656e ings documen\n+000f35f0: 7461 7469 6f6e 2066 6f72 206d 6f72 6520 tation for more \n+000f3600: 6465 7461 696c 732e 3c2f 703e 0a3c 703e details. \n+000f3610: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n+000f3630: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n+000f3640: 703e 0a3c 6833 3e3c 6120 636c 6173 733d p>. Patterns can \n+000f36a0: 6265 2064 6566 696e 6564 2066 6f72 2073 be defined for s\n+000f36b0: 696d 706c 6554 7970 6520 636f 6e74 656e impleType conten\n+000f36c0: 742e 2048 6f77 6576 6572 2c20 7061 7474 t. However, patt\n+000f36d0: 6572 6e20 7661 6c69 6461 7469 6f6e 2069 ern validation i\n+000f36e0: 7320 6e6f 7420 656e 666f 7263 6564 2075 s not enforced u\n+000f36f0: 6e6c 6573 7320 7468 6520 3c63 6f64 653e nless the \n+000f38a0: 546f 2061 7373 6f63 6961 7465 2061 2070 To associate a p\n+000f38b0: 6174 7465 726e 2077 6974 6820 6120 7369 attern with a si\n+000f38c0: 6d70 6c65 5479 7065 2c20 796f 7520 6361 mpleType, you ca\n+000f38d0: 6e20 6465 6669 6e65 2061 2073 696d 706c n define a simpl\n+000f38e0: 6554 7970 6520 7769 7468 2061 203c 636f eType with a This d\n+000f3a00: 6566 696e 6573 2074 6865 2066 6f6c 6c6f efines the follo\n+000f3a10: 7769 6e67 2073 6368 656d 6120 7479 7065 wing schema type\n+000f3a20: 2069 6e20 3c65 6d3e 3c63 6f64 653e 7469 in The pattern \n+000f3d50: 7374 7269 6e67 206d 7573 7420 636f 6e74 string must cont\n+000f3d60: 6169 6e20 6120 7661 6c69 6420 7265 6775 ain a valid regu\n+000f3d70: 6c61 7220 6578 7072 6573 7369 6f6e 2e3c lar expression.<\n+000f3d80: 2f70 3e0a 3c70 3e41 2073 7065 6369 616c /p>. A special\n+000f3d90: 2063 6173 6520 666f 7220 4320 666f 726d case for C form\n+000f3da0: 6174 2073 7472 696e 6720 7061 7474 6572 at string patter\n+000f3db0: 6e73 2069 7320 696e 7472 6f64 7563 6564 ns is introduced\n+000f3dc0: 2069 6e20 6753 4f41 5020 322e 382e 3138 in gSOAP 2.8.18\n+000f3dd0: 2e20 5768 656e 203c 656d 3e3c 636f 6465 . When produces: The forma\n+000f4330: 7420 7374 7269 6e67 2069 7320 7573 6564 t string is used\n+000f4340: 2074 6f20 666f 726d 6174 2074 6865 206f to format the o\n+000f4350: 7574 7075 7420 7468 6520 666c 6f61 7469 utput the floati\n+000f4360: 6e67 2070 6f69 6e74 2076 616c 7565 2069 ng point value i\n+000f4370: 6e20 584d 4c2e 3c2f 703e 0a3c 703e 5365 n XML. Se\n+000f4380: 6520 616c 736f 203c 6120 6872 6566 3d22 e also C and C++ XML\n+000f43c0: 2064 6174 6120 6269 6e64 696e 6773 3c2f data bindings\n+000f43d0: 613e 2064 6f63 756d 656e 7461 7469 6f6e a> documentation\n+000f43e0: 2066 6f72 206d 6f72 6520 6465 7461 696c for more detail\n+000f43f0: 732e 3c2f 703e 0a3c 703e f09f 949d 203c s. .... <\n+000f4400: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n+000f4410: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n+000f4420: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents Struct, class, \n+000f44a0: 616e 6420 756e 696f 6e20 6d65 6d62 6572 and union member\n+000f44b0: 7320 7265 7072 6573 656e 7420 656c 656d s represent elem\n+000f44c0: 656e 7473 2061 6e64 2061 7474 7269 6275 ents and attribu\n+000f44d0: 7465 7320 7468 6174 2061 7265 2061 7574 tes that are aut\n+000f44e0: 6f6d 6174 6963 616c 6c79 2071 7561 6c69 omatically quali\n+000f44f0: 6669 6564 206f 7220 756e 7175 616c 6966 fied or unqualif\n+000f4500: 6965 6420 6465 7065 6e64 696e 6720 6f6e ied depending on\n+000f4510: 2074 6865 2073 6368 656d 6120 656c 656d the schema elem\n+000f4520: 656e 7420 616e 6420 6174 7472 6962 7574 ent and attribut\n+000f4530: 6520 6465 6661 756c 7420 666f 726d 7320 e default forms \n+000f4540: 7370 6563 6966 6965 642e 2054 6865 2065 specified. The e\n+000f4550: 6e67 696e 6520 616c 7761 7973 2076 616c ngine always val\n+000f4560: 6964 6174 6573 2074 6865 2070 7265 6669 idates the prefi\n+000f4570: 7865 7320 6f66 2065 6c65 6d65 6e74 7320 xes of elements \n+000f4580: 616e 6420 6174 7472 6962 7574 6573 2e20 and attributes. \n+000f4590: 5768 656e 2061 206e 616d 6573 7061 6365 When a namespace\n+000f45a0: 206d 6973 6d61 7463 6820 6f63 6375 7273 mismatch occurs\n+000f45b0: 2c20 7468 6520 656c 656d 656e 7420 6f72 , the element or\n+000f45c0: 2061 7474 7269 6275 7465 2069 7320 6e6f attribute is no\n+000f45d0: 7420 636f 6e73 756d 6564 2077 6869 6368 t consumed which\n+000f45e0: 2063 616e 206c 6561 6420 746f 2061 2076 can lead to a v\n+000f45f0: 616c 6964 6174 696f 6e20 6572 726f 7220 alidation error \n+000f4600: 2875 6e6c 6573 7320 7468 6520 636f 6d70 (unless the comp\n+000f4610: 6c65 7854 7970 6520 6973 2065 7874 656e lexType is exten\n+000f4620: 7369 626c 6520 6f72 2077 6865 6e20 3c63 sible or when Consider for \n+000f4670: 6578 616d 706c 653a 3c2f 703e 0a3c 6469 example: Here\n-000f48a0: 2c20 7468 6520 3c63 6f64 653e 6e73 5f5f , the The \"colon no\n-000f4af0: 7461 7469 6f6e 2220 666f 7220 7374 7275 tation\" for stru\n-000f4b00: 6374 2f63 6c61 7373 2f75 6e69 6f6e 206d ct/class/union m\n-000f4b10: 656d 6265 7220 6e61 6d65 7320 6973 2075 ember names is u\n-000f4b20: 7365 6420 746f 206f 7665 7272 6964 6520 sed to override \n-000f4b30: 656c 656d 656e 7420 616e 6420 6174 7472 element and attr\n-000f4b40: 6962 7574 6520 7175 616c 6966 6965 6420 ibute qualified \n-000f4b50: 6f72 2075 6e71 7561 6c69 6669 6564 2066 or unqualified f\n-000f4b60: 6f72 6d73 2e20 546f 206f 7665 7272 6964 orms. To overrid\n-000f4b70: 6520 7468 6520 666f 726d 2066 6f72 2069 e the form for i\n-000f4b80: 6e64 6976 6964 7561 6c20 6d65 6d62 6572 ndividual member\n-000f4b90: 7320 7468 6174 2072 6570 7265 7365 6e74 s that represent\n-000f4ba0: 2065 6c65 6d65 6e74 7320 616e 6420 6174 elements and at\n-000f4bb0: 7472 6962 7574 6573 2c20 7573 6520 6120 tributes, use a \n-000f4bc0: 6e61 6d65 7370 6163 6520 7072 6566 6978 namespace prefix\n-000f4bd0: 2061 6e64 2063 6f6c 6f6e 2077 6974 6820 and colon with \n-000f4be0: 7468 6520 6d65 6d62 6572 206e 616d 653a the member name:\n-000f4bf0: 3c2f 703e 0a3c 6469 7620 636c 6173 733d The \"co\n+000f4ad0: 6c6f 6e20 6e6f 7461 7469 6f6e 2220 666f lon notation\" fo\n+000f4ae0: 7220 7374 7275 6374 2f63 6c61 7373 2f75 r struct/class/u\n+000f4af0: 6e69 6f6e 206d 656d 6265 7220 6e61 6d65 nion member name\n+000f4b00: 7320 6973 2075 7365 6420 746f 206f 7665 s is used to ove\n+000f4b10: 7272 6964 6520 656c 656d 656e 7420 616e rride element an\n+000f4b20: 6420 6174 7472 6962 7574 6520 7175 616c d attribute qual\n+000f4b30: 6966 6965 6420 6f72 2075 6e71 7561 6c69 ified or unquali\n+000f4b40: 6669 6564 2066 6f72 6d73 2e20 546f 206f fied forms. To o\n+000f4b50: 7665 7272 6964 6520 7468 6520 666f 726d verride the form\n+000f4b60: 2066 6f72 2069 6e64 6976 6964 7561 6c20 for individual \n+000f4b70: 6d65 6d62 6572 7320 7468 6174 2072 6570 members that rep\n+000f4b80: 7265 7365 6e74 2065 6c65 6d65 6e74 7320 resent elements \n+000f4b90: 616e 6420 6174 7472 6962 7574 6573 2c20 and attributes, \n+000f4ba0: 7573 6520 6120 6e61 6d65 7370 6163 6520 use a namespace \n+000f4bb0: 7072 6566 6978 2061 6e64 2063 6f6c 6f6e prefix and colon\n+000f4bc0: 2077 6974 6820 7468 6520 6d65 6d62 6572 with the member\n+000f4bd0: 206e 616d 653a 3c2f 703e 0a3c 6469 7620 name: wh\n-000f4e00: 6572 6520 3c63 6f64 653e 6e61 6d65 3c2f ere \n-000f5000: 5468 6520 636f 6c6f 6e20 6e6f 7461 7469 The colon notati\n-000f5010: 6f6e 2069 7320 6120 7379 6e74 6163 7469 on is a syntacti\n-000f5020: 6320 6e6f 7461 7469 6f6e 2075 7365 6420 c notation used \n-000f5030: 6f6e 6c79 2069 6e20 7468 6520 696e 7465 only in the inte\n-000f5040: 7266 6163 6520 6865 6164 6572 2066 696c rface header fil\n-000f5050: 6520 7379 6e74 6178 2c20 6974 2069 7320 e syntax, it is \n-000f5060: 6e6f 7420 7472 616e 736c 6174 6564 2074 not translated t\n-000f5070: 6f20 7468 6520 432f 432b 2b20 6f75 7470 o the C/C++ outp\n-000f5080: 7574 2e3c 2f70 3e0a 3c70 3e54 6865 2063 ut. The c\n-000f5090: 6f6c 6f6e 206e 6f74 6174 696f 6e20 646f olon notation do\n-000f50a0: 6573 206e 6f74 2061 766f 6964 206e 616d es not avoid nam\n-000f50b0: 6520 636c 6173 6865 7320 6265 7477 6565 e clashes betwee\n-000f50c0: 6e20 6d65 6d62 6572 732e 2046 6f72 2065 n members. For e\n-000f50d0: 7861 6d70 6c65 3a3c 2f70 3e0a 3c64 6976 xample: \n-000f5220: 7265 7375 6c74 7320 696e 2061 2072 6564 results in a red\n-000f5230: 6566 696e 6974 696f 6e20 6572 726f 722c efinition error,\n-000f5240: 2073 696e 6365 2062 6f74 6820 6d65 6d62 since both memb\n-000f5250: 6572 7320 6861 7665 2074 6865 2073 616d ers have the sam\n-000f5260: 6520 6e61 6d65 2e20 546f 2061 766f 6964 e name. To avoid\n-000f5270: 206e 616d 6520 636c 6173 6865 732c 2075 name clashes, u\n-000f5280: 7365 2061 2075 6e64 6572 7363 6f72 6520 se a underscore \n-000f5290: 7375 6666 6978 3a3c 2f70 3e0a 3c64 6976 suffix: Not that the na\n-000f53f0: 6d65 7370 6163 6520 7072 6566 6978 2063 mespace prefix c\n-000f5400: 6f6e 7665 6e74 696f 6e20 6361 6e20 6265 onvention can be\n-000f5410: 2075 7365 6420 696e 7374 6561 643a 3c2f used instead:\n-000f5420: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. The colon \n+000f4ff0: 6e6f 7461 7469 6f6e 2069 7320 6120 7379 notation is a sy\n+000f5000: 6e74 6163 7469 6320 6e6f 7461 7469 6f6e ntactic notation\n+000f5010: 2075 7365 6420 6f6e 6c79 2069 6e20 7468 used only in th\n+000f5020: 6520 696e 7465 7266 6163 6520 6865 6164 e interface head\n+000f5030: 6572 2066 696c 6520 7379 6e74 6178 2c20 er file syntax, \n+000f5040: 6974 2069 7320 6e6f 7420 7472 616e 736c it is not transl\n+000f5050: 6174 6564 2074 6f20 7468 6520 432f 432b ated to the C/C+\n+000f5060: 2b20 6f75 7470 7574 2e3c 2f70 3e0a 3c70 + output. The colon notat\n+000f5080: 696f 6e20 646f 6573 206e 6f74 2061 766f ion does not avo\n+000f5090: 6964 206e 616d 6520 636c 6173 6865 7320 id name clashes \n+000f50a0: 6265 7477 6565 6e20 6d65 6d62 6572 732e between members.\n+000f50b0: 2046 6f72 2065 7861 6d70 6c65 3a3c 2f70 For example: results in\n+000f5210: 2061 2072 6564 6566 696e 6974 696f 6e20 a redefinition \n+000f5220: 6572 726f 722c 2073 696e 6365 2062 6f74 error, since bot\n+000f5230: 6820 6d65 6d62 6572 7320 6861 7665 2074 h members have t\n+000f5240: 6865 2073 616d 6520 6e61 6d65 2e20 546f he same name. To\n+000f5250: 2061 766f 6964 206e 616d 6520 636c 6173 avoid name clas\n+000f5260: 6865 732c 2075 7365 2061 2075 6e64 6572 hes, use a under\n+000f5270: 7363 6f72 6520 7375 6666 6978 3a3c 2f70 score suffix: Not that \n+000f53d0: 7468 6520 6e61 6d65 7370 6163 6520 7072 the namespace pr\n+000f53e0: 6566 6978 2063 6f6e 7665 6e74 696f 6e20 efix convention \n+000f53f0: 6361 6e20 6265 2075 7365 6420 696e 7374 can be used inst\n+000f5400: 6561 643a 3c2f 703e 0a3c 6469 7620 636c ead: which av\n-000f5570: 6f69 6473 2074 6865 206e 616d 6520 636c oids the name cl\n-000f5580: 6173 682e 2048 6f77 6576 6572 2c20 7468 ash. However, th\n-000f5590: 6520 7265 7375 6c74 696e 6720 7363 6865 e resulting sche\n-000f55a0: 6d61 2069 7320 6469 6666 6572 656e 7420 ma is different \n-000f55b0: 7369 6e63 6520 7468 6520 6c61 7374 2065 since the last e\n-000f55c0: 7861 6d70 6c65 2067 656e 6572 6174 6573 xample generates\n-000f55d0: 2061 2067 6c6f 6261 6c20 3c63 6f64 653e a global M\n-000f5630: 6f72 6520 7370 6563 6966 6963 616c 6c79 ore specifically\n-000f5640: 2c20 7468 6520 6469 6666 6572 656e 6365 , the difference\n-000f5650: 2062 6574 7765 656e 2074 6865 206e 616d between the nam\n-000f5660: 6573 7061 6365 2070 7265 6669 7820 636f espace prefix co\n-000f5670: 6e76 656e 7469 6f6e 2077 6974 6820 646f nvention with do\n-000f5680: 7562 6c65 2075 6e64 6572 7363 6f72 6573 uble underscores\n-000f5690: 2061 6e64 2063 6f6c 6f6e 206e 6f74 6174 and colon notat\n-000f56a0: 696f 6e20 6973 2074 6861 7420 7468 6520 ion is that the \n-000f56b0: 6e61 6d65 7370 6163 6520 7072 6566 6978 namespace prefix\n-000f56c0: 2063 6f6e 7665 6e74 696f 6e20 6765 6e65 convention gene\n-000f56d0: 7261 7465 7320 7363 6865 6d61 2065 6c65 rates schema ele\n-000f56e0: 6d65 6e74 2f61 7474 7269 6275 7465 2072 ment/attribute r\n-000f56f0: 6566 6572 656e 6365 7320 746f 2065 6c65 eferences to ele\n-000f5700: 6d65 6e74 732f 6174 7472 6962 7574 6573 ments/attributes\n-000f5710: 2061 7420 7468 6520 746f 7020 6c65 7665 at the top leve\n-000f5720: 6c2c 2077 6869 6c65 2074 6865 2063 6f6c l, while the col\n-000f5730: 6f6e 206e 6f74 6174 696f 6e20 6f6e 6c79 on notation only\n-000f5740: 2061 6666 6563 7473 2074 6865 206c 6f63 affects the loc\n-000f5750: 616c 2065 6c65 6d65 6e74 2f61 7474 7269 al element/attri\n-000f5760: 6275 7465 206e 616d 6573 7061 6365 2071 bute namespace q\n-000f5770: 7561 6c69 6669 6361 7469 6f6e 2062 7920 ualification by \n-000f5780: 666f 726d 206f 7665 7272 6964 696e 672e form overriding.\n-000f5790: 2054 6869 7320 6973 2062 6573 7420 696c This is best il\n-000f57a0: 6c75 7374 7261 7465 6420 6279 2061 6e20 lustrated by an \n-000f57b0: 6578 616d 706c 653a 3c2f 703e 0a3c 6469 example: whi\n-000f59a0: 6368 2067 656e 6572 6174 6573 2074 6865 ch generates the\n-000f59b0: 2066 6f6c 6c6f 7769 6e67 203c 656d 3e3c following <\n-000f59c0: 636f 6465 3e78 2e78 7364 3c2f 636f 6465 code>x.xsdschema: a\n-000f6430: 6e64 2074 6865 203c 656d 3e3c 636f 6465 nd the See also C and C\n-000f65f0: 2b2b 2058 4d4c 2064 6174 6120 6269 6e64 ++ XML data bind\n-000f6600: 696e 6773 3c2f 613e 2064 6f63 756d 656e ings documen\n-000f6610: 7461 7469 6f6e 2066 6f72 206d 6f72 6520 tation for more \n-000f6620: 6465 7461 696c 732e 3c2f 703e 0a3c 703e details. \n-000f6630: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n-000f6650: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n-000f6660: 703e 0a3c 6831 3e3c 6120 636c 6173 733d p>. wh\n+000f5550: 6963 6820 6176 6f69 6473 2074 6865 206e ich avoids the n\n+000f5560: 616d 6520 636c 6173 682e 2048 6f77 6576 ame clash. Howev\n+000f5570: 6572 2c20 7468 6520 7265 7375 6c74 696e er, the resultin\n+000f5580: 6720 7363 6865 6d61 2069 7320 6469 6666 g schema is diff\n+000f5590: 6572 656e 7420 7369 6e63 6520 7468 6520 erent since the \n+000f55a0: 6c61 7374 2065 7861 6d70 6c65 2067 656e last example gen\n+000f55b0: 6572 6174 6573 2061 2067 6c6f 6261 6c20 erates a global \n+000f55c0: 3c63 6f64 653e 6e61 6d65 3c2f 636f 6465 More specif\n+000f5620: 6963 616c 6c79 2c20 7468 6520 6469 6666 ically, the diff\n+000f5630: 6572 656e 6365 2062 6574 7765 656e 2074 erence between t\n+000f5640: 6865 206e 616d 6573 7061 6365 2070 7265 he namespace pre\n+000f5650: 6669 7820 636f 6e76 656e 7469 6f6e 2077 fix convention w\n+000f5660: 6974 6820 646f 7562 6c65 2075 6e64 6572 ith double under\n+000f5670: 7363 6f72 6573 2061 6e64 2063 6f6c 6f6e scores and colon\n+000f5680: 206e 6f74 6174 696f 6e20 6973 2074 6861 notation is tha\n+000f5690: 7420 7468 6520 6e61 6d65 7370 6163 6520 t the namespace \n+000f56a0: 7072 6566 6978 2063 6f6e 7665 6e74 696f prefix conventio\n+000f56b0: 6e20 6765 6e65 7261 7465 7320 7363 6865 n generates sche\n+000f56c0: 6d61 2065 6c65 6d65 6e74 2f61 7474 7269 ma element/attri\n+000f56d0: 6275 7465 2072 6566 6572 656e 6365 7320 bute references \n+000f56e0: 746f 2065 6c65 6d65 6e74 732f 6174 7472 to elements/attr\n+000f56f0: 6962 7574 6573 2061 7420 7468 6520 746f ibutes at the to\n+000f5700: 7020 6c65 7665 6c2c 2077 6869 6c65 2074 p level, while t\n+000f5710: 6865 2063 6f6c 6f6e 206e 6f74 6174 696f he colon notatio\n+000f5720: 6e20 6f6e 6c79 2061 6666 6563 7473 2074 n only affects t\n+000f5730: 6865 206c 6f63 616c 2065 6c65 6d65 6e74 he local element\n+000f5740: 2f61 7474 7269 6275 7465 206e 616d 6573 /attribute names\n+000f5750: 7061 6365 2071 7561 6c69 6669 6361 7469 pace qualificati\n+000f5760: 6f6e 2062 7920 666f 726d 206f 7665 7272 on by form overr\n+000f5770: 6964 696e 672e 2054 6869 7320 6973 2062 iding. This is b\n+000f5780: 6573 7420 696c 6c75 7374 7261 7465 6420 est illustrated \n+000f5790: 6279 2061 6e20 6578 616d 706c 653a 3c2f by an example:\n+000f57a0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. which generat\n+000f5990: 6573 2074 6865 2066 6f6c 6c6f 7769 6e67 es the following\n+000f59a0: 203c 656d 3e3c 636f 6465 3e78 2e78 7364 and the See al\n+000f65a0: 736f 203c 6120 6872 6566 3d22 2e2e 2f2e so C\n+000f65d0: 2061 6e64 2043 2b2b 2058 4d4c 2064 6174 and C++ XML dat\n+000f65e0: 6120 6269 6e64 696e 6773 3c2f 613e 2064 a bindings d\n+000f65f0: 6f63 756d 656e 7461 7469 6f6e 2066 6f72 ocumentation for\n+000f6600: 206d 6f72 6520 6465 7461 696c 732e 3c2f more details.\n+000f6610: 703e 0a3c 703e f09f 949d 203c 6120 6872 p>. A namesp\n+000f66b0: 6163 6520 6d61 7070 696e 6720 7461 626c ace mapping tabl\n+000f66c0: 6520 7368 6f75 6c64 2062 6520 696e 636c e should be incl\n+000f66d0: 7564 6564 2069 6e20 7468 6520 736f 7572 uded in the sour\n+000f66e0: 6365 2063 6f64 6520 6f66 2063 6c69 656e ce code of clien\n+000f66f0: 7420 616e 6420 7365 7276 6963 6520 6170 t and service ap\n+000f6700: 706c 6963 6174 696f 6e73 2e20 5468 6520 plications. The \n+000f6710: 6d61 7070 696e 6720 7461 626c 6520 6973 mapping table is\n+000f6720: 2075 7365 6420 6279 2074 6865 2073 6572 used by the ser\n+000f6730: 6961 6c69 7a65 7273 2061 6e64 2064 6573 ializers and des\n+000f6740: 6572 6961 6c69 7a65 7273 206f 6620 7468 erializers of th\n+000f6750: 6520 7374 7562 2061 6e64 2073 6b65 6c65 e stub and skele\n+000f6760: 746f 6e20 6675 6e63 7469 6f6e 7320 746f ton functions to\n+000f6770: 2070 726f 6475 6365 2076 616c 6964 2058 produce valid X\n+000f6780: 4d4c 206d 6573 7361 6765 7320 616e 6420 ML messages and \n+000f6790: 746f 2070 6172 7365 2061 6e64 2076 616c to parse and val\n+000f67a0: 6964 6174 6520 584d 4c20 6d65 7373 6167 idate XML messag\n+000f67b0: 6573 2e20 4120 7479 7069 6361 6c20 6d61 es. A typical ma\n+000f67c0: 7070 696e 6720 7461 626c 6520 6973 2073 pping table is s\n+000f67d0: 686f 776e 2062 656c 6f77 3a3c 2f70 3e0a hown below: E\n-000f6e90: 6163 6820 6e61 6d65 7370 6163 6520 7072 ach namespace pr\n-000f6ea0: 6566 6978 2075 7365 6420 6279 2061 2069 efix used by a i\n-000f6eb0: 6465 6e74 6966 6965 7220 6e61 6d65 2069 dentifier name i\n-000f6ec0: 6e20 7468 6520 6865 6164 6572 2066 696c n the header fil\n-000f6ed0: 6520 7370 6563 6966 6963 6174 696f 6e2c e specification,\n-000f6ee0: 2073 6565 2053 6563 7469 6f6e 203c 6120 see Section C/C++ ident\n-000f6f20: 6966 6965 7220 6e61 6d65 2074 6f20 584d ifier name to XM\n-000f6f30: 4c20 7461 6720 6e61 6d65 2074 7261 6e73 L tag name trans\n-000f6f40: 6c61 7469 6f6e 3c2f 613e 2c20 6d75 7374 lation, must\n-000f6f50: 2068 6176 6520 6120 6269 6e64 696e 6720 have a binding \n-000f6f60: 746f 2061 206e 616d 6573 7061 6365 2055 to a namespace U\n-000f6f70: 5249 2069 6e20 7468 6520 6d61 7070 696e RI in the mappin\n-000f6f80: 6720 7461 626c 652e 2054 6865 2065 6e64 g table. The end\n-000f6f90: 206f 6620 7468 6520 6e61 6d65 7370 6163 of the namespac\n-000f6fa0: 6520 6d61 7070 696e 6720 7461 626c 6520 e mapping table \n-000f6fb0: 6d75 7374 2062 6520 696e 6469 6361 7465 must be indicate\n-000f6fc0: 6420 6279 2074 6865 204e 554c 4c20 7061 d by the NULL pa\n-000f6fd0: 6972 2e20 5468 6520 6e61 6d65 7370 6163 ir. The namespac\n-000f6fe0: 6520 5552 4920 6d61 7463 6869 6e67 2069 e URI matching i\n-000f6ff0: 7320 6361 7365 2069 6e73 656e 7369 7469 s case insensiti\n-000f7000: 7665 2e20 4120 6e61 6d65 7370 6163 6520 ve. A namespace \n-000f7010: 7072 6566 6978 2069 7320 6469 7374 696e prefix is distin\n-000f7020: 6775 6973 6865 6420 6279 2074 6865 206f guished by the o\n-000f7030: 6363 7572 7265 6e63 6520 6f66 2061 2070 ccurrence of a p\n-000f7040: 6169 7220 6f66 2075 6e64 6572 7363 6f72 air of underscor\n-000f7050: 6573 2028 3c63 6f64 653e 5f5f 3c2f 636f es ( An optional \n-000f7110: 7468 6972 6420 636f 6c75 6d6e 2069 6e20 third column in \n-000f7120: 7468 6520 6e61 6d65 7370 6163 6520 6d61 the namespace ma\n-000f7130: 7070 696e 6720 7461 626c 6520 6d61 7920 pping table may \n-000f7140: 6265 2073 7065 6369 6669 6564 2074 6861 be specified tha\n-000f7150: 7420 636f 6e74 6169 6e73 2061 206e 616d t contains a nam\n-000f7160: 6573 7061 6365 2055 5249 2070 6174 7465 espace URI patte\n-000f7170: 726e 2e20 5468 6520 7061 7474 6572 6e73 rn. The patterns\n-000f7180: 2070 726f 7669 6465 2061 6e20 616c 7465 provide an alte\n-000f7190: 726e 6174 6976 6520 6e61 6d65 7370 6163 rnative namespac\n-000f71a0: 6520 666f 7220 7468 6520 7661 6c69 6461 e for the valida\n-000f71b0: 7469 6f6e 206f 6620 7061 7273 6564 2058 tion of parsed X\n-000f71c0: 4d4c 206d 6573 7361 6765 732e 2049 6e20 ML messages. In \n-000f71d0: 7468 6973 2070 6174 7465 726e 2c20 6461 this pattern, da\n-000f71e0: 7368 6573 2028 3c63 6f64 653e 2d3c 2f63 shes ( Or al\n-000f7940: 7465 726e 6174 6976 656c 792c 2061 7374 ternatively, ast\n-000f7950: 6572 6973 6b73 2063 616e 2062 6520 7573 erisks can be us\n-000f7960: 6564 2061 7320 7769 6c64 6361 7264 7320 ed as wildcards \n-000f7970: 666f 7220 6d75 6c74 6970 6c65 2063 6861 for multiple cha\n-000f7980: 7261 6374 6572 733a 3c2f 703e 0a3c 6469 racters: Or alternativel\n+000f7930: 792c 2061 7374 6572 6973 6b73 2063 616e y, asterisks can\n+000f7940: 2062 6520 7573 6564 2061 7320 7769 6c64 be used as wild\n+000f7950: 6361 7264 7320 666f 7220 6d75 6c74 6970 cards for multip\n+000f7960: 6c65 2063 6861 7261 6374 6572 733a 3c2f le characters:\n+000f7970: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. A names\n-000f7fc0: 7061 6365 206d 6170 7069 6e67 2074 6162 pace mapping tab\n-000f7fd0: 6c65 2069 7320 6175 746f 6d61 7469 6361 le is automatica\n-000f7fe0: 6c6c 7920 6765 6e65 7261 7465 6420 7769 lly generated wi\n-000f7ff0: 7468 2070 7265 6669 7865 7320 616e 6420 th prefixes and \n-000f8000: 5552 4973 2069 6e20 7468 6520 7461 626c URIs in the tabl\n-000f8010: 6520 7468 6174 2061 7265 2064 6563 6c61 e that are decla\n-000f8020: 7265 6420 7769 7468 203c 636f 6465 3e2f red with When parsi\n-000f8220: 6e67 2058 4d4c 2061 6e64 2064 6573 6572 ng XML and deser\n-000f8230: 6961 6c69 7a69 6e67 2064 6174 612c 206e ializing data, n\n-000f8240: 616d 6573 7061 6365 2055 5249 7320 696e amespace URIs in\n-000f8250: 2074 6865 2058 4d4c 206d 6573 7361 6765 the XML message\n-000f8260: 7320 6172 6520 6d61 7463 6865 6420 6167 s are matched ag\n-000f8270: 6169 6e73 7420 7468 6520 7365 636f 6e64 ainst the second\n-000f8280: 2061 6e64 2074 6869 7264 2063 6f6c 756d and third colum\n-000f8290: 6e20 6f66 2074 6865 206e 616d 6573 7061 n of the namespa\n-000f82a0: 6365 206d 6170 7069 6e67 2074 6162 6c65 ce mapping table\n-000f82b0: 2c20 7365 6172 6368 696e 6720 6672 6f6d , searching from\n-000f82c0: 2074 6865 2074 6f70 2074 6f20 7468 6520 the top to the \n-000f82d0: 626f 7474 6f6d 206f 6620 7468 6520 7461 bottom of the ta\n-000f82e0: 626c 652e 2054 6865 2061 6374 7561 6c20 ble. The actual \n-000f82f0: 7072 6566 6978 2075 7365 6420 696e 2074 prefix used in t\n-000f8300: 6865 2058 4d4c 206d 6573 7361 6765 2069 he XML message i\n-000f8310: 7320 6972 7265 6c65 7661 6e74 2061 7320 s irrelevant as \n-000f8320: 7468 6520 5552 4920 6173 736f 6369 6174 the URI associat\n-000f8330: 6564 2077 6974 6820 7468 6520 7072 6566 ed with the pref\n-000f8340: 6978 2069 7320 7265 6c65 7661 6e74 2074 ix is relevant t\n-000f8350: 6f20 6465 6669 6e65 2074 6865 2058 4d4c o define the XML\n-000f8360: 206e 616d 6573 7061 6365 2074 6f20 7768 namespace to wh\n-000f8370: 6963 6820 6120 7175 616c 6966 6965 6420 ich a qualified \n-000f8380: 656c 656d 656e 7420 6f72 2061 7474 7269 element or attri\n-000f8390: 6275 7465 2062 656c 6f6e 6773 2e20 5768 bute belongs. Wh\n-000f83a0: 656e 2061 206d 6174 6368 2069 7320 666f en a match is fo\n-000f83b0: 756e 642c 2074 6865 206e 616d 6573 7061 und, the namespa\n-000f83c0: 6365 2070 7265 6669 7820 696e 2074 6865 ce prefix in the\n-000f83d0: 2066 6972 7374 2063 6f6c 756d 6e20 6f66 first column of\n-000f83e0: 2074 6865 2074 6162 6c65 2069 7320 636f the table is co\n-000f83f0: 6e73 6964 6572 6564 2073 656d 616e 7469 nsidered semanti\n-000f8400: 6361 6c6c 7920 6964 656e 7469 6361 6c20 cally identical \n-000f8410: 746f 2074 6865 206e 616d 6573 7061 6365 to the namespace\n-000f8420: 2070 7265 6669 7820 7573 6564 2062 7920 prefix used by \n-000f8430: 7468 6520 7175 616c 6966 6965 6420 584d the qualified XM\n-000f8440: 4c20 656c 656d 656e 7420 616e 6420 6174 L element and at\n-000f8450: 7472 6962 7574 6520 7061 7273 6564 2c20 tribute parsed, \n-000f8460: 6576 656e 2077 6865 6e20 7468 6520 7072 even when the pr\n-000f8470: 6566 6978 206e 616d 6573 2064 6966 6665 efix names diffe\n-000f8480: 722e 2054 6869 7320 6e6f 726d 616c 697a r. This normaliz\n-000f8490: 6174 696f 6e20 6f66 2070 7265 6669 7865 ation of prefixe\n-000f84a0: 7320 6973 2069 6e76 6973 6962 6c65 2074 s is invisible t\n-000f84b0: 6f20 7468 6520 7573 6572 206f 6620 6753 o the user of gS\n-000f84c0: 4f41 5020 616e 6420 6d61 6b65 7320 636f OAP and makes co\n-000f84d0: 6469 6e67 2077 6974 6820 584d 4c20 6561 ding with XML ea\n-000f84e0: 7369 6572 2e20 466f 7220 6578 616d 706c sier. For exampl\n-000f84f0: 652c 2077 6865 6e20 5853 4420 514e 616d e, when XSD QNam\n-000f8500: 6573 2061 7265 2070 6172 7365 6420 696e es are parsed in\n-000f8510: 746f 2073 7472 696e 6773 2075 7369 6e67 to strings using\n-000f8520: 2074 6865 2062 7569 6c74 2d69 6e20 736f the built-in so\n-000f8530: 6170 6370 7032 203c 636f 6465 3e5f 514e apcpp2 For examp\n-000f86b0: 6c65 2c20 6c65 7427 7320 7361 7920 7765 le, let's say we\n-000f86c0: 2068 6176 6520 7468 6520 666f 6c6c 6f77 have the follow\n-000f86d0: 696e 6720 7374 7275 6374 733a 3c2f 703e ing structs: The name\n-000f8800: 7370 6163 6520 6d61 7070 696e 6720 7461 space mapping ta\n-000f8810: 626c 6520 6765 6e65 7261 7465 6420 6279 ble generated by\n-000f8820: 2073 6f61 7063 7070 3220 6861 7320 7468 soapcpp2 has th\n-000f8830: 6520 666f 6c6c 6f77 696e 6720 656e 7472 e following entr\n-000f8840: 6965 733a 3c2f 703e 0a3c 6469 7620 636c ies: A\n+000f7fa0: 206e 616d 6573 7061 6365 206d 6170 7069 namespace mappi\n+000f7fb0: 6e67 2074 6162 6c65 2069 7320 6175 746f ng table is auto\n+000f7fc0: 6d61 7469 6361 6c6c 7920 6765 6e65 7261 matically genera\n+000f7fd0: 7465 6420 7769 7468 2070 7265 6669 7865 ted with prefixe\n+000f7fe0: 7320 616e 6420 5552 4973 2069 6e20 7468 s and URIs in th\n+000f7ff0: 6520 7461 626c 6520 7468 6174 2061 7265 e table that are\n+000f8000: 2064 6563 6c61 7265 6420 7769 7468 203c declared with <\n+000f8010: 636f 6465 3e2f 2f67 736f 6170 2026 6c74 code>//gsoap <\n+000f8020: 3b70 7265 6669 7826 6774 3b20 7363 6865 ;prefix> sche\n+000f8030: 6d61 206e 616d 6573 7061 6365 3a3c 2f63 ma namespace: directives \n+000f8050: 696e 2074 6865 2069 6e74 6572 6661 6365 in the interface\n+000f8060: 2068 6561 6465 7220 6669 6c65 2c20 7365 header file, se\n+000f8070: 6520 5365 6374 696f 6e20 3c61 2063 6c61 e Section Directives<\n+000f80b0: 2f61 3e2e 2049 6620 6469 7265 6374 6976 /a>. If directiv\n+000f80c0: 6573 2061 7265 206e 6f74 2070 726f 7669 es are not provi\n+000f80d0: 6465 6420 696e 2074 6865 2068 6561 6465 ded in the heade\n+000f80e0: 7220 6669 6c65 2074 6865 6e20 6465 6661 r file then defa\n+000f80f0: 756c 7420 5552 4973 206f 6620 7468 6520 ult URIs of the \n+000f8100: 666f 726d 203c 656d 3e3c 636f 6465 3e3c form When\n+000f8200: 2070 6172 7369 6e67 2058 4d4c 2061 6e64 parsing XML and\n+000f8210: 2064 6573 6572 6961 6c69 7a69 6e67 2064 deserializing d\n+000f8220: 6174 612c 206e 616d 6573 7061 6365 2055 ata, namespace U\n+000f8230: 5249 7320 696e 2074 6865 2058 4d4c 206d RIs in the XML m\n+000f8240: 6573 7361 6765 7320 6172 6520 6d61 7463 essages are matc\n+000f8250: 6865 6420 6167 6169 6e73 7420 7468 6520 hed against the \n+000f8260: 7365 636f 6e64 2061 6e64 2074 6869 7264 second and third\n+000f8270: 2063 6f6c 756d 6e20 6f66 2074 6865 206e column of the n\n+000f8280: 616d 6573 7061 6365 206d 6170 7069 6e67 amespace mapping\n+000f8290: 2074 6162 6c65 2c20 7365 6172 6368 696e table, searchin\n+000f82a0: 6720 6672 6f6d 2074 6865 2074 6f70 2074 g from the top t\n+000f82b0: 6f20 7468 6520 626f 7474 6f6d 206f 6620 o the bottom of \n+000f82c0: 7468 6520 7461 626c 652e 2054 6865 2061 the table. The a\n+000f82d0: 6374 7561 6c20 7072 6566 6978 2075 7365 ctual prefix use\n+000f82e0: 6420 696e 2074 6865 2058 4d4c 206d 6573 d in the XML mes\n+000f82f0: 7361 6765 2069 7320 6972 7265 6c65 7661 sage is irreleva\n+000f8300: 6e74 2061 7320 7468 6520 5552 4920 6173 nt as the URI as\n+000f8310: 736f 6369 6174 6564 2077 6974 6820 7468 sociated with th\n+000f8320: 6520 7072 6566 6978 2069 7320 7265 6c65 e prefix is rele\n+000f8330: 7661 6e74 2074 6f20 6465 6669 6e65 2074 vant to define t\n+000f8340: 6865 2058 4d4c 206e 616d 6573 7061 6365 he XML namespace\n+000f8350: 2074 6f20 7768 6963 6820 6120 7175 616c to which a qual\n+000f8360: 6966 6965 6420 656c 656d 656e 7420 6f72 ified element or\n+000f8370: 2061 7474 7269 6275 7465 2062 656c 6f6e attribute belon\n+000f8380: 6773 2e20 5768 656e 2061 206d 6174 6368 gs. When a match\n+000f8390: 2069 7320 666f 756e 642c 2074 6865 206e is found, the n\n+000f83a0: 616d 6573 7061 6365 2070 7265 6669 7820 amespace prefix \n+000f83b0: 696e 2074 6865 2066 6972 7374 2063 6f6c in the first col\n+000f83c0: 756d 6e20 6f66 2074 6865 2074 6162 6c65 umn of the table\n+000f83d0: 2069 7320 636f 6e73 6964 6572 6564 2073 is considered s\n+000f83e0: 656d 616e 7469 6361 6c6c 7920 6964 656e emantically iden\n+000f83f0: 7469 6361 6c20 746f 2074 6865 206e 616d tical to the nam\n+000f8400: 6573 7061 6365 2070 7265 6669 7820 7573 espace prefix us\n+000f8410: 6564 2062 7920 7468 6520 7175 616c 6966 ed by the qualif\n+000f8420: 6965 6420 584d 4c20 656c 656d 656e 7420 ied XML element \n+000f8430: 616e 6420 6174 7472 6962 7574 6520 7061 and attribute pa\n+000f8440: 7273 6564 2c20 6576 656e 2077 6865 6e20 rsed, even when \n+000f8450: 7468 6520 7072 6566 6978 206e 616d 6573 the prefix names\n+000f8460: 2064 6966 6665 722e 2054 6869 7320 6e6f differ. This no\n+000f8470: 726d 616c 697a 6174 696f 6e20 6f66 2070 rmalization of p\n+000f8480: 7265 6669 7865 7320 6973 2069 6e76 6973 refixes is invis\n+000f8490: 6962 6c65 2074 6f20 7468 6520 7573 6572 ible to the user\n+000f84a0: 206f 6620 6753 4f41 5020 616e 6420 6d61 of gSOAP and ma\n+000f84b0: 6b65 7320 636f 6469 6e67 2077 6974 6820 kes coding with \n+000f84c0: 584d 4c20 6561 7369 6572 2e20 466f 7220 XML easier. For \n+000f84d0: 6578 616d 706c 652c 2077 6865 6e20 5853 example, when XS\n+000f84e0: 4420 514e 616d 6573 2061 7265 2070 6172 D QNames are par\n+000f84f0: 7365 6420 696e 746f 2073 7472 696e 6773 sed into strings\n+000f8500: 2075 7369 6e67 2074 6865 2062 7569 6c74 using the built\n+000f8510: 2d69 6e20 736f 6170 6370 7032 203c 636f -in soapcpp2 For\n+000f8690: 2065 7861 6d70 6c65 2c20 6c65 7427 7320 example, let's \n+000f86a0: 7361 7920 7765 2068 6176 6520 7468 6520 say we have the \n+000f86b0: 666f 6c6c 6f77 696e 6720 7374 7275 6374 following struct\n+000f86c0: 733a 3c2f 703e 0a3c 6469 7620 636c 6173 s: Th\n+000f87e0: 6520 6e61 6d65 7370 6163 6520 6d61 7070 e namespace mapp\n+000f87f0: 696e 6720 7461 626c 6520 6765 6e65 7261 ing table genera\n+000f8800: 7465 6420 6279 2073 6f61 7063 7070 3220 ted by soapcpp2 \n+000f8810: 6861 7320 7468 6520 666f 6c6c 6f77 696e has the followin\n+000f8820: 6720 656e 7472 6965 733a 3c2f 703e 0a3c g entries: Then, the fol\n-000f8cc0: 6c6f 7769 6e67 2058 4d4c 2065 6c65 6d65 lowing XML eleme\n-000f8cd0: 6e74 7320 7769 6c6c 206d 6174 6368 2074 nts will match t\n-000f8ce0: 6865 7365 2073 7472 7563 7473 3a3c 2f70 hese structs: Likewise\n-000f9850: 2c20 6f6e 2074 6865 2073 6572 7665 7220 , on the server \n-000f9860: 7369 6465 2063 616c 6c20 3c63 6f64 653e side call The XML mess\n-000f9a40: 6167 6573 2070 726f 6475 6365 6420 6279 ages produced by\n-000f9a50: 2074 6865 2067 534f 4150 2065 6e67 696e the gSOAP engin\n-000f9a60: 6520 696e 636c 7564 6520 616c 6c20 3c65 e include all .... <\n-000f9de0: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n-000f9df0: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n-000f9e00: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6831 ents A built-in SO\n-000f9e60: 4150 2048 6561 6465 7220 6461 7461 2073 AP Header data s\n-000f9e70: 7472 7563 7475 7265 203c 636f 6465 3e3c tructure You can c\n-000f9fe0: 7265 6174 6520 796f 7572 206f 776e 2053 reate your own S\n-000f9ff0: 4f41 5020 4865 6164 6572 2073 7472 7563 OAP Header struc\n-000fa000: 7420 7369 6d70 6c79 2062 7920 6465 636c t simply by decl\n-000fa010: 6172 696e 6720 6974 2069 6e20 616e 2069 aring it in an i\n-000fa020: 6e74 6572 6661 6365 2068 6561 6465 7220 nterface header \n-000fa030: 6669 6c65 2066 6f72 2073 6f61 7063 7070 file for soapcpp\n-000fa040: 3220 616e 6420 6279 2061 6464 696e 6720 2 and by adding \n-000fa050: 6d65 6d62 6572 7320 7468 6174 206d 7573 members that mus\n-000fa060: 7420 6265 2071 7561 6c69 6669 6564 2077 t be qualified w\n-000fa070: 6974 6820 6e61 6d65 7370 6163 6520 7072 ith namespace pr\n-000fa080: 6566 6978 6573 2074 6f20 636f 6e66 6f72 efixes to confor\n-000fa090: 6d20 746f 2074 6865 2053 4f41 5020 4865 m to the SOAP He\n-000fa0a0: 6164 6572 2070 726f 6365 7373 696e 6720 ader processing \n-000fa0b0: 7265 7175 6972 656d 656e 7473 2074 6861 requirements tha\n-000fa0c0: 7420 534f 4150 2048 6561 6465 7220 656c t SOAP Header el\n-000fa0d0: 656d 656e 7473 206d 7573 7420 6265 206e ements must be n\n-000fa0e0: 616d 6573 7061 6365 2071 7561 6c69 6669 amespace qualifi\n-000fa0f0: 6564 2e3c 2f70 3e0a 3c70 3e46 6f72 2065 ed. For e\n-000fa100: 7861 6d70 6c65 2c20 6173 7375 6d65 2074 xample, assume t\n-000fa110: 6861 7420 7472 616e 7361 6374 696f 6e20 hat transaction \n-000fa120: 6461 7461 2073 686f 756c 6420 6265 2070 data should be p\n-000fa130: 6967 6779 2d62 6163 6b65 6420 7769 7468 iggy-backed with\n-000fa140: 2053 4f41 5020 6d65 7373 6167 6573 2069 SOAP messages i\n-000fa150: 6e20 534f 4150 2048 6561 6465 723a 3c2f n SOAP Header:\n-000fa160: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. Then, t\n+000f8ca0: 6865 2066 6f6c 6c6f 7769 6e67 2058 4d4c he following XML\n+000f8cb0: 2065 6c65 6d65 6e74 7320 7769 6c6c 206d elements will m\n+000f8cc0: 6174 6368 2074 6865 7365 2073 7472 7563 atch these struc\n+000f8cd0: 7473 3a3c 2f70 3e0a 3c64 6976 2063 6c61 ts: Instead of one \n+000f9010: 6269 6720 6e61 6d65 7370 6163 6520 7461 big namespace ta\n+000f9020: 626c 6520 7468 6174 2063 6f6e 7461 696e ble that contain\n+000f9030: 7320 616c 6c20 584d 4c20 6e61 6d65 7370 s all XML namesp\n+000f9040: 6163 6520 7072 6566 6978 6573 2077 6974 ace prefixes wit\n+000f9050: 6820 7468 6569 7220 5552 4973 2c20 7468 h their URIs, th\n+000f9060: 6572 6520 6172 6520 6361 7365 7320 7768 ere are cases wh\n+000f9070: 656e 2069 7420 6973 2064 6573 6972 6162 en it is desirab\n+000f9080: 6c65 2074 6f20 7573 6520 6d75 6c74 6970 le to use multip\n+000f9090: 6c65 206e 616d 6573 7061 6365 2074 6162 le namespace tab\n+000f90a0: 6c65 732c 206f 6e65 2066 6f72 2065 6163 les, one for eac\n+000f90b0: 6820 7365 7276 6963 652e 2054 6869 7320 h service. This \n+000f90c0: 6176 6f69 6473 206c 6561 6b69 6e67 206e avoids leaking n\n+000f90d0: 616d 6573 7061 6365 2070 7265 6669 7865 amespace prefixe\n+000f90e0: 7320 696e 2058 4d4c 206d 6573 7361 6765 s in XML message\n+000f90f0: 7320 7468 6174 2068 6176 6520 6e6f 7468 s that have noth\n+000f9100: 696e 6720 746f 2064 6f20 7769 7468 2074 ing to do with t\n+000f9110: 6865 2073 6572 7669 6365 2069 6e76 6f6b he service invok\n+000f9120: 6564 2e20 496e 2070 7269 6e63 6970 6c65 ed. In principle\n+000f9130: 2074 6865 7265 2069 7320 6e6f 2068 6172 there is no har\n+000f9140: 6d20 746f 206c 6561 6b20 7468 6573 6520 m to leak these \n+000f9150: 6e61 6d65 7370 6163 6520 7072 6566 6978 namespace prefix\n+000f9160: 6573 2c20 6275 7420 7468 6520 6d65 7373 es, but the mess\n+000f9170: 6167 6573 2061 7265 206c 6573 7320 636f ages are less co\n+000f9180: 6d70 6163 7420 616e 6420 6e6f 7420 6173 mpact and not as\n+000f9190: 2063 6c65 616e 2e20 546f 2075 7365 206d clean. To use m\n+000f91a0: 756c 7469 706c 6520 6e61 6d65 7370 6163 ultiple namespac\n+000f91b0: 6520 7461 626c 6573 2061 7420 7468 6520 e tables at the \n+000f91c0: 636c 6965 6e74 2073 6964 6520 6973 2064 client side is d\n+000f91d0: 6f6e 6520 6173 2066 6f6c 6c6f 7773 3a3c one as follows:<\n+000f91e0: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. Li\n+000f9830: 6b65 7769 7365 2c20 6f6e 2074 6865 2073 kewise, on the s\n+000f9840: 6572 7665 7220 7369 6465 2063 616c 6c20 erver side call \n+000f9850: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 The XM\n+000f9a20: 4c20 6d65 7373 6167 6573 2070 726f 6475 L messages produ\n+000f9a30: 6365 6420 6279 2074 6865 2067 534f 4150 ced by the gSOAP\n+000f9a40: 2065 6e67 696e 6520 696e 636c 7564 6520 engine include \n+000f9a50: 616c 6c20 3c65 6d3e 3c63 6f64 653e 786d all \n+000f9dc0: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n+000f9de0: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n+000f9df0: 703e 0a3c 6831 3e3c 6120 636c 6173 733d p>. A built\n+000f9e40: 2d69 6e20 534f 4150 2048 6561 6465 7220 -in SOAP Header \n+000f9e50: 6461 7461 2073 7472 7563 7475 7265 203c data structure <\n+000f9e60: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>\n+000f9ec0: 534f 4150 5f45 4e56 5f5f 4865 6164 6572 SOAP_ENV__Header\n+000f9ed0: 3c2f 613e 3c2f 636f 6465 3e20 6973 2067 is g\n+000f9ee0: 656e 6572 6174 6564 2062 7920 7468 6520 enerated by the \n+000f9ef0: 736f 6170 6370 7032 2074 6f6f 6c20 666f soapcpp2 tool fo\n+000f9f00: 7220 6578 6368 616e 6769 6e67 2053 4f41 r exchanging SOA\n+000f9f10: 5020 6865 6164 6572 7320 696e 2053 4f41 P headers in SOA\n+000f9f20: 5020 6d65 7373 6167 6573 2e20 5468 6973 P messages. This\n+000f9f30: 2073 7472 7563 7475 7265 2069 7320 656d structure is em\n+000f9f40: 7074 7920 756e 6c65 7373 2068 6561 6465 pty unless heade\n+000f9f50: 7273 2061 7265 2061 6464 6564 2062 7920 rs are added by \n+000f9f60: 706c 7567 696e 7320 616e 6420 6865 6164 plugins and head\n+000f9f70: 6572 7320 7370 6563 6966 6965 6420 6279 ers specified by\n+000f9f80: 2057 5344 4c20 7370 6563 6966 6963 6174 WSDL specificat\n+000f9f90: 696f 6e73 2028 692e 652e 2077 7364 6c32 ions (i.e. wsdl2\n+000f9fa0: 6820 6164 6473 2053 4f41 5020 4865 6164 h adds SOAP Head\n+000f9fb0: 6572 7329 2e3c 2f70 3e0a 3c70 3e59 6f75 ers). You\n+000f9fc0: 2063 616e 2063 7265 6174 6520 796f 7572 can create your\n+000f9fd0: 206f 776e 2053 4f41 5020 4865 6164 6572 own SOAP Header\n+000f9fe0: 2073 7472 7563 7420 7369 6d70 6c79 2062 struct simply b\n+000f9ff0: 7920 6465 636c 6172 696e 6720 6974 2069 y declaring it i\n+000fa000: 6e20 616e 2069 6e74 6572 6661 6365 2068 n an interface h\n+000fa010: 6561 6465 7220 6669 6c65 2066 6f72 2073 eader file for s\n+000fa020: 6f61 7063 7070 3220 616e 6420 6279 2061 oapcpp2 and by a\n+000fa030: 6464 696e 6720 6d65 6d62 6572 7320 7468 dding members th\n+000fa040: 6174 206d 7573 7420 6265 2071 7561 6c69 at must be quali\n+000fa050: 6669 6564 2077 6974 6820 6e61 6d65 7370 fied with namesp\n+000fa060: 6163 6520 7072 6566 6978 6573 2074 6f20 ace prefixes to \n+000fa070: 636f 6e66 6f72 6d20 746f 2074 6865 2053 conform to the S\n+000fa080: 4f41 5020 4865 6164 6572 2070 726f 6365 OAP Header proce\n+000fa090: 7373 696e 6720 7265 7175 6972 656d 656e ssing requiremen\n+000fa0a0: 7473 2074 6861 7420 534f 4150 2048 6561 ts that SOAP Hea\n+000fa0b0: 6465 7220 656c 656d 656e 7473 206d 7573 der elements mus\n+000fa0c0: 7420 6265 206e 616d 6573 7061 6365 2071 t be namespace q\n+000fa0d0: 7561 6c69 6669 6564 2e3c 2f70 3e0a 3c70 ualified. For example, as\n+000fa0f0: 7375 6d65 2074 6861 7420 7472 616e 7361 sume that transa\n+000fa100: 6374 696f 6e20 6461 7461 2073 686f 756c ction data shoul\n+000fa110: 6420 6265 2070 6967 6779 2d62 6163 6b65 d be piggy-backe\n+000fa120: 6420 7769 7468 2053 4f41 5020 6d65 7373 d with SOAP mess\n+000fa130: 6167 6573 2069 6e20 534f 4150 2048 6561 ages in SOAP Hea\n+000fa140: 6465 723a 3c2f 703e 0a3c 6469 7620 636c der: T\n-000fa4d0: 6865 203c 636f 6465 3e6d 7573 7455 6e64 he To set up a\n-000fb140: 2053 4f41 5020 4865 6164 6572 2061 7420 SOAP Header at \n-000fb150: 7468 6520 636c 6965 6e74 2073 6964 6520 the client side \n-000fb160: 7468 6174 2063 6f6e 7461 696e 7320 7468 that contains th\n-000fb170: 6520 3c63 6f64 653e 745f 5f74 7261 6e73 e At the \n-000fc060: 7265 6365 6976 696e 6720 7369 6465 2c20 receiving side, \n-000fc070: 6120 534f 4150 2048 6561 6465 7220 6361 a SOAP Header ca\n-000fc080: 6e20 6265 2069 6e73 7065 6374 6564 2062 n be inspected b\n-000fc090: 7920 6368 6563 6b69 6e67 2066 6f72 2061 y checking for a\n-000fc0a0: 206e 6f6e 2d4e 554c 4c20 3c63 6f64 653e non-NULL At the cl\n-000fc4c0: 6965 6e74 2073 6964 652c 2074 6865 203c ient side, the <\n-000fc4d0: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>soa\n-000fc590: 703a 3a61 6374 6f72 3c2f 613e 3c2f 636f p::actor string varia\n-000fc5b0: 626c 6520 6361 6e20 6265 2073 6574 2074 ble can be set t\n-000fc5c0: 6f20 7365 7420 7468 6520 534f 4150 203c o set the SOAP <\n-000fc5d0: 656d 3e3c 636f 6465 3e53 4f41 502d 454e em> Th\n-000fc760: 6520 534f 4150 2048 6561 6465 7220 7374 e SOAP Header st\n-000fc770: 7275 6374 7572 6520 3c63 6f64 653e 3c61 ructure For another e\n-000fc8c0: 7861 6d70 6c65 2c20 636f 6e73 6964 6572 xample, consider\n-000fc8d0: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 : Sup\n-000fca80: 706f 7365 206d 6574 686f 6420 3c63 6f64 pose method Suppose m\n-000fcc50: 6574 686f 6420 3c63 6f64 653e 6e73 5f5f ethod No\n-000fcda0: 7465 2074 6861 7420 7468 6520 6d65 7468 te that the meth\n-000fcdb0: 6f64 206e 616d 6520 616e 6420 6865 6164 od name and head\n-000fcdc0: 6572 2070 6172 7420 6e61 6d65 7320 6d75 er part names mu\n-000fcdd0: 7374 2062 6520 6e61 6d65 7370 6163 6520 st be namespace \n-000fcde0: 7175 616c 6966 6965 642e 2054 6865 2068 qualified. The h\n-000fcdf0: 6561 6465 7273 206d 7573 7420 6265 2070 eaders must be p\n-000fce00: 7265 7365 6e74 2069 6e20 616c 6c20 6f70 resent in all op\n-000fce10: 6572 6174 696f 6e73 2074 6861 7420 6465 erations that de\n-000fce20: 636c 6172 6564 2074 6865 2068 6561 6465 clared the heade\n-000fce30: 7220 7061 7274 732e 3c2f 703e 0a3c 703e r parts. \n-000fce40: 546f 2073 7065 6369 6679 2074 6865 2068 To specify the h\n-000fce50: 6561 6465 7220 7061 7274 7320 666f 7220 eader parts for \n-000fce60: 7468 6520 6d65 7468 6f64 2069 6e70 7574 the method input\n-000fce70: 2028 6d65 7468 6f64 2072 6571 7565 7374 (method request\n-000fce80: 206d 6573 7361 6765 292c 2075 7365 3a3c message), use:<\n-000fce90: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. Simi\n-000fcf50: 6c61 726c 792c 2074 6f20 7370 6563 6966 larly, to specif\n-000fcf60: 7920 7468 6520 6865 6164 6572 2070 6172 y the header par\n-000fcf70: 7473 2066 6f72 2074 6865 206d 6574 686f ts for the metho\n-000fcf80: 6420 6f75 7470 7574 2028 6d65 7468 6f64 d output (method\n-000fcf90: 2072 6573 706f 6e73 6520 6d65 7373 6167 response messag\n-000fcfa0: 6529 2c20 7573 653a 3c2f 703e 0a3c 6469 e), use: The declar\n-000fd070: 6174 696f 6e73 206f 6e6c 7920 6166 6665 ations only affe\n-000fd080: 6374 2074 6865 2057 5344 4c2e 2046 6f72 ct the WSDL. For\n-000fd090: 2065 7861 6d70 6c65 3a3c 2f70 3e0a 3c64 example: Likewise\n+000fb000: 2c20 796f 7520 6361 6e20 7370 6563 6966 , you can specif\n+000fb010: 7920 7468 6174 2062 6f74 6820 696e 7075 y that both inpu\n+000fb020: 7420 616e 6420 6f75 7470 7574 206d 6573 t and output mes\n+000fb030: 7361 6765 7320 6861 7665 2074 6865 2073 sages have the s\n+000fb040: 616d 6520 6865 6164 6572 2077 6974 6820 ame header with \n+000fb050: 3c63 6f64 653e 2f2f 6773 6f61 7020 6e73 To se\n+000fb120: 7420 7570 2061 2053 4f41 5020 4865 6164 t up a SOAP Head\n+000fb130: 6572 2061 7420 7468 6520 636c 6965 6e74 er at the client\n+000fb140: 2073 6964 6520 7468 6174 2063 6f6e 7461 side that conta\n+000fb150: 696e 7320 7468 6520 3c63 6f64 653e 745f ins the The SOAP\n+000fba80: 2057 6562 2073 6572 7669 6365 2072 6571 Web service req\n+000fba90: 7565 7374 2069 6e63 6c75 6465 7320 7468 uest includes th\n+000fbaa0: 6520 534f 4150 2048 6561 6465 7220 7769 e SOAP Header wi\n+000fbab0: 7468 2074 6865 2074 7261 6e73 6163 7469 th the transacti\n+000fbac0: 6f6e 2064 6174 613a 3c2f 703e 0a3c 6469 on data: A\n+000fc040: 7420 7468 6520 7265 6365 6976 696e 6720 t the receiving \n+000fc050: 7369 6465 2c20 6120 534f 4150 2048 6561 side, a SOAP Hea\n+000fc060: 6465 7220 6361 6e20 6265 2069 6e73 7065 der can be inspe\n+000fc070: 6374 6564 2062 7920 6368 6563 6b69 6e67 cted by checking\n+000fc080: 2066 6f72 2061 206e 6f6e 2d4e 554c 4c20 for a non-NULL \n+000fc090: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 At \n+000fc4a0: 7468 6520 636c 6965 6e74 2073 6964 652c the client side,\n+000fc4b0: 2074 6865 203c 636f 6465 3e3c 6120 636c the For ano\n+000fc8a0: 7468 6572 2065 7861 6d70 6c65 2c20 636f ther example, co\n+000fc8b0: 6e73 6964 6572 3a3c 2f70 3e0a 3c64 6976 nsider: Suppose metho\n+000fca70: 6420 3c63 6f64 653e 6e73 5f5f 6c6f 6769 d Sup\n+000fcc30: 706f 7365 206d 6574 686f 6420 3c63 6f64 pose method The \n+000fd050: 6465 636c 6172 6174 696f 6e73 206f 6e6c declarations onl\n+000fd060: 7920 6166 6665 6374 2074 6865 2057 5344 y affect the WSD\n+000fd070: 4c2e 2046 6f72 2065 7861 6d70 6c65 3a3c L. For example:<\n+000fd080: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. T\n-000fd400: 6865 2068 6561 6465 7273 206d 7573 7420 he headers must \n-000fd410: 6265 2070 7265 7365 6e74 2069 6e20 616c be present in al\n-000fd420: 6c20 6f70 6572 6174 696f 6e73 2074 6861 l operations tha\n-000fd430: 7420 6465 636c 6172 6564 2074 6865 2068 t declared the h\n-000fd440: 6561 6465 7220 7061 7274 732e 3c2f 703e eader parts. See also API\n-000fd460: 2064 6f63 756d 656e 7461 7469 6f6e 204d documentation M\n-000fd470: 6f64 756c 6520 3c61 2063 6c61 7373 3d22 odule Header stru\n-000fd4b0: 6374 7572 6520 616e 6420 6675 6e63 7469 cture and functi\n-000fd4c0: 6f6e 733c 2f61 3e2e 3c2f 703e 0a3c 703e ons. \n-000fd4d0: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n-000fd4f0: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n-000fd500: 703e 0a3c 6831 3e3c 6120 636c 6173 733d p>. A built-i\n-000fd550: 6e20 534f 4150 2046 6175 6c74 2064 6174 n SOAP Fault dat\n-000fd560: 6120 7374 7275 6374 7572 6520 3c63 6f64 a structure The first fou\n-00100020: 7220 6d65 6d62 6572 7320 696e 203c 636f r members in \n-00100210: 5468 6520 3c63 6f64 653e 3c61 2063 6c61 The Whe\n-001004f0: 6e20 6120 7573 6572 2d64 6566 696e 6520 n a user-define \n-00100500: 7365 7276 6963 6520 6f70 6572 6174 696f service operatio\n-00100510: 6e20 6675 6e63 7469 6f6e 2072 6574 7572 n function retur\n-00100520: 6e73 2061 6e20 6572 726f 7220 7769 7468 ns an error with\n-00100530: 203c 636f 6465 3e3c 6120 636c 6173 733d Server-sid\n-00100870: 6520 6661 756c 7473 2061 7265 2072 6169 e faults are rai\n-00100880: 7365 6420 7769 7468 203c 636f 6465 3e3c sed with The fir\n+00100000: 7374 2066 6f75 7220 6d65 6d62 6572 7320 st four members \n+00100010: 696e 203c 636f 6465 3e3c 6120 636c 6173 in The When a user-d\n+001004e0: 6566 696e 6520 7365 7276 6963 6520 6f70 efine service op\n+001004f0: 6572 6174 696f 6e20 6675 6e63 7469 6f6e eration function\n+00100500: 2072 6574 7572 6e73 2061 6e20 6572 726f returns an erro\n+00100510: 7220 7769 7468 203c 636f 6465 3e3c 6120 r with Serv\n+00100850: 6572 2d73 6964 6520 6661 756c 7473 2061 er-side faults a\n+00100860: 7265 2072 6169 7365 6420 7769 7468 203c re raised with <\n+00100870: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>soap_sender_f\n+00100920: 6175 6c74 3c2f 613e 3c2f 636f 6465 3e20 ault \n+00100930: 6f72 203c 636f 6465 3e3c 6120 636c 6173 or \n-00100f80: 496e 2074 6865 2065 7861 6d70 6c65 2c20 In the example, \n-00100f90: 7468 6520 534f 4150 2046 6175 6c74 2064 the SOAP Fault d\n-00100fa0: 6574 6169 6c73 2077 6572 6520 656d 7074 etails were empt\n-00100fb0: 7920 284e 554c 4c29 2e20 596f 7520 6d61 y (NULL). You ma\n-00100fc0: 7920 7061 7373 2061 6e20 584d 4c20 6672 y pass an XML fr\n-00100fd0: 6167 6d65 6e74 2c20 7768 6963 6820 7769 agment, which wi\n-00100fe0: 6c6c 2062 6520 6c69 7465 7261 6c6c 7920 ll be literally \n-00100ff0: 696e 636c 7564 6564 2069 6e20 7468 6520 included in the \n-00101000: 534f 4150 2046 6175 6c74 206d 6573 7361 SOAP Fault messa\n-00101010: 6765 2e20 466f 7220 5753 2d49 2042 6173 ge. For WS-I Bas\n-00101020: 6963 2050 726f 6669 6c65 2063 6f6d 706c ic Profile compl\n-00101030: 6961 6e63 652c 2079 6f75 206d 7573 7420 iance, you must \n-00101040: 7061 7373 2061 6e20 584d 4c20 7374 7269 pass an XML stri\n-00101050: 6e67 2077 6974 6820 6f6e 6520 6f72 206d ng with one or m\n-00101060: 6f72 6520 6e61 6d65 7370 6163 6520 7175 ore namespace qu\n-00101070: 616c 6966 6965 6420 656c 656d 656e 7473 alified elements\n-00101080: 2c20 7375 6368 2061 733a 3c2f 703e 0a3c , such as: \n-001012b0: 5768 656e 2061 2073 6572 7669 6365 206f When a service o\n-001012c0: 7065 7261 7469 6f6e 206e 6565 6473 2074 peration needs t\n-001012d0: 6f20 706f 7075 6c61 7465 2053 4f41 5020 o populate SOAP \n-001012e0: 4661 756c 7420 6465 7461 696c 7320 7769 Fault details wi\n-001012f0: 7468 2061 2061 7070 6c69 6361 7469 6f6e th a application\n-00101300: 2d73 7065 6369 6669 6320 6461 7461 2c20 -specific data, \n-00101310: 6974 2064 6f65 7320 736f 2062 7920 6173 it does so by as\n-00101320: 7369 676e 696e 6720 7468 6520 3c63 6f64 signing the In the exa\n+00100f70: 6d70 6c65 2c20 7468 6520 534f 4150 2046 mple, the SOAP F\n+00100f80: 6175 6c74 2064 6574 6169 6c73 2077 6572 ault details wer\n+00100f90: 6520 656d 7074 7920 284e 554c 4c29 2e20 e empty (NULL). \n+00100fa0: 596f 7520 6d61 7920 7061 7373 2061 6e20 You may pass an \n+00100fb0: 584d 4c20 6672 6167 6d65 6e74 2c20 7768 XML fragment, wh\n+00100fc0: 6963 6820 7769 6c6c 2062 6520 6c69 7465 ich will be lite\n+00100fd0: 7261 6c6c 7920 696e 636c 7564 6564 2069 rally included i\n+00100fe0: 6e20 7468 6520 534f 4150 2046 6175 6c74 n the SOAP Fault\n+00100ff0: 206d 6573 7361 6765 2e20 466f 7220 5753 message. For WS\n+00101000: 2d49 2042 6173 6963 2050 726f 6669 6c65 -I Basic Profile\n+00101010: 2063 6f6d 706c 6961 6e63 652c 2079 6f75 compliance, you\n+00101020: 206d 7573 7420 7061 7373 2061 6e20 584d must pass an XM\n+00101030: 4c20 7374 7269 6e67 2077 6974 6820 6f6e L string with on\n+00101040: 6520 6f72 206d 6f72 6520 6e61 6d65 7370 e or more namesp\n+00101050: 6163 6520 7175 616c 6966 6965 6420 656c ace qualified el\n+00101060: 656d 656e 7473 2c20 7375 6368 2061 733a ements, such as:\n+00101070: 3c2f 703e 0a3c 6469 7620 636c 6173 733d When a ser\n+001012a0: 7669 6365 206f 7065 7261 7469 6f6e 206e vice operation n\n+001012b0: 6565 6473 2074 6f20 706f 7075 6c61 7465 eeds to populate\n+001012c0: 2053 4f41 5020 4661 756c 7420 6465 7461 SOAP Fault deta\n+001012d0: 696c 7320 7769 7468 2061 2061 7070 6c69 ils with a appli\n+001012e0: 6361 7469 6f6e 2d73 7065 6369 6669 6320 cation-specific \n+001012f0: 6461 7461 2c20 6974 2064 6f65 7320 736f data, it does so\n+00101300: 2062 7920 6173 7369 676e 696e 6720 7468 by assigning th\n+00101310: 6520 3c63 6f64 653e 3c61 2063 6c61 7373 e Note t\n-001028c0: 6861 7420 534f 4150 2031 2e32 2073 7570 hat SOAP 1.2 sup\n-001028d0: 706f 7274 7320 6e65 7374 6564 2066 6175 ports nested fau\n-001028e0: 6c74 2073 7562 2d63 6f64 6573 2e20 5468 lt sub-codes. Th\n-001028f0: 6573 6520 6361 6e20 6265 2073 6574 2061 ese can be set a\n-00102900: 7320 666f 6c6c 6f77 733a 3c2f 703e 0a3c s follows: This produces\n-00103210: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 : Service o\n-001039e0: 7065 7261 7469 6f6e 7320 696d 706c 656d perations implem\n-001039f0: 656e 7461 7469 6f6e 2069 6e20 6120 5765 entation in a We\n-00103a00: 6220 7365 7276 6963 6520 6170 706c 6963 b service applic\n-00103a10: 6174 696f 6e20 6361 6e20 7265 7475 726e ation can return\n-00103a20: 2076 6172 696f 7573 2053 4f41 5020 4661 various SOAP Fa\n-00103a30: 756c 7473 2063 7573 746f 6d69 7a65 6420 ults customized \n-00103a40: 696e 2074 6869 7320 7761 792e 3c2f 703e in this way. SOAP Fault s\n-00103a60: 7472 7563 7475 7265 7320 6172 6520 6465 tructures are de\n-00103a70: 636c 6172 6564 203c 636f 6465 3e6d 7574 clared For an \n-00103b30: 6578 616d 706c 6520 7468 6174 2075 7365 example that use\n-00103b40: 6420 7468 6520 534f 4150 2046 6175 6c74 d the SOAP Fault\n-00103b50: 2064 6574 6169 6c20 7374 7275 6374 7572 detail structur\n-00103b60: 653a 3c2f 703e 0a3c 6469 7620 636c 6173 e: Th\n-00106f60: 6520 3c63 6f64 653e 636c 6169 6d5f 5f66 e Here, \n+001028a0: 4e6f 7465 2074 6861 7420 534f 4150 2031 Note that SOAP 1\n+001028b0: 2e32 2073 7570 706f 7274 7320 6e65 7374 .2 supports nest\n+001028c0: 6564 2066 6175 6c74 2073 7562 2d63 6f64 ed fault sub-cod\n+001028d0: 6573 2e20 5468 6573 6520 6361 6e20 6265 es. These can be\n+001028e0: 2073 6574 2061 7320 666f 6c6c 6f77 733a set as follows:\n+001028f0: 3c2f 703e 0a3c 6469 7620 636c 6173 733d This pr\n+001031f0: 6f64 7563 6573 3a3c 2f70 3e0a 3c64 6976 oduces: Ser\n+001039c0: 7669 6365 206f 7065 7261 7469 6f6e 7320 vice operations \n+001039d0: 696d 706c 656d 656e 7461 7469 6f6e 2069 implementation i\n+001039e0: 6e20 6120 5765 6220 7365 7276 6963 6520 n a Web service \n+001039f0: 6170 706c 6963 6174 696f 6e20 6361 6e20 application can \n+00103a00: 7265 7475 726e 2076 6172 696f 7573 2053 return various S\n+00103a10: 4f41 5020 4661 756c 7473 2063 7573 746f OAP Faults custo\n+00103a20: 6d69 7a65 6420 696e 2074 6869 7320 7761 mized in this wa\n+00103a30: 792e 3c2f 703e 0a3c 703e 534f 4150 2046 y. SOAP F\n+00103a40: 6175 6c74 2073 7472 7563 7475 7265 7320 ault structures \n+00103a50: 6172 6520 6465 636c 6172 6564 203c 636f are declared F\n+00103b10: 6f72 2061 6e20 6578 616d 706c 6520 7468 or an example th\n+00103b20: 6174 2075 7365 6420 7468 6520 534f 4150 at used the SOAP\n+00103b30: 2046 6175 6c74 2064 6574 6169 6c20 7374 Fault detail st\n+00103b40: 7275 6374 7572 653a 3c2f 703e 0a3c 6469 ructure: See al\n+00104090: 736f 2041 5049 2064 6f63 756d 656e 7461 so API documenta\n+001040a0: 7469 6f6e 204d 6f64 756c 6520 3c61 2063 tion Module Fault \n+001040e0: 7374 7275 6374 7572 6520 616e 6420 6675 structure and fu\n+001040f0: 6e63 7469 6f6e 733c 2f61 3e2e 3c2f 703e nctions. The gSOAP t\n+00104180: 6f6f 6c6b 6974 2073 7570 706f 7274 7320 oolkit supports \n+00104190: 4d49 4d45 2061 7474 6163 686d 656e 7473 MIME attachments\n+001041a0: 2061 7320 7065 7220 534f 4150 2077 6974 as per SOAP wit\n+001041b0: 6820 4174 7461 6368 6d65 6e74 7320 2853 h Attachments (S\n+001041c0: 7741 2920 7370 6563 6966 6963 6174 696f wA) specificatio\n+001041d0: 6e20 3c61 2068 7265 663d 2268 7474 703a n http://www.w3.\n+00104210: 6f72 672f 5452 2f53 4f41 502d 6174 7461 org/TR/SOAP-atta\n+00104220: 6368 6d65 6e74 733c 2f61 3e2e 3c2f 703e chments. MTOM attachm\n+00104240: 656e 7473 2074 6861 7420 6172 6520 6573 ents that are es\n+00104250: 7365 6e74 6961 6c6c 7920 4d49 4d45 2061 sentially MIME a\n+00104260: 7474 6163 686d 656e 7473 2074 6861 7420 ttachments that \n+00104270: 636f 6e66 6f72 6d20 746f 2074 6865 204d conform to the M\n+00104280: 544f 4d20 7370 6563 6966 6963 6174 696f TOM specificatio\n+00104290: 6e20 3c61 2068 7265 663d 2268 7474 703a n htt\n+001042c0: 703a 2f2f 7777 772e 7733 2e6f 7267 2f54 p://www.w3.org/T\n+001042d0: 522f 736f 6170 3132 2d6d 746f 6d3c 2f61 R/soap12-mtom are also suppo\n+001042f0: 7274 6564 2077 6869 6368 2061 7265 2074 rted which are t\n+00104300: 6865 2070 7265 6665 7272 6564 2077 6179 he preferred way\n+00104310: 2074 6f20 696e 636c 7564 6520 4d49 4d45 to include MIME\n+00104320: 2061 7474 6163 686d 656e 7473 2077 6974 attachments wit\n+00104330: 6820 534f 4150 206d 6573 7361 6765 732c h SOAP messages,\n+00104340: 2073 6565 2053 6563 7469 6f6e 203c 6120 see Section MTOM attachmen\n+00104380: 7473 3c2f 613e 2e3c 2f70 3e0a 3c70 3e49 ts. I\n+00104390: 6e20 7468 6520 666f 6c6c 6f77 696e 6720 n the following \n+001043a0: 6469 7363 7573 7369 6f6e 2c20 4d49 4d45 discussion, MIME\n+001043b0: 2061 7474 6163 686d 656e 7420 6461 7461 attachment data\n+001043c0: 2069 7320 6173 7375 6d65 6420 746f 2062 is assumed to b\n+001043d0: 6520 7265 7369 6465 6e74 2069 6e20 6d65 e resident in me\n+001043e0: 6d6f 7279 2066 6f72 2073 656e 6469 6e67 mory for sending\n+001043f0: 206f 7065 7261 7469 6f6e 7320 616e 6420 operations and \n+00104400: 4d49 4d45 2061 7474 6163 686d 656e 7473 MIME attachments\n+00104410: 2072 6563 6569 7665 6420 7769 6c6c 2062 received will b\n+00104420: 6520 7374 6f72 6564 2069 6e20 6d65 6d6f e stored in memo\n+00104430: 7279 206d 616e 6167 6564 2062 7920 7468 ry managed by th\n+00104440: 6520 636f 6e74 6578 742e 204d 544f 4d20 e context. MTOM \n+00104450: 616e 6420 4449 4d45 2061 7474 6163 686d and DIME attachm\n+00104460: 656e 7473 206f 6e20 7468 6520 6f74 6865 ents on the othe\n+00104470: 7220 6861 6e64 2063 616e 2062 6520 7374 r hand can be st\n+00104480: 7265 616d 6564 2061 6e64 2074 6865 7265 reamed and there\n+00104490: 666f 7265 204d 544f 4d2f 4449 4d45 2061 fore MTOM/DIME a\n+001044a0: 7474 6163 686d 656e 7420 6461 7461 2064 ttachment data d\n+001044b0: 6f65 7320 6e6f 7420 6e65 6564 2074 6f20 oes not need to \n+001044c0: 6265 2073 746f 7265 6420 696e 206d 656d be stored in mem\n+001044d0: 6f72 792c 2073 6565 2053 6563 7469 6f6e ory, see Section\n+001044e0: 7320 3c61 2063 6c61 7373 3d22 656c 2220 s DIME atta\n+00104510: 6368 6d65 6e74 733c 2f61 3e20 616e 6420 chments and \n+00104520: 3c61 2063 6c61 7373 3d22 656c 2220 6872 MTOM attach\n+00104550: 6d65 6e74 733c 2f61 3e20 2e3c 2f70 3e0a ments . Transmitting \n+00104570: 6d75 6c74 6970 6172 742f 7265 6c61 7465 multipart/relate\n+00104580: 6420 4d49 4d45 2061 7474 6163 686d 656e d MIME attachmen\n+00104590: 7473 2077 6974 6820 6120 534f 4150 2f58 ts with a SOAP/X\n+001045a0: 4d4c 206d 6573 7361 6765 2069 7320 6163 ML message is ac\n+001045b0: 636f 6d70 6c69 7368 6564 2077 6974 6820 complished with \n+001045c0: 7477 6f20 6675 6e63 7469 6f6e 732c 203c two functions, <\n+001045d0: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>soap_set_m\n+00104650: 696d 653c 2f61 3e3c 2f63 6f64 653e 2061 ime a\n+00104660: 6e64 203c 636f 6465 3e3c 6120 636c 6173 nd See als\n+001047b0: 6f20 4150 4920 646f 6375 6d65 6e74 6174 o API documentat\n+001047c0: 696f 6e20 4d6f 6475 6c65 203c 6120 636c ion Module MIME att\n+00104800: 6163 686d 656e 7420 6675 6e63 7469 6f6e achment function\n+00104810: 733c 2f61 3e2e 3c2f 703e 0a3c 703e f09f s. ..\n+00104820: 949d 203c 6120 6872 6566 3d22 2322 3e42 .. B\n+00104830: 6163 6b20 746f 2074 6162 6c65 206f 6620 ack to table of \n+00104840: 636f 6e74 656e 7473 3c2f 613e 3c2f 703e contents The following\n+001048c0: 2066 756e 6374 696f 6e73 2061 7265 2075 functions are u\n+001048d0: 7365 6420 746f 2073 6574 2075 7020 6120 sed to set up a \n+001048e0: 636f 6c6c 6563 7469 6f6e 206f 6620 6d75 collection of mu\n+001048f0: 6c74 6970 6172 742f 7265 6c61 7465 6420 ltipart/related \n+00104900: 4d49 4d45 2061 7474 6163 686d 656e 7473 MIME attachments\n+00104910: 2066 6f72 2074 7261 6e73 6d69 7373 696f for transmissio\n+00104920: 6e20 7769 7468 2061 2053 4f41 5020 6f72 n with a SOAP or\n+00104930: 2058 4d4c 206d 6573 7361 6765 2e3c 2f70 XML message. When provid\n+00105740: 696e 6720 6120 4d49 4d45 2062 6f75 6e64 ing a MIME bound\n+00105750: 6172 7920 7769 7468 203c 636f 6465 3e3c ary with The internal li\n+001058a0: 7374 206f 6620 6174 7461 6368 6d65 6e74 st of attachment\n+001058b0: 7320 7370 6563 6966 6965 6420 7769 7468 s specified with\n+001058c0: 203c 636f 6465 3e3c 6120 636c 6173 733d The follow\n+00105b80: 696e 6720 6578 616d 706c 6520 7368 6f77 ing example show\n+00105b90: 7320 686f 7720 6120 6d75 6c74 6970 6172 s how a multipar\n+00105ba0: 742f 7265 6c61 7465 6420 4854 5450 206d t/related HTTP m\n+00105bb0: 6573 7361 6765 2077 6974 6820 7468 7265 essage with thre\n+00105bc0: 6520 4d49 4d45 2061 7474 6163 686d 656e e MIME attachmen\n+00105bd0: 7473 2069 7320 7365 7420 7570 2061 6e64 ts is set up and\n+00105be0: 2074 7261 6e73 6d69 7474 6564 2074 6f20 transmitted to \n+00105bf0: 6120 7365 7276 6572 2e20 496e 2074 6869 a server. In thi\n+00105c00: 7320 6578 616d 706c 6520 7765 206c 6574 s example we let\n+00105c10: 2074 6865 206d 6573 7361 6765 2062 6f64 the message bod\n+00105c20: 7920 7265 6665 7220 746f 2074 6865 2061 y refer to the a\n+00105c30: 7474 6163 686d 656e 7473 2075 7369 6e67 ttachments using\n+00105c40: 2058 4d4c 203c 656d 3e3c 636f 6465 3e68 XML The c\n-001070b0: 6c61 696d 2066 6f72 6d73 2069 6e20 7468 laim forms in th\n-001070c0: 6520 6d65 7373 6167 6520 636f 6e73 6973 e message consis\n-001070d0: 7420 6f66 203c 656d 3e3c 636f 6465 3e68 t of To asso\n-00107200: 6369 6174 6520 4d49 4d45 2061 7474 6163 ciate MIME attac\n-00107210: 686d 656e 7473 2077 6974 6820 7468 6520 hments with the \n-00107220: 7265 7175 6573 7420 616e 6420 7265 7370 request and resp\n-00107230: 6f6e 7365 206f 6620 6120 7365 7276 6963 onse of a servic\n-00107240: 6520 6f70 6572 6174 696f 6e20 696e 2074 e operation in t\n-00107250: 6865 2067 656e 6572 6174 6564 2057 5344 he generated WSD\n-00107260: 4c2c 2070 6c65 6173 6520 7365 6520 5365 L, please see Se\n-00107270: 6374 696f 6e20 3c61 2063 6c61 7373 3d22 ction G\n-001072a0: 656e 6572 6174 696e 6720 4d75 6c74 6970 enerating Multip\n-001072b0: 6172 7452 656c 6174 6564 204d 494d 4520 artRelated MIME \n-001072c0: 6174 7461 6368 6d65 6e74 2062 696e 6469 attachment bindi\n-001072d0: 6e67 7320 696e 2057 5344 4c3c 2f61 3e20 ngs in WSDL \n-001072e0: 2e3c 2f70 3e0a 3c70 3e54 6865 2073 6572 . The ser\n-001072f0: 7665 722d 7369 6465 2063 6f64 6520 746f ver-side code to\n-00107300: 2074 7261 6e73 6d69 7420 4d49 4d45 2061 transmit MIME a\n-00107310: 7474 6163 686d 656e 7473 2062 6163 6b20 ttachments back \n-00107320: 746f 2061 2063 6c69 656e 743a 3c2f 703e to a client: MIME attachment\n-00107de0: 7320 6172 6520 6175 746f 6d61 7469 6361 s are automatica\n-00107df0: 6c6c 7920 7061 7273 6564 2061 6e64 2073 lly parsed and s\n-00107e00: 746f 7265 6420 696e 206d 656d 6f72 7920 tored in memory \n-00107e10: 6d61 6e61 6765 6420 6279 2074 6865 203c managed by the <\n-00107e20: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>soap\n-00107e80: 2063 6f6e 7465 7874 2e20 4166 7465 7220 context. After \n-00107e90: 7265 6365 6976 696e 6720 6120 7365 7420 receiving a set \n-00107ea0: 6f66 204d 494d 452f 4d54 4f4d 2061 7474 of MIME/MTOM att\n-00107eb0: 6163 686d 656e 7473 2c20 6569 7468 6572 achments, either\n-00107ec0: 2061 7420 7468 6520 636c 6965 6e74 2d73 at the client-s\n-00107ed0: 6964 6520 6f72 2074 6865 2073 6572 7665 ide or the serve\n-00107ee0: 722d 7369 6465 2c20 7468 6520 6c69 7374 r-side, the list\n-00107ef0: 206f 6620 4d49 4d45 2f4d 544f 4d20 6174 of MIME/MTOM at\n-00107f00: 7461 6368 6d65 6e74 7320 6361 6e20 6265 tachments can be\n-00107f10: 2074 7261 7665 7273 6564 2074 6f20 6578 traversed to ex\n-00107f20: 7472 6163 7420 6d65 7461 2064 6174 6120 tract meta data \n-00107f30: 616e 6420 7468 6520 6174 7461 6368 6d65 and the attachme\n-00107f40: 6e74 2063 6f6e 7465 6e74 2e20 5468 6520 nt content. The \n-00107f50: 6669 7273 7420 6174 7461 6368 6d65 6e74 first attachment\n-00107f60: 2069 6e20 7468 6520 636f 6c6c 6563 7469 in the collecti\n-00107f70: 6f6e 206f 6620 4d49 4d45 2f4d 544f 4d20 on of MIME/MTOM \n-00107f80: 6174 7461 6368 6d65 6e74 7320 616c 7761 attachments alwa\n-00107f90: 7973 2063 6f6e 7461 696e 7320 6d65 7461 ys contains meta\n-00107fa0: 2064 6174 6120 6162 6f75 7420 7468 6520 data about the \n-00107fb0: 534f 4150 206d 6573 7361 6765 2069 7473 SOAP message its\n-00107fc0: 656c 6620 2862 6563 6175 7365 2074 6865 elf (because the\n-00107fd0: 2053 4f41 5020 6d65 7373 6167 6520 7761 SOAP message wa\n-00107fe0: 7320 7072 6f63 6573 7365 6420 7468 6520 s processed the \n-00107ff0: 6174 7461 6368 6d65 6e74 2064 6f65 7320 attachment does \n-00108000: 6e6f 7420 636f 6e74 6169 6e20 616e 7920 not contain any \n-00108010: 7573 6566 756c 2064 6174 6129 2e3c 2f70 useful data). To traverse\n-00108030: 2074 6865 206c 6973 7420 6f66 204d 494d the list of MIM\n-00108040: 4520 6174 7461 6368 6d65 6e74 7320 696e E attachments in\n-00108050: 2043 2c20 796f 7520 7573 6520 6120 6c6f C, you use a lo\n-00108060: 6f70 2073 696d 696c 6172 2074 6f3a 3c2f op similar to:\n-00108070: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. The claim forms\n+001070a0: 2069 6e20 7468 6520 6d65 7373 6167 6520 in the message \n+001070b0: 636f 6e73 6973 7420 6f66 203c 656d 3e3c consist of <\n+001070c0: 636f 6465 3e68 7265 663c 2f63 6f64 653e code>href\n+001070d0: 3c2f 656d 3e73 2074 6f20 7468 6520 636c s to the cl\n+001070e0: 6169 6d20 666f 726d 7320 6174 7461 6368 aim forms attach\n+001070f0: 6564 2e20 5468 6520 7573 6520 6f66 203c ed. The use of <\n+00107100: 656d 3e3c 636f 6465 3e68 7265 663c 2f63 em> T\n+001071e0: 6f20 6173 736f 6369 6174 6520 4d49 4d45 o associate MIME\n+001071f0: 2061 7474 6163 686d 656e 7473 2077 6974 attachments wit\n+00107200: 6820 7468 6520 7265 7175 6573 7420 616e h the request an\n+00107210: 6420 7265 7370 6f6e 7365 206f 6620 6120 d response of a \n+00107220: 7365 7276 6963 6520 6f70 6572 6174 696f service operatio\n+00107230: 6e20 696e 2074 6865 2067 656e 6572 6174 n in the generat\n+00107240: 6564 2057 5344 4c2c 2070 6c65 6173 6520 ed WSDL, please \n+00107250: 7365 6520 5365 6374 696f 6e20 3c61 2063 see Section Generating \n+00107290: 4d75 6c74 6970 6172 7452 656c 6174 6564 MultipartRelated\n+001072a0: 204d 494d 4520 6174 7461 6368 6d65 6e74 MIME attachment\n+001072b0: 2062 696e 6469 6e67 7320 696e 2057 5344 bindings in WSD\n+001072c0: 4c3c 2f61 3e20 2e3c 2f70 3e0a 3c70 3e54 L . T\n+001072d0: 6865 2073 6572 7665 722d 7369 6465 2063 he server-side c\n+001072e0: 6f64 6520 746f 2074 7261 6e73 6d69 7420 ode to transmit \n+001072f0: 4d49 4d45 2061 7474 6163 686d 656e 7473 MIME attachments\n+00107300: 2062 6163 6b20 746f 2061 2063 6c69 656e back to a clien\n+00107310: 743a 3c2f 703e 0a3c 6469 7620 636c 6173 t: MIME atta\n+00107dc0: 6368 6d65 6e74 7320 6172 6520 6175 746f chments are auto\n+00107dd0: 6d61 7469 6361 6c6c 7920 7061 7273 6564 matically parsed\n+00107de0: 2061 6e64 2073 746f 7265 6420 696e 206d and stored in m\n+00107df0: 656d 6f72 7920 6d61 6e61 6765 6420 6279 emory managed by\n+00107e00: 2074 6865 203c 636f 6465 3e3c 6120 636c the To tr\n+00108010: 6176 6572 7365 2074 6865 206c 6973 7420 averse the list \n+00108020: 6f66 204d 494d 4520 6174 7461 6368 6d65 of MIME attachme\n+00108030: 6e74 7320 696e 2043 2c20 796f 7520 7573 nts in C, you us\n+00108040: 6520 6120 6c6f 6f70 2073 696d 696c 6172 e a loop similar\n+00108050: 2074 6f3a 3c2f 703e 0a3c 6469 7620 636c to: C++ progr\n-00109970: 616d 6d65 7273 2063 616e 2075 7365 2061 ammers can use a\n-00109980: 6e20 6974 6572 6174 6f72 2069 6e73 7465 n iterator inste\n-00109990: 6164 3a3c 2f70 3e0a 3c64 6976 2063 6c61 ad: C++\n+00109950: 2070 726f 6772 616d 6d65 7273 2063 616e programmers can\n+00109960: 2075 7365 2061 6e20 6974 6572 6174 6f72 use an iterator\n+00109970: 2069 6e73 7465 6164 3a3c 2f70 3e0a 3c64 instead: C++ progra\n-0010c610: 6d6d 6572 7320 6361 6e20 7573 6520 616e mmers can use an\n-0010c620: 2069 7465 7261 746f 7220 696e 7374 6561 iterator instea\n-0010c630: 643a 3c2f 703e 0a3c 6469 7620 636c 6173 d: Note:\n+0010a210: 206b 6565 7020 696e 206d 696e 6420 7468 keep in mind th\n+0010a220: 6174 2074 6865 2066 6972 7374 2061 7474 at the first att\n+0010a230: 6163 686d 656e 7420 6973 2061 7373 6f63 achment is assoc\n+0010a240: 6961 7465 6420 7769 7468 2074 6865 2053 iated with the S\n+0010a250: 4f41 5020 6d65 7373 6167 6520 616e 6420 OAP message and \n+0010a260: 796f 7520 6d61 7920 7761 6e74 2074 6f20 you may want to \n+0010a270: 6967 6e6f 7265 2069 742e 3c2f 703e 0a3c ignore it. Applicat\n+0010a700: 696f 6e73 2064 6576 656c 6f70 6564 2077 ions developed w\n+0010a710: 6974 6820 7468 6520 6753 4f41 5020 746f ith the gSOAP to\n+0010a720: 6f6c 7320 6361 6e20 7472 616e 736d 6974 ols can transmit\n+0010a730: 2062 696e 6172 7920 4449 4d45 2061 7474 binary DIME att\n+0010a740: 6163 686d 656e 7473 2073 746f 7265 6420 achments stored \n+0010a750: 696e 206d 656d 6f72 7920 6f72 2069 6e20 in memory or in \n+0010a760: 7374 7265 616d 696e 6720 6d6f 6465 2062 streaming mode b\n+0010a770: 7920 6665 7463 6869 6e67 2064 6174 6120 y fetching data \n+0010a780: 6672 6f6d 2061 2072 6573 6f75 7263 6520 from a resource \n+0010a790: 6f72 2073 656e 6469 6e67 2064 6174 6120 or sending data \n+0010a7a0: 746f 2061 2072 6573 6f75 7263 6520 7573 to a resource us\n+0010a7b0: 696e 6720 6361 6c6c 6261 636b 2066 756e ing callback fun\n+0010a7c0: 6374 696f 6e73 2e20 5468 6520 6d61 7869 ctions. The maxi\n+0010a7d0: 6d75 6d20 4449 4d45 2061 7474 6163 686d mum DIME attachm\n+0010a7e0: 656e 7420 7369 7a65 2069 7320 6c69 6d69 ent size is limi\n+0010a7f0: 7465 6420 746f 2038 204d 4220 6279 2064 ted to 8 MB by d\n+0010a800: 6566 6175 6c74 2061 7320 7365 7420 7769 efault as set wi\n+0010a810: 7468 203c 636f 6465 3e23 534f 4150 5f4d th For \n+0010a970: 6465 7461 696c 7320 6f6e 2044 494d 4520 details on DIME \n+0010a980: 6174 7461 6368 6d65 6e74 732c 2073 6565 attachments, see\n+0010a990: 203c 6120 6872 6566 3d22 6874 7470 3a2f htt\n+0010a9f0: 703a 2f2f 6d73 646e 2e6d 6963 726f 736f p://msdn.microso\n+0010aa00: 6674 2e63 6f6d 2f6c 6962 7261 7279 2f65 ft.com/library/e\n+0010aa10: 6e2d 7573 2f64 6e67 6c6f 6273 7065 632f n-us/dnglobspec/\n+0010aa20: 6874 6d6c 2f64 7261 6674 2d6e 6965 6c73 html/draft-niels\n+0010aa30: 656e 2d64 696d 652d 3032 2e74 7874 3c2f en-dime-02.txt\n+0010aa40: 613e 3c2f 703e 0a3c 703e 5365 6520 616c a> See al\n+0010aa50: 736f 2041 5049 2064 6f63 756d 656e 7461 so API documenta\n+0010aa60: 7469 6f6e 204d 6f64 756c 6520 3c61 2063 tion Module DIME at\n+0010aaa0: 7461 6368 6d65 6e74 2066 756e 6374 696f tachment functio\n+0010aab0: 6e73 3c2f 613e 2e3c 2f70 3e0a 3c70 3ef0 ns. .\n+0010aac0: 9f94 9d20 3c61 2068 7265 663d 2223 223e ... \n+0010aad0: 4261 636b 2074 6f20 7461 626c 6520 6f66 Back to table of\n+0010aae0: 2063 6f6e 7465 6e74 733c 2f61 3e3c 2f70 contents T\n+0010ab50: 6865 2066 6f6c 6c6f 7769 6e67 2066 756e he following fun\n+0010ab60: 6374 696f 6e73 2063 616e 2062 6520 7573 ctions can be us\n+0010ab70: 6564 2074 6f20 6578 706c 6963 6974 6c79 ed to explicitly\n+0010ab80: 2073 6574 2075 7020 6120 636f 6c6c 6563 set up a collec\n+0010ab90: 7469 6f6e 206f 6620 4449 4d45 2061 7474 tion of DIME att\n+0010aba0: 6163 686d 656e 7473 2066 6f72 2074 7261 achments for tra\n+0010abb0: 6e73 6d69 7373 696f 6e20 7769 7468 2061 nsmission with a\n+0010abc0: 206d 6573 7361 6765 2e20 5468 6573 6520 message. These \n+0010abd0: 6174 7461 6368 6d65 6e74 7320 6361 6e20 attachments can \n+0010abe0: 6265 2073 7472 6561 6d65 642c 2061 7320 be streamed, as \n+0010abf0: 6465 7363 7269 6265 6420 696e 2053 6563 described in Sec\n+0010ac00: 7469 6f6e 203c 6120 636c 6173 733d 2265 tion Streaming DIM\n+0010ac40: 453c 2f61 3e20 2e20 5769 7468 6f75 7420 E . Without \n+0010ac50: 7374 7265 616d 696e 672c 2065 6163 6820 streaming, each \n+0010ac60: 6174 7461 6368 6d65 6e74 206d 7573 7420 attachment must \n+0010ac70: 7265 6665 7220 746f 2061 2062 6c6f 636b refer to a block\n+0010ac80: 206f 6620 6461 7461 2069 6e20 6d65 6d6f of data in memo\n+0010ac90: 7279 2e3c 2f70 3e0a 3c75 6c3e 0a3c 6c69 ry. These funct\n+0010b710: 696f 6e73 2061 6c6c 6f77 2044 494d 4520 ions allow DIME \n+0010b720: 6174 7461 6368 6d65 6e74 7320 746f 2062 attachments to b\n+0010b730: 6520 6164 6465 6420 746f 2053 4f41 5020 e added to SOAP \n+0010b740: 6d65 7373 6167 6573 2077 6974 686f 7574 messages without\n+0010b750: 2072 6571 7569 7269 6e67 206d 6573 7361 requiring messa\n+0010b760: 6765 2062 6f64 7920 7265 6665 7265 6e63 ge body referenc\n+0010b770: 6573 2e20 5468 6973 2069 7320 616c 736f es. This is also\n+0010b780: 2072 6566 6572 7265 6420 746f 2061 7320 referred to as \n+0010b790: 7468 6520 6f70 656e 2044 494d 4520 6174 the open DIME at\n+0010b7a0: 7461 6368 6d65 6e74 2073 7479 6c65 2e20 tachment style. \n+0010b7b0: 5468 6520 636c 6f73 6564 2061 7474 6163 The closed attac\n+0010b7c0: 686d 656e 7420 7374 796c 6520 7265 7175 hment style requ\n+0010b7d0: 6972 6573 2061 6c6c 2044 494d 4520 6174 ires all DIME at\n+0010b7e0: 7461 6368 6d65 6e74 7320 746f 2062 6520 tachments to be \n+0010b7f0: 7265 6665 7265 6e63 6564 2066 726f 6d20 referenced from \n+0010b800: 7468 6520 534f 4150 206d 6573 7361 6765 the SOAP message\n+0010b810: 2062 6f64 7920 7769 7468 203c 656d 3e3c body with <\n+0010b820: 636f 6465 3e68 7265 663c 2f63 6f64 653e code>href\n+0010b830: 3c2f 656d 3e20 286f 7220 7369 6d69 6c61 (or simila\n+0010b840: 7229 2072 6566 6572 656e 6365 732e 2046 r) references. F\n+0010b850: 6f72 2074 6865 2063 6c6f 7365 6420 7374 or the closed st\n+0010b860: 796c 652c 2067 534f 4150 2073 7570 706f yle, gSOAP suppo\n+0010b870: 7274 7320 616e 2061 7574 6f6d 6174 6963 rts an automatic\n+0010b880: 2062 696e 6172 7920 6461 7461 2073 6572 binary data ser\n+0010b890: 6961 6c69 7a61 7469 6f6e 206d 6574 686f ialization metho\n+0010b8a0: 642c 2073 6565 2053 6563 7469 6f6e 203c d, see Section <\n+0010b8b0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+0010b8c0: 663d 2269 6e64 6578 2e68 746d 6c23 4449 f=\"index.html#DI\n+0010b8d0: 4d45 6269 6e61 7279 223e 5365 7269 616c MEbinary\">Serial\n+0010b8e0: 697a 696e 6720 6269 6e61 7279 2064 6174 izing binary dat\n+0010b8f0: 6120 7769 7468 2044 494d 4520 6174 7461 a with DIME atta\n+0010b900: 6368 6d65 6e74 733c 2f61 3e20 2e3c 2f70 chments . DIME a\n+0010b9b0: 7474 6163 686d 656e 7473 2061 7265 2061 ttachments are a\n+0010b9c0: 7574 6f6d 6174 6963 616c 6c79 2070 6172 utomatically par\n+0010b9d0: 7365 6420 616e 6420 7374 6f72 6564 2069 sed and stored i\n+0010b9e0: 6e20 6d65 6d6f 7279 2028 6f72 2070 6173 n memory (or pas\n+0010b9f0: 7365 6420 746f 2074 6865 2073 7472 6561 sed to the strea\n+0010ba00: 6d69 6e67 2068 616e 646c 6572 7320 7669 ming handlers vi\n+0010ba10: 6120 7468 6520 4449 4d45 2063 616c 6c62 a the DIME callb\n+0010ba20: 6163 6b20 6675 6e63 7469 6f6e 7320 7768 ack functions wh\n+0010ba30: 656e 2064 6566 696e 6564 292e 2041 6674 en defined). Aft\n+0010ba40: 6572 2072 6563 6569 7669 6e67 2061 2073 er receiving a s\n+0010ba50: 6574 206f 6620 4449 4d45 2061 7474 6163 et of DIME attac\n+0010ba60: 686d 656e 7473 2c20 6569 7468 6572 2061 hments, either a\n+0010ba70: 7420 7468 6520 636c 6965 6e74 2d73 6964 t the client-sid\n+0010ba80: 6520 6f72 2074 6865 2073 6572 7665 722d e or the server-\n+0010ba90: 7369 6465 2c20 7468 6520 6c69 7374 206f side, the list o\n+0010baa0: 6620 4449 4d45 2061 7474 6163 686d 656e f DIME attachmen\n+0010bab0: 7473 2063 616e 2062 6520 7472 6176 6572 ts can be traver\n+0010bac0: 7365 6420 746f 2065 7874 7261 6374 206d sed to extract m\n+0010bad0: 6574 6120 6461 7461 2061 6e64 2074 6865 eta data and the\n+0010bae0: 2061 7474 6163 686d 656e 7420 636f 6e74 attachment cont\n+0010baf0: 656e 742e 3c2f 703e 0a3c 703e 546f 2074 ent. To t\n+0010bb00: 7261 7665 7273 6520 7468 6520 6c69 7374 raverse the list\n+0010bb10: 206f 6620 4449 4d45 2061 7474 6163 686d of DIME attachm\n+0010bb20: 656e 7473 2069 6e20 432c 2079 6f75 2075 ents in C, you u\n+0010bb30: 7365 2061 206c 6f6f 7020 7369 6d69 6c61 se a loop simila\n+0010bb40: 7220 746f 3a3c 2f70 3e0a 3c64 6976 2063 r to: C++ \n+0010c5f0: 7072 6f67 7261 6d6d 6572 7320 6361 6e20 programmers can \n+0010c600: 7573 6520 616e 2069 7465 7261 746f 7220 use an iterator \n+0010c610: 696e 7374 6561 643a 3c2f 703e 0a3c 6469 instead: The A call\n-0010ce70: 2074 6f20 3c63 6f64 653e 3c61 2063 6c61 to .\n-0010d270: 9f94 9d20 3c61 2068 7265 663d 2223 223e ... \n-0010d280: 4261 636b 2074 6f20 7461 626c 6520 6f66 Back to table of\n-0010d290: 2063 6f6e 7465 6e74 733c 2f61 3e3c 2f70 contents Binary data s\n-0010d310: 746f 7265 6420 696e 2065 7874 656e 6465 tored in extende\n-0010d320: 6420 3c63 6f64 653e 3c61 2063 6c61 7373 d To e\n-0010d920: 6e61 626c 6520 7365 7269 616c 697a 6174 nable serializat\n-0010d930: 696f 6e20 6f66 2074 6865 2064 6174 6120 ion of the data \n-0010d940: 6173 2044 494d 4520 6174 7461 6368 6d65 as DIME attachme\n-0010d950: 6e74 7320 696e 7374 6561 6420 6f66 2069 nts instead of i\n-0010d960: 6e6c 696e 6520 6261 7365 3634 2c20 7765 nline base64, we\n-0010d970: 2065 7874 656e 6420 7468 6520 3c63 6f64 extend the The\n+0010cd10: 203c 636f 6465 3e6f 7074 696f 6e73 3c2f \n+0010ce50: 4120 6361 6c6c 2074 6f20 3c63 6f64 653e A call to Binary \n+0010d2f0: 6461 7461 2073 746f 7265 6420 696e 2065 data stored in e\n+0010d300: 7874 656e 6465 6420 3c63 6f64 653e 3c61 xtended The The\n-0010e6d0: 203c 636f 6465 3e69 643c 2f63 6f64 653e This fu\n-0010e850: 6e63 7469 6f6e 2072 6574 7572 6e73 2061 nction returns a\n-0010e860: 2073 7472 696e 6720 7769 7468 2074 6869 string with thi\n-0010e870: 7320 656e 636f 6469 6e67 2e20 466f 7220 s encoding. For \n-0010e880: 6578 616d 706c 653c 2f70 3e0a 3c64 6976 example When either t\n-0010ed60: 6865 203c 636f 6465 3e69 643c 2f63 6f64 he The SOA\n-0010edf0: 502f 584d 4c20 6d65 7373 6167 6520 7265 P/XML message re\n-0010ee00: 6665 7273 2074 6f20 7468 6520 6174 7461 fers to the atta\n-0010ee10: 6368 6d65 6e74 7320 7573 696e 6720 3c65 chments using The \n-0010efa0: 6465 636c 6172 6174 696f 6e20 6f66 2061 declaration of a\n-0010efb0: 6e20 6578 7465 6e64 6564 2062 696e 6172 n extended binar\n-0010efc0: 7920 7479 7065 2069 6e20 7468 6520 696e y type in the in\n-0010efd0: 7465 7266 6163 6520 6865 6164 6572 2066 terface header f\n-0010efe0: 696c 6520 666f 7220 736f 6170 6370 7032 ile for soapcpp2\n-0010eff0: 2069 733a 3c2f 703e 0a3c 6469 7620 636c is: The The T\n+0010e830: 6869 7320 6675 6e63 7469 6f6e 2072 6574 his function ret\n+0010e840: 7572 6e73 2061 2073 7472 696e 6720 7769 urns a string wi\n+0010e850: 7468 2074 6869 7320 656e 636f 6469 6e67 th this encoding\n+0010e860: 2e20 466f 7220 6578 616d 706c 653c 2f70 . For example When ei\n+0010ed40: 7468 6572 2074 6865 203c 636f 6465 3e69 ther the T\n+0010edd0: 6865 2053 4f41 502f 584d 4c20 6d65 7373 he SOAP/XML mess\n+0010ede0: 6167 6520 7265 6665 7273 2074 6f20 7468 age refers to th\n+0010edf0: 6520 6174 7461 6368 6d65 6e74 7320 7573 e attachments us\n+0010ee00: 696e 6720 3c65 6d3e 3c63 6f64 653e 6872 ing C+\n-0010f250: 2b20 7072 6f67 7261 6d6d 6572 7320 6361 + programmers ca\n-0010f260: 6e20 7573 6520 696e 6865 7269 7461 6e63 n use inheritanc\n-0010f270: 6520 696e 7374 6561 6420 6f66 2074 6578 e instead of tex\n-0010f280: 7475 616c 2065 7874 656e 7369 6f6e 2072 tual extension r\n-0010f290: 6571 7569 7265 6420 696e 2043 3a3c 2f70 equired in C: This\n-0010f730: 2064 6566 696e 6573 2061 6e20 6578 7465 defines an exte\n-0010f740: 6e73 696f 6e20 6f66 203c 656d 3e3c 636f nsion of As a result, \n-00110570: 616c 6c20 6174 7461 6368 6d65 6e74 7320 all attachments \n-00110580: 7769 7468 2061 204e 554c 4c20 3c63 6f64 with a NULL S\n-00110750: 7472 6561 6d69 6e67 2044 494d 4520 6973 treaming DIME is\n-00110760: 2061 6368 6965 7665 6420 7769 7468 2063 achieved with c\n-00110770: 616c 6c62 6163 6b20 6675 6e63 7469 6f6e allback function\n-00110780: 7320 746f 2066 6574 6368 2061 6e64 2073 s to fetch and s\n-00110790: 746f 7265 2064 6174 6120 6475 7269 6e67 tore data during\n-001107a0: 2074 7261 6e73 6d69 7373 696f 6e2e 2054 transmission. T\n-001107b0: 6872 6565 2066 756e 6374 696f 6e20 6361 hree function ca\n-001107c0: 6c6c 6261 636b 7320 666f 7220 7374 7265 llbacks for stre\n-001107d0: 616d 696e 6720 4449 4d45 206f 7574 7075 aming DIME outpu\n-001107e0: 7420 616e 6420 7468 7265 6520 6361 6c6c t and three call\n-001107f0: 6261 636b 7320 666f 7220 7374 7265 616d backs for stream\n-00110800: 696e 6720 4449 4d45 2069 6e70 7574 2061 ing DIME input a\n-00110810: 7265 2061 7661 696c 6162 6c65 2e3c 2f70 re available. In a\n-00112f80: 6464 6974 696f 6e2c 2061 203c 636f 6465 ddition, a The ex\n+0010fb50: 616d 706c 6520 6162 6f76 6520 7573 6573 ample above uses\n+0010fb60: 2074 6865 203c 656d 3e3c 636f 6465 3e6c the When rece\n+0010fcb0: 6976 696e 6720 4449 4d45 2061 7474 6163 iving DIME attac\n+0010fcc0: 686d 656e 7473 2c20 7468 6520 4449 4d45 hments, the DIME\n+0010fcd0: 206d 6574 6120 6461 7461 2061 6e64 2062 meta data and b\n+0010fce0: 696e 6172 7920 636f 6e74 656e 7420 6172 inary content ar\n+0010fcf0: 6520 7374 6f72 6564 2069 6e20 7468 6520 e stored in the \n+0010fd00: 7370 6563 6966 6965 6420 3c63 6f64 653e specified Messages may \n+0010ff60: 636f 6e74 6169 6e20 6269 6e61 7279 2064 contain binary d\n+0010ff70: 6174 6120 7468 6174 2072 6566 6572 656e ata that referen\n+0010ff80: 6365 7320 6578 7465 726e 616c 2072 6573 ces external res\n+0010ff90: 6f75 7263 6573 206e 6f74 2070 726f 7669 ources not provi\n+0010ffa0: 6465 6420 6173 2061 7474 6163 686d 656e ded as attachmen\n+0010ffb0: 7473 2e20 496e 2074 6861 7420 6361 7365 ts. In that case\n+0010ffc0: 2c20 7468 6520 3c63 6f64 653e 5f5f 7074 , the As a re\n+00110550: 7375 6c74 2c20 616c 6c20 6174 7461 6368 sult, all attach\n+00110560: 6d65 6e74 7320 7769 7468 2061 204e 554c ments with a NUL\n+00110570: 4c20 3c63 6f64 653e 6964 3c2f 636f 6465 L ...\n+001106c0: 9d20 3c61 2068 7265 663d 2223 223e 4261 . Ba\n+001106d0: 636b 2074 6f20 7461 626c 6520 6f66 2063 ck to table of c\n+001106e0: 6f6e 7465 6e74 733c 2f61 3e3c 2f70 3e0a ontents Streaming D\n+00110740: 494d 4520 6973 2061 6368 6965 7665 6420 IME is achieved \n+00110750: 7769 7468 2063 616c 6c62 6163 6b20 6675 with callback fu\n+00110760: 6e63 7469 6f6e 7320 746f 2066 6574 6368 nctions to fetch\n+00110770: 2061 6e64 2073 746f 7265 2064 6174 6120 and store data \n+00110780: 6475 7269 6e67 2074 7261 6e73 6d69 7373 during transmiss\n+00110790: 696f 6e2e 2054 6872 6565 2066 756e 6374 ion. Three funct\n+001107a0: 696f 6e20 6361 6c6c 6261 636b 7320 666f ion callbacks fo\n+001107b0: 7220 7374 7265 616d 696e 6720 4449 4d45 r streaming DIME\n+001107c0: 206f 7574 7075 7420 616e 6420 7468 7265 output and thre\n+001107d0: 6520 6361 6c6c 6261 636b 7320 666f 7220 e callbacks for \n+001107e0: 7374 7265 616d 696e 6720 4449 4d45 2069 streaming DIME i\n+001107f0: 6e70 7574 2061 7265 2061 7661 696c 6162 nput are availab\n+00110800: 6c65 2e3c 2f70 3e0a 3c75 6c3e 0a3c 6c69 le. The foll\n+001131e0: 6f77 696e 6720 6578 616d 706c 6520 696c owing example il\n+001131f0: 6c75 7374 7261 7465 7320 7468 6520 636c lustrates the cl\n+00113200: 6965 6e74 2d73 6964 6520 696e 6974 6961 ient-side initia\n+00113210: 6c69 7a61 7469 6f6e 206f 6620 616e 2069 lization of an i\n+00113220: 6d61 6765 2061 7474 6163 686d 656e 7420 mage attachment \n+00113230: 7374 7275 6374 2074 6f20 7374 7265 616d struct to stream\n+00113240: 2061 2066 696c 6520 696e 746f 2061 2044 a file into a D\n+00113250: 494d 4520 6174 7461 6368 6d65 6e74 3a3c IME attachment:<\n+00113260: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>. The \n-00114ea0: 666f 6c6c 6f77 696e 6720 6578 616d 706c following exampl\n-00114eb0: 6520 696c 6c75 7374 7261 7465 7320 7468 e illustrates th\n-00114ec0: 6520 7374 7265 616d 696e 6720 6f66 2061 e streaming of a\n-00114ed0: 2044 494d 4520 6174 7461 6368 6d65 6e74 DIME attachment\n-00114ee0: 2069 6e74 6f20 6120 6669 6c65 2062 7920 into a file by \n-00114ef0: 6120 636c 6965 6e74 3a3c 2f70 3e0a 3c64 a client: Message \n-00116de0: 636f 6d70 7265 7373 696f 6e20 7769 7468 compression with\n-00116df0: 203c 636f 6465 3e23 534f 4150 5f45 4e43 ...\n-001172f0: 9d20 3c61 2068 7265 663d 2223 223e 4261 . Ba\n-00117300: 636b 2074 6f20 7461 626c 6520 6f66 2063 ck to table of c\n-00117310: 6f6e 7465 6e74 733c 2f61 3e3c 2f70 3e0a ontents To s\n-00117370: 656e 6420 4449 4d45 2061 7474 6163 686d end DIME attachm\n-00117380: 656e 7473 2c20 7468 6520 6174 7461 6368 ents, the attach\n-00117390: 6d65 6e74 2073 697a 6573 206d 7573 7420 ment sizes must \n-001173a0: 6265 2064 6574 6572 6d69 6e65 6420 696e be determined in\n-001173b0: 2061 6476 616e 6365 2074 6f20 6361 6c63 advance to calc\n-001173c0: 756c 6174 6520 4854 5450 206d 6573 7361 ulate HTTP messa\n-001173d0: 6765 206c 656e 6774 6820 7265 7175 6972 ge length requir\n-001173e0: 6564 2074 6f20 7374 7265 616d 2044 494d ed to stream DIM\n-001173f0: 4520 6f76 6572 2048 5454 502e 2048 6f77 E over HTTP. How\n-00117400: 6576 6572 2c20 6368 756e 6b65 6420 4449 ever, chunked DI\n-00117410: 4d45 2074 6f67 6574 6865 7220 7769 7468 ME together with\n-00117420: 2063 6875 6e6b 6564 2048 5454 5020 6361 chunked HTTP ca\n-00117430: 6e20 6265 2075 7365 6420 746f 206f 6d69 n be used to omi\n-00117440: 7420 7468 6973 2073 7465 702e 2046 6972 t this step. Fir\n-00117450: 7374 2073 6574 2074 6865 203c 636f 6465 st set the You can also \n-001177c0: 7573 6520 7468 6520 3c63 6f64 653e 2353 use the The wsd\n-001178b0: 6c32 6820 746f 6f6c 2072 6563 6f67 6e69 l2h tool recogni\n-001178c0: 7a65 7320 4449 4d45 2061 7474 6163 686d zes DIME attachm\n-001178d0: 656e 7473 2061 6e64 2070 726f 6475 6365 ents and produce\n-001178e0: 7320 616e 2061 6e6e 6f74 6174 6564 2068 s an annotated h\n-001178f0: 6561 6465 7220 6669 6c65 2e20 426f 7468 eader file. Both\n-00117900: 206f 7065 6e20 616e 6420 636c 6f73 6564 open and closed\n-00117910: 206c 6179 6f75 7473 2061 7265 2073 7570 layouts are sup\n-00117920: 706f 7274 6564 2066 6f72 2074 7261 6e73 ported for trans\n-00117930: 6d69 7474 696e 6720 4449 4d45 2061 7474 mitting DIME att\n-00117940: 6163 686d 656e 7473 2e20 466f 7220 636c achments. For cl\n-00117950: 6f73 6564 2066 6f72 6d61 7473 2c20 616c osed formats, al\n-00117960: 6c20 4449 4d45 2061 7474 6163 686d 656e l DIME attachmen\n-00117970: 7473 206d 7573 7420 6265 2072 6566 6572 ts must be refer\n-00117980: 656e 6365 6420 6672 6f6d 2074 6865 2053 enced from the S\n-00117990: 4f41 5020 6d65 7373 6167 652c 2065 2e67 OAP message, e.g\n-001179a0: 2e20 7573 696e 6720 6872 6566 7320 7769 . using hrefs wi\n-001179b0: 7468 2053 4f41 5020 656e 636f 6469 6e67 th SOAP encoding\n-001179c0: 2061 6e64 2075 7369 6e67 2074 6865 2061 and using the a\n-001179d0: 7070 6c69 6361 7469 6f6e 2d73 7065 6369 pplication-speci\n-001179e0: 6669 6320 7265 6665 7265 6e63 6520 6174 fic reference at\n-001179f0: 7472 6962 7574 6520 696e 636c 7564 6564 tribute included\n-00117a00: 2069 6e20 7468 6520 3c63 6f64 653e 3c61 in the \n-00117ad0: 5468 6520 736f 6170 6370 7032 2074 6f6f The soapcpp2 too\n-00117ae0: 6c20 646f 6573 206e 6f74 2070 726f 6475 l does not produ\n-00117af0: 6365 2061 2057 5344 4c20 7769 7468 2044 ce a WSDL with D\n-00117b00: 494d 4520 6578 7465 6e73 696f 6e73 2e20 IME extensions. \n-00117b10: 4449 4d45 2069 7320 616e 206f 6c64 6572 DIME is an older\n-00117b20: 2062 696e 6172 7920 666f 726d 6174 2074 binary format t\n-00117b30: 6861 7420 6861 7320 6e6f 2057 5344 4c20 hat has no WSDL \n-00117b40: 7072 6f74 6f63 6f6c 2073 7570 706f 7274 protocol support\n-00117b50: 2c20 756e 6c69 6b65 204d 494d 4520 616e , unlike MIME an\n-00117b60: 6420 4d54 4f4d 2e3c 2f70 3e0a 3c70 3ef0 d MTOM. .\n-00117b70: 9f94 9d20 3c61 2068 7265 663d 2223 223e ... \n-00117b80: 4261 636b 2074 6f20 7461 626c 6520 6f66 Back to table of\n-00117b90: 2063 6f6e 7465 6e74 733c 2f61 3e3c 2f70 contents \n-00117be0: 4d54 4f4d 2028 4d65 7373 6167 6520 5472 MTOM (Message Tr\n-00117bf0: 616e 736d 6973 7369 6f6e 204f 7074 696d ansmission Optim\n-00117c00: 697a 6174 696f 6e20 4d65 6368 616e 6973 ization Mechanis\n-00117c10: 6d29 2069 7320 6120 7265 6c61 7469 7665 m) is a relative\n-00117c20: 6c79 206e 6577 2066 6f72 6d61 7420 666f ly new format fo\n-00117c30: 7220 7472 616e 736d 6974 7469 6e67 2061 r transmitting a\n-00117c40: 7474 6163 686d 656e 7473 2077 6974 6820 ttachments with \n-00117c50: 534f 4150 206d 6573 7361 6765 7320 2873 SOAP messages (s\n-00117c60: 6565 203c 6120 6872 6566 3d22 6874 7470 ee ht\n-00117c90: 7470 3a2f 2f77 7777 2e77 332e 6f72 672f tp://www.w3.org/\n-00117ca0: 5452 2f73 6f61 7031 322d 6d74 6f6d 3c2f TR/soap12-mtom\n-00117cb0: 613e 292e 204d 544f 4d20 6174 7461 6368 a>). MTOM attach\n-00117cc0: 6d65 6e74 7320 6172 6520 6573 7365 6e74 ments are essent\n-00117cd0: 6961 6c6c 7920 4d49 4d45 2061 7474 6163 ially MIME attac\n-00117ce0: 686d 656e 7473 2077 6974 6820 7374 616e hments with stan\n-00117cf0: 6461 7264 697a 6564 206d 6563 6861 6e69 dardized mechani\n-00117d00: 736d 7320 666f 7220 6372 6f73 7320 7265 sms for cross re\n-00117d10: 6665 7265 6e63 696e 6720 6174 7461 6368 ferencing attach\n-00117d20: 6d65 6e74 7320 6672 6f6d 2074 6865 2053 ments from the S\n-00117d30: 4f41 5020 626f 6479 2c20 7768 6963 6820 OAP body, which \n-00117d40: 6973 2061 6273 656e 7420 696e 2028 706c is absent in (pl\n-00117d50: 6169 6e29 204d 494d 4520 6174 7461 6368 ain) MIME attach\n-00117d60: 6d65 6e74 7320 616e 6420 6f70 7469 6f6e ments and option\n-00117d70: 616c 2077 6974 6820 4449 4d45 2061 7474 al with DIME att\n-00117d80: 6163 686d 656e 7473 2e3c 2f70 3e0a 3c70 achments. Unlike the name\n-00117da0: 2073 7567 6765 7374 732c 2074 6865 2073 suggests, the s\n-00117db0: 7065 6564 2062 7920 7768 6963 6820 6174 peed by which at\n-00117dc0: 7461 6368 6564 2064 6174 6120 6973 2074 tached data is t\n-00117dd0: 7261 6e73 6d69 7474 6564 2069 7320 6e6f ransmitted is no\n-00117de0: 7420 696e 6372 6561 7365 6420 636f 6d70 t increased comp\n-00117df0: 6172 6564 2074 6f20 4d49 4d45 2c20 4449 ared to MIME, DI\n-00117e00: 4d45 2c20 6f72 2065 7665 6e20 584d 4c20 ME, or even XML \n-00117e10: 656e 636f 6465 6420 6261 7365 3634 2064 encoded base64 d\n-00117e20: 6174 612c 2062 6563 6175 7365 2074 6865 ata, because the\n-00117e30: 2070 6572 666f 726d 616e 6365 2064 6966 performance dif\n-00117e40: 6665 7265 6e63 6573 2077 6865 6e20 7573 ferences when us\n-00117e50: 696e 6720 6753 4f41 5020 7769 6c6c 2062 ing gSOAP will b\n-00117e60: 6520 736d 616c 6c2e 2054 6865 2061 6476 e small. The adv\n-00117e70: 616e 7461 6765 206f 6620 7468 6520 666f antage of the fo\n-00117e80: 726d 6174 2069 7320 7468 6520 7374 616e rmat is the stan\n-00117e90: 6461 7264 697a 6564 2061 7474 6163 686d dardized attachm\n-00117ea0: 656e 7420 7265 6665 7265 6e63 6520 6d65 ent reference me\n-00117eb0: 6368 616e 6973 6d2c 2077 6869 6368 2073 chanism, which s\n-00117ec0: 686f 756c 6420 696d 7072 6f76 6520 696e hould improve in\n-00117ed0: 7465 726f 7065 7261 6269 6c69 7479 2e3c teroperability.<\n-00117ee0: 2f70 3e0a 3c70 3e54 6865 204d 544f 4d20 /p>. The MTOM \n-00117ef0: 7370 6563 6966 6963 6174 696f 6e20 6d61 specification ma\n-00117f00: 6e64 6174 6573 2053 4f41 5020 312e 3220 ndates SOAP 1.2 \n-00117f10: 616e 6420 7468 6520 7573 6520 6f66 2074 and the use of t\n-00117f20: 6865 2058 4f50 206e 616d 6573 7061 6365 he XOP namespace\n-00117f30: 2e20 5468 6520 584f 5020 496e 636c 7564 . The XOP Includ\n-00117f40: 6520 656c 656d 656e 7420 3c65 6d3e 3c63 e element Becaus\n-00118080: 6520 7265 6665 7265 6e63 6573 2066 726f e references fro\n-00118090: 6d20 7769 7468 696e 2074 6865 2053 4f41 m within the SOA\n-001180a0: 5020 6d65 7373 6167 6520 626f 6479 2074 P message body t\n-001180b0: 6f20 6174 7461 6368 6d65 6e74 7320 6172 o attachments ar\n-001180c0: 6520 6d61 6e64 6174 6f72 7920 7769 7468 e mandatory with\n-001180d0: 204d 544f 4d2c 2074 6865 2069 6d70 6c65 MTOM, the imple\n-001180e0: 6d65 6e74 6174 696f 6e20 6f66 2074 6865 mentation of the\n-001180f0: 2073 6572 6961 6c69 7a61 7469 6f6e 2061 serialization a\n-00118100: 6e64 2064 6573 6572 6961 6c69 7a61 7469 nd deserializati\n-00118110: 6f6e 206f 6620 4d54 4f4d 204d 494d 4520 on of MTOM MIME \n-00118120: 6174 7461 6368 6d65 6e74 7320 7573 6573 attachments uses\n-00118130: 2074 6865 2065 7874 656e 6465 6420 6269 the extended bi\n-00118140: 6e61 7279 2074 7970 6520 636f 6d70 6172 nary type compar\n-00118150: 6162 6c65 2074 6f20 4449 4d45 2073 7570 able to DIME sup\n-00118160: 706f 7274 2e20 5468 6973 2062 696e 6172 port. This binar\n-00118170: 7920 7479 7065 2069 7320 7072 6564 6566 y type is predef\n-00118180: 696e 6564 2069 6e20 7468 6520 3c65 6d3e ined in the \n-00118190: 3c63 6f64 653e 696d 706f 7274 2f78 6f70 The addit\n-00118fd0: 696f 6e61 6c20 3c63 6f64 653e 6964 3c2f ional You can \n-00119320: 696d 706f 7274 203c 656d 3e3c 636f 6465 import Me\n+00116dc0: 7373 6167 6520 636f 6d70 7265 7373 696f ssage compressio\n+00116dd0: 6e20 7769 7468 203c 636f 6465 3e23 534f n with .... Back to tabl\n+001172f0: 6520 6f66 2063 6f6e 7465 6e74 733c 2f61 e of contents You can\n+001177a0: 2061 6c73 6f20 7573 6520 7468 6520 3c63 also use the T\n+00117890: 6865 2077 7364 6c32 6820 746f 6f6c 2072 he wsdl2h tool r\n+001178a0: 6563 6f67 6e69 7a65 7320 4449 4d45 2061 ecognizes DIME a\n+001178b0: 7474 6163 686d 656e 7473 2061 6e64 2070 ttachments and p\n+001178c0: 726f 6475 6365 7320 616e 2061 6e6e 6f74 roduces an annot\n+001178d0: 6174 6564 2068 6561 6465 7220 6669 6c65 ated header file\n+001178e0: 2e20 426f 7468 206f 7065 6e20 616e 6420 . Both open and \n+001178f0: 636c 6f73 6564 206c 6179 6f75 7473 2061 closed layouts a\n+00117900: 7265 2073 7570 706f 7274 6564 2066 6f72 re supported for\n+00117910: 2074 7261 6e73 6d69 7474 696e 6720 4449 transmitting DI\n+00117920: 4d45 2061 7474 6163 686d 656e 7473 2e20 ME attachments. \n+00117930: 466f 7220 636c 6f73 6564 2066 6f72 6d61 For closed forma\n+00117940: 7473 2c20 616c 6c20 4449 4d45 2061 7474 ts, all DIME att\n+00117950: 6163 686d 656e 7473 206d 7573 7420 6265 achments must be\n+00117960: 2072 6566 6572 656e 6365 6420 6672 6f6d referenced from\n+00117970: 2074 6865 2053 4f41 5020 6d65 7373 6167 the SOAP messag\n+00117980: 652c 2065 2e67 2e20 7573 696e 6720 6872 e, e.g. using hr\n+00117990: 6566 7320 7769 7468 2053 4f41 5020 656e efs with SOAP en\n+001179a0: 636f 6469 6e67 2061 6e64 2075 7369 6e67 coding and using\n+001179b0: 2074 6865 2061 7070 6c69 6361 7469 6f6e the application\n+001179c0: 2d73 7065 6369 6669 6320 7265 6665 7265 -specific refere\n+001179d0: 6e63 6520 6174 7472 6962 7574 6520 696e nce attribute in\n+001179e0: 636c 7564 6564 2069 6e20 7468 6520 3c63 cluded in the The soapcp\n+00117ac0: 7032 2074 6f6f 6c20 646f 6573 206e 6f74 p2 tool does not\n+00117ad0: 2070 726f 6475 6365 2061 2057 5344 4c20 produce a WSDL \n+00117ae0: 7769 7468 2044 494d 4520 6578 7465 6e73 with DIME extens\n+00117af0: 696f 6e73 2e20 4449 4d45 2069 7320 616e ions. DIME is an\n+00117b00: 206f 6c64 6572 2062 696e 6172 7920 666f older binary fo\n+00117b10: 726d 6174 2074 6861 7420 6861 7320 6e6f rmat that has no\n+00117b20: 2057 5344 4c20 7072 6f74 6f63 6f6c 2073 WSDL protocol s\n+00117b30: 7570 706f 7274 2c20 756e 6c69 6b65 204d upport, unlike M\n+00117b40: 494d 4520 616e 6420 4d54 4f4d 2e3c 2f70 IME and MTOM. MTOM (Mess\n+00117bd0: 6167 6520 5472 616e 736d 6973 7369 6f6e age Transmission\n+00117be0: 204f 7074 696d 697a 6174 696f 6e20 4d65 Optimization Me\n+00117bf0: 6368 616e 6973 6d29 2069 7320 6120 7265 chanism) is a re\n+00117c00: 6c61 7469 7665 6c79 206e 6577 2066 6f72 latively new for\n+00117c10: 6d61 7420 666f 7220 7472 616e 736d 6974 mat for transmit\n+00117c20: 7469 6e67 2061 7474 6163 686d 656e 7473 ting attachments\n+00117c30: 2077 6974 6820 534f 4150 206d 6573 7361 with SOAP messa\n+00117c40: 6765 7320 2873 6565 203c 6120 6872 6566 ges (see http://www.w\n+00117c80: 332e 6f72 672f 5452 2f73 6f61 7031 322d 3.org/TR/soap12-\n+00117c90: 6d74 6f6d 3c2f 613e 292e 204d 544f 4d20 mtom). MTOM \n+00117ca0: 6174 7461 6368 6d65 6e74 7320 6172 6520 attachments are \n+00117cb0: 6573 7365 6e74 6961 6c6c 7920 4d49 4d45 essentially MIME\n+00117cc0: 2061 7474 6163 686d 656e 7473 2077 6974 attachments wit\n+00117cd0: 6820 7374 616e 6461 7264 697a 6564 206d h standardized m\n+00117ce0: 6563 6861 6e69 736d 7320 666f 7220 6372 echanisms for cr\n+00117cf0: 6f73 7320 7265 6665 7265 6e63 696e 6720 oss referencing \n+00117d00: 6174 7461 6368 6d65 6e74 7320 6672 6f6d attachments from\n+00117d10: 2074 6865 2053 4f41 5020 626f 6479 2c20 the SOAP body, \n+00117d20: 7768 6963 6820 6973 2061 6273 656e 7420 which is absent \n+00117d30: 696e 2028 706c 6169 6e29 204d 494d 4520 in (plain) MIME \n+00117d40: 6174 7461 6368 6d65 6e74 7320 616e 6420 attachments and \n+00117d50: 6f70 7469 6f6e 616c 2077 6974 6820 4449 optional with DI\n+00117d60: 4d45 2061 7474 6163 686d 656e 7473 2e3c ME attachments.<\n+00117d70: 2f70 3e0a 3c70 3e55 6e6c 696b 6520 7468 /p>. Unlike th\n+00117d80: 6520 6e61 6d65 2073 7567 6765 7374 732c e name suggests,\n+00117d90: 2074 6865 2073 7065 6564 2062 7920 7768 the speed by wh\n+00117da0: 6963 6820 6174 7461 6368 6564 2064 6174 ich attached dat\n+00117db0: 6120 6973 2074 7261 6e73 6d69 7474 6564 a is transmitted\n+00117dc0: 2069 7320 6e6f 7420 696e 6372 6561 7365 is not increase\n+00117dd0: 6420 636f 6d70 6172 6564 2074 6f20 4d49 d compared to MI\n+00117de0: 4d45 2c20 4449 4d45 2c20 6f72 2065 7665 ME, DIME, or eve\n+00117df0: 6e20 584d 4c20 656e 636f 6465 6420 6261 n XML encoded ba\n+00117e00: 7365 3634 2064 6174 612c 2062 6563 6175 se64 data, becau\n+00117e10: 7365 2074 6865 2070 6572 666f 726d 616e se the performan\n+00117e20: 6365 2064 6966 6665 7265 6e63 6573 2077 ce differences w\n+00117e30: 6865 6e20 7573 696e 6720 6753 4f41 5020 hen using gSOAP \n+00117e40: 7769 6c6c 2062 6520 736d 616c 6c2e 2054 will be small. T\n+00117e50: 6865 2061 6476 616e 7461 6765 206f 6620 he advantage of \n+00117e60: 7468 6520 666f 726d 6174 2069 7320 7468 the format is th\n+00117e70: 6520 7374 616e 6461 7264 697a 6564 2061 e standardized a\n+00117e80: 7474 6163 686d 656e 7420 7265 6665 7265 ttachment refere\n+00117e90: 6e63 6520 6d65 6368 616e 6973 6d2c 2077 nce mechanism, w\n+00117ea0: 6869 6368 2073 686f 756c 6420 696d 7072 hich should impr\n+00117eb0: 6f76 6520 696e 7465 726f 7065 7261 6269 ove interoperabi\n+00117ec0: 6c69 7479 2e3c 2f70 3e0a 3c70 3e54 6865 lity. The\n+00117ed0: 204d 544f 4d20 7370 6563 6966 6963 6174 MTOM specificat\n+00117ee0: 696f 6e20 6d61 6e64 6174 6573 2053 4f41 ion mandates SOA\n+00117ef0: 5020 312e 3220 616e 6420 7468 6520 7573 P 1.2 and the us\n+00117f00: 6520 6f66 2074 6865 2058 4f50 206e 616d e of the XOP nam\n+00117f10: 6573 7061 6365 2e20 5468 6520 584f 5020 espace. The XOP \n+00117f20: 496e 636c 7564 6520 656c 656d 656e 7420 Include element \n+00117f30: 3c65 6d3e 3c63 6f64 653e 786f 703a 496e \n+00118060: 4265 6361 7573 6520 7265 6665 7265 6e63 Because referenc\n+00118070: 6573 2066 726f 6d20 7769 7468 696e 2074 es from within t\n+00118080: 6865 2053 4f41 5020 6d65 7373 6167 6520 he SOAP message \n+00118090: 626f 6479 2074 6f20 6174 7461 6368 6d65 body to attachme\n+001180a0: 6e74 7320 6172 6520 6d61 6e64 6174 6f72 nts are mandator\n+001180b0: 7920 7769 7468 204d 544f 4d2c 2074 6865 y with MTOM, the\n+001180c0: 2069 6d70 6c65 6d65 6e74 6174 696f 6e20 implementation \n+001180d0: 6f66 2074 6865 2073 6572 6961 6c69 7a61 of the serializa\n+001180e0: 7469 6f6e 2061 6e64 2064 6573 6572 6961 tion and deseria\n+001180f0: 6c69 7a61 7469 6f6e 206f 6620 4d54 4f4d lization of MTOM\n+00118100: 204d 494d 4520 6174 7461 6368 6d65 6e74 MIME attachment\n+00118110: 7320 7573 6573 2074 6865 2065 7874 656e s uses the exten\n+00118120: 6465 6420 6269 6e61 7279 2074 7970 6520 ded binary type \n+00118130: 636f 6d70 6172 6162 6c65 2074 6f20 4449 comparable to DI\n+00118140: 4d45 2073 7570 706f 7274 2e20 5468 6973 ME support. This\n+00118150: 2062 696e 6172 7920 7479 7065 2069 7320 binary type is \n+00118160: 7072 6564 6566 696e 6564 2069 6e20 7468 predefined in th\n+00118170: 6520 3c65 6d3e 3c63 6f64 653e 696d 706f e The\n+00118fb0: 2061 6464 6974 696f 6e61 6c20 3c63 6f64 additional Yo\n+00119300: 7520 6361 6e20 696d 706f 7274 203c 656d u can import When a\n-00119960: 6e20 696e 7374 616e 6365 206f 6620 3c63 n instance of Without this fl\n-00119dc0: 6167 2c20 7468 6520 6174 7461 6368 6d65 ag, the attachme\n-00119dd0: 6e74 7320 7769 6c6c 2062 6520 7472 616e nts will be tran\n-00119de0: 736d 6974 7465 6420 696e 2044 494d 4520 smitted in DIME \n-00119df0: 666f 726d 6174 2c20 7768 6963 6820 6973 format, which is\n-00119e00: 206e 6f74 2077 6861 7420 7765 2077 616e not what we wan\n-00119e10: 742e 2049 6620 796f 7572 2063 7572 7265 t. If your curre\n-00119e20: 6e74 2063 6c69 656e 7473 2061 6e64 2073 nt clients and s\n-00119e30: 6572 7669 6365 7320 6172 6520 6261 7365 ervices are base\n-00119e40: 6420 6f6e 206e 6f6e 2d73 7472 6561 6d69 d on non-streami\n-00119e50: 6e67 2044 494d 4520 6174 7461 6368 6d65 ng DIME attachme\n-00119e60: 6e74 7320 7573 696e 6720 7468 6520 534f nts using the SO\n-00119e70: 4150 2062 6f64 7920 7265 6665 7265 6e63 AP body referenc\n-00119e80: 6520 6d65 6368 616e 6973 6d20 2874 6875 e mechanism (thu\n-00119e90: 732c 2077 6974 686f 7574 2075 7369 6e67 s, without using\n-00119ea0: 2074 6865 203c 636f 6465 3e3c 6120 636c the See also AP\n-0011a040: 4920 646f 6375 6d65 6e74 6174 696f 6e20 I documentation \n-0011a050: 4d6f 6475 6c65 203c 6120 636c 6173 733d Module MIME attachm\n-0011a090: 656e 7420 6675 6e63 7469 6f6e 733c 2f61 ent functions. .... <\n-0011a0b0: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n-0011a0c0: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n-0011a0d0: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents To ge\n-0011a150: 6e65 7261 7465 206d 756c 7469 7061 7274 nerate multipart\n-0011a160: 5265 6c61 7465 6420 6269 6e64 696e 6773 Related bindings\n-0011a170: 2069 6e20 7468 6520 5753 444c 2066 696c in the WSDL fil\n-0011a180: 6520 696e 6469 6361 7469 6e67 2074 6865 e indicating the\n-0011a190: 2075 7365 206f 6620 4d49 4d45 2061 7474 use of MIME att\n-0011a1a0: 6163 686d 656e 7473 2c20 7573 653a 3c2f achments, use:\n-0011a1b0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. Thi\n-0011a250: 7320 6469 7265 6374 6976 6520 6469 7265 s directive dire\n-0011a260: 6374 6976 6520 6361 6e20 6265 2072 6570 ctive can be rep\n-0011a270: 6561 7465 6420 666f 7220 6561 6368 2061 eated for each a\n-0011a280: 7474 6163 686d 656e 7420 796f 7520 7761 ttachment you wa\n-0011a290: 6e74 2074 6f20 6173 736f 6369 6174 6520 nt to associate \n-0011a2a0: 7769 7468 2061 206d 6574 686f 6427 7320 with a method's \n-0011a2b0: 7265 7175 6573 7420 616e 6420 7265 7370 request and resp\n-0011a2c0: 6f6e 7365 206d 6573 7361 6765 2e20 7365 onse message. se\n-0011a2d0: 6520 616c 736f 2053 6563 7469 6f6e 203c e also Section <\n-0011a2e0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-0011a2f0: 663d 2269 6e64 6578 2e68 746d 6c23 6469 f=\"index.html#di\n-0011a300: 7265 6374 6976 6573 223e 4469 7265 6374 rectives\">Direct\n-0011a310: 6976 6573 3c2f 613e 202e 3c2f 703e 0a3c ives . \n+00119940: 5768 656e 2061 6e20 696e 7374 616e 6365 When an instance\n+00119950: 206f 6620 3c63 6f64 653e 785f 5f6d 7944 of Without t\n+00119da0: 6869 7320 666c 6167 2c20 7468 6520 6174 his flag, the at\n+00119db0: 7461 6368 6d65 6e74 7320 7769 6c6c 2062 tachments will b\n+00119dc0: 6520 7472 616e 736d 6974 7465 6420 696e e transmitted in\n+00119dd0: 2044 494d 4520 666f 726d 6174 2c20 7768 DIME format, wh\n+00119de0: 6963 6820 6973 206e 6f74 2077 6861 7420 ich is not what \n+00119df0: 7765 2077 616e 742e 2049 6620 796f 7572 we want. If your\n+00119e00: 2063 7572 7265 6e74 2063 6c69 656e 7473 current clients\n+00119e10: 2061 6e64 2073 6572 7669 6365 7320 6172 and services ar\n+00119e20: 6520 6261 7365 6420 6f6e 206e 6f6e 2d73 e based on non-s\n+00119e30: 7472 6561 6d69 6e67 2044 494d 4520 6174 treaming DIME at\n+00119e40: 7461 6368 6d65 6e74 7320 7573 696e 6720 tachments using \n+00119e50: 7468 6520 534f 4150 2062 6f64 7920 7265 the SOAP body re\n+00119e60: 6665 7265 6e63 6520 6d65 6368 616e 6973 ference mechanis\n+00119e70: 6d20 2874 6875 732c 2077 6974 686f 7574 m (thus, without\n+00119e80: 2075 7369 6e67 2074 6865 203c 636f 6465 using the See a\n+0011a020: 6c73 6f20 4150 4920 646f 6375 6d65 6e74 lso API document\n+0011a030: 6174 696f 6e20 4d6f 6475 6c65 203c 6120 ation Module MIME a\n+0011a070: 7474 6163 686d 656e 7420 6675 6e63 7469 ttachment functi\n+0011a080: 6f6e 733c 2f61 3e2e 3c2f 703e 0a3c 703e ons. \n+0011a090: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n+0011a0b0: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n+0011a0c0: 703e 0a3c 6832 3e3c 6120 636c 6173 733d p>. To generate mul\n+0011a140: 7469 7061 7274 5265 6c61 7465 6420 6269 tipartRelated bi\n+0011a150: 6e64 696e 6773 2069 6e20 7468 6520 5753 ndings in the WS\n+0011a160: 444c 2066 696c 6520 696e 6469 6361 7469 DL file indicati\n+0011a170: 6e67 2074 6865 2075 7365 206f 6620 4d49 ng the use of MI\n+0011a180: 4d45 2061 7474 6163 686d 656e 7473 2c20 ME attachments, \n+0011a190: 7573 653a 3c2f 703e 0a3c 6469 7620 636c use: This directiv\n+0011a240: 6520 6469 7265 6374 6976 6520 6361 6e20 e directive can \n+0011a250: 6265 2072 6570 6561 7465 6420 666f 7220 be repeated for \n+0011a260: 6561 6368 2061 7474 6163 686d 656e 7420 each attachment \n+0011a270: 796f 7520 7761 6e74 2074 6f20 6173 736f you want to asso\n+0011a280: 6369 6174 6520 7769 7468 2061 206d 6574 ciate with a met\n+0011a290: 686f 6427 7320 7265 7175 6573 7420 616e hod's request an\n+0011a2a0: 6420 7265 7370 6f6e 7365 206d 6573 7361 d response messa\n+0011a2b0: 6765 2e20 7365 6520 616c 736f 2053 6563 ge. see also Sec\n+0011a2c0: 7469 6f6e 203c 6120 636c 6173 733d 2265 tion \n+0011a2f0: 4469 7265 6374 6976 6573 3c2f 613e 202e Directives .\n+0011a300: 3c2f 703e 0a3c 703e 466f 7220 6578 616d For exam\n+0011a310: 706c 653a 3c2f 703e 0a3c 6469 7620 636c ple: The To b\n-0011a960: 696e 6420 6174 7461 6368 6d65 6e74 7320 ind attachments \n-0011a970: 6f6e 6c79 2074 6f20 7468 6520 7265 7175 only to the requ\n-0011a980: 6573 7420 6d65 7373 6167 6520 6f66 2061 est message of a\n-0011a990: 6e20 6f70 6572 6174 696f 6e2c 2075 7365 n operation, use\n-0011a9a0: 3c2f 703e 0a3c 6469 7620 636c 6173 733d The \n-0011ab40: 7773 646c 3268 2074 6f6f 6c20 7265 636f wsdl2h tool reco\n-0011ab50: 676e 697a 6573 204d 494d 4520 6174 7461 gnizes MIME atta\n-0011ab60: 6368 6d65 6e74 7320 616e 6420 7072 6f64 chments and prod\n-0011ab70: 7563 6573 2061 6e20 616e 6e6f 7461 7465 uces an annotate\n-0011ab80: 6420 6865 6164 6572 2066 696c 652e 3c2f d header file.\n-0011ab90: 703e 0a3c 703e 596f 7520 6361 6e20 7265 p>. You can re\n-0011aba0: 7065 6174 2074 6865 7365 2064 6972 6563 peat these direc\n-0011abb0: 7469 7665 7320 666f 7220 616c 6c20 6d75 tives for all mu\n-0011abc0: 6c74 6970 6172 7452 656c 6174 6564 204d ltipartRelated M\n-0011abd0: 494d 4520 6174 7461 6368 6d65 6e74 7320 IME attachments \n-0011abe0: 796f 7520 7761 6e74 2074 6f20 6173 736f you want to asso\n-0011abf0: 6369 6174 6520 7769 7468 2074 6865 2073 ciate with the s\n-0011ac00: 6572 7669 6365 206f 7065 7261 7469 6f6e ervice operation\n-0011ac10: 2069 6e70 7574 2061 6e64 206f 7574 7075 input and outpu\n-0011ac20: 742e 3c2f 703e 0a3c 703e f09f 949d 203c t. .... <\n-0011ac30: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n-0011ac40: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n-0011ac50: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents A receiver must\n-0011acd0: 2062 6520 696e 666f 726d 6564 2074 6f20 be informed to \n-0011ace0: 7265 636f 676e 697a 6520 4d54 4f4d 2061 recognize MTOM a\n-0011acf0: 7474 6163 686d 656e 7473 2062 7920 7365 ttachments by se\n-0011ad00: 7474 696e 6720 7468 6520 3c63 6f64 653e tting the Wh\n-0011ae00: 656e 2075 7369 6e67 2077 7364 6c32 6820 en using wsdl2h \n-0011ae10: 746f 2062 7569 6c64 2063 6c69 656e 7473 to build clients\n-0011ae20: 2061 6e64 2f6f 7220 7365 7276 6963 6573 and/or services\n-0011ae30: 2c20 796f 7520 7368 6f75 6c64 2075 7365 , you should use\n-0011ae40: 2074 6865 203c 656d 3e3c 636f 6465 3e74 the T\n-0011afd0: 6865 2077 7364 6c32 6820 746f 6f6c 2075 he wsdl2h tool u\n-0011afe0: 7365 7320 7468 6520 3c65 6d3e 3c63 6f64 ses the The <\n-0011b3b0: 636f 6465 3e23 696d 706f 7274 3c2f 636f code>#import statements a\n-0011b3d0: 7265 206f 6e6c 7920 6164 6465 6420 666f re only added fo\n-0011b3e0: 7220 7468 6f73 6520 6e61 6d65 7370 6163 r those namespac\n-0011b3f0: 6573 2074 6861 7420 6172 6520 6163 7475 es that are actu\n-0011b400: 616c 6c79 2075 7365 642e 3c2f 703e 0a3c ally used. Suppose th\n-0011b6e0: 6520 5753 444c 2064 6566 696e 6573 2061 e WSDL defines a\n-0011b6f0: 6e20 6f70 6572 6174 696f 6e3a 3c2f 703e n operation: After generatin\n-0011b7f0: 6720 7468 6520 7374 7562 2066 756e 6374 g the stub funct\n-0011b800: 696f 6e73 2077 6974 6820 7468 6520 736f ions with the so\n-0011b810: 6170 6370 7032 2074 6f6f 6c2c 2077 6520 apcpp2 tool, we \n-0011b820: 6361 6e20 696e 766f 6b65 2074 6865 2073 can invoke the s\n-0011b830: 7475 6220 6174 2074 6865 2063 6c69 656e tub at the clien\n-0011b840: 7420 7369 6465 2077 6974 683a 3c2f 703e t side with: Note that \n-0011c190: 7468 6520 3c63 6f64 653e 786f 705f 5f49 the At the serv\n-0011c220: 6572 2073 6964 652c 2077 6520 7368 6f77 er side, we show\n-0011c230: 2061 6e20 6578 616d 706c 6520 6f66 2061 an example of a\n-0011c240: 6e20 6f70 6572 6174 696f 6e20 6861 6e64 n operation hand\n-0011c250: 6c65 7220 7468 6174 206a 7573 7420 636f ler that just co\n-0011c260: 7069 6573 2074 6865 2069 6e70 7574 2064 pies the input d\n-0011c270: 6174 6120 746f 206f 7574 7075 743a 3c2f ata to output:\n-0011c280: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. \n+0011a7b0: 5468 6520 3c63 6f64 653e 2f2f 6773 6f61 The Simil\n+0011aa30: 6172 6c79 2c20 746f 2062 696e 6420 6174 arly, to bind at\n+0011aa40: 7461 6368 6d65 6e74 7320 6f6e 6c79 2074 tachments only t\n+0011aa50: 6f20 7468 6520 7265 7370 6f6e 7365 206d o the response m\n+0011aa60: 6573 7361 6765 206f 6620 616e 206f 7065 essage of an ope\n+0011aa70: 7261 7469 6f6e 2c20 7573 653a 3c2f 703e ration, use: You \n+0011ab80: 6361 6e20 7265 7065 6174 2074 6865 7365 can repeat these\n+0011ab90: 2064 6972 6563 7469 7665 7320 666f 7220 directives for \n+0011aba0: 616c 6c20 6d75 6c74 6970 6172 7452 656c all multipartRel\n+0011abb0: 6174 6564 204d 494d 4520 6174 7461 6368 ated MIME attach\n+0011abc0: 6d65 6e74 7320 796f 7520 7761 6e74 2074 ments you want t\n+0011abd0: 6f20 6173 736f 6369 6174 6520 7769 7468 o associate with\n+0011abe0: 2074 6865 2073 6572 7669 6365 206f 7065 the service ope\n+0011abf0: 7261 7469 6f6e 2069 6e70 7574 2061 6e64 ration input and\n+0011ac00: 206f 7574 7075 742e 3c2f 703e 0a3c 703e output. \n+0011ac10: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n+0011ac30: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n+0011ac40: 703e 0a3c 6832 3e3c 6120 636c 6173 733d p>. A receive\n+0011acb0: 7220 6d75 7374 2062 6520 696e 666f 726d r must be inform\n+0011acc0: 6564 2074 6f20 7265 636f 676e 697a 6520 ed to recognize \n+0011acd0: 4d54 4f4d 2061 7474 6163 686d 656e 7473 MTOM attachments\n+0011ace0: 2062 7920 7365 7474 696e 6720 7468 6520 by setting the \n+0011acf0: 3c63 6f64 653e 2353 4f41 505f 454e 435f When using w\n+0011adf0: 7364 6c32 6820 746f 2062 7569 6c64 2063 sdl2h to build c\n+0011ae00: 6c69 656e 7473 2061 6e64 2f6f 7220 7365 lients and/or se\n+0011ae10: 7276 6963 6573 2c20 796f 7520 7368 6f75 rvices, you shou\n+0011ae20: 6c64 2075 7365 2074 6865 203c 656d 3e3c ld use the <\n+0011ae30: 636f 6465 3e74 7970 656d 6170 2e64 6174 code>typemap.dat\n+0011ae40: 3c2f 636f 6465 3e3c 2f65 6d3e 2066 696c fil\n+0011ae50: 6520 696e 636c 7564 6564 2069 6e20 7468 e included in th\n+0011ae60: 6520 6753 4f41 5020 736f 7572 6365 2063 e gSOAP source c\n+0011ae70: 6f64 6520 7061 636b 6167 652e 2054 6865 ode package. The\n+0011ae80: 203c 656d 3e3c 636f 6465 3e74 7970 656d The wsdl2h \n+0011afc0: 746f 6f6c 2075 7365 7320 7468 6520 3c65 tool uses the The Let's ta\n+0011b400: 6b65 2061 206c 6f6f 6b20 6174 2061 6e20 ke a look at an \n+0011b410: 6578 616d 706c 652e 2054 6865 2077 7364 example. The wsd\n+0011b420: 6c32 6820 696d 706f 7274 6572 2067 656e l2h importer gen\n+0011b430: 6572 6174 6573 2061 2068 6561 6465 7220 erates a header \n+0011b440: 6669 6c65 2077 6974 6820 3c63 6f64 653e file with Supp\n+0011b6c0: 6f73 6520 7468 6520 5753 444c 2064 6566 ose the WSDL def\n+0011b6d0: 696e 6573 2061 6e20 6f70 6572 6174 696f ines an operatio\n+0011b6e0: 6e3a 3c2f 703e 0a3c 6469 7620 636c 6173 n: After gen\n+0011b7d0: 6572 6174 696e 6720 7468 6520 7374 7562 erating the stub\n+0011b7e0: 2066 756e 6374 696f 6e73 2077 6974 6820 functions with \n+0011b7f0: 7468 6520 736f 6170 6370 7032 2074 6f6f the soapcpp2 too\n+0011b800: 6c2c 2077 6520 6361 6e20 696e 766f 6b65 l, we can invoke\n+0011b810: 2074 6865 2073 7475 6220 6174 2074 6865 the stub at the\n+0011b820: 2063 6c69 656e 7420 7369 6465 2077 6974 client side wit\n+0011b830: 683a 3c2f 703e 0a3c 6469 7620 636c 6173 h: Note\n+0011c170: 2074 6861 7420 7468 6520 3c63 6f64 653e that the At th\n+0011c200: 6520 7365 7276 6572 2073 6964 652c 2077 e server side, w\n+0011c210: 6520 7368 6f77 2061 6e20 6578 616d 706c e show an exampl\n+0011c220: 6520 6f66 2061 6e20 6f70 6572 6174 696f e of an operatio\n+0011c230: 6e20 6861 6e64 6c65 7220 7468 6174 206a n handler that j\n+0011c240: 7573 7420 636f 7069 6573 2074 6865 2069 ust copies the i\n+0011c250: 6e70 7574 2064 6174 6120 746f 206f 7574 nput data to out\n+0011c260: 7075 743a 3c2f 703e 0a3c 6469 7620 636c put: The serv\n-0011c4f0: 6572 206d 7573 7420 7573 6520 7468 6520 er must use the \n-0011c500: 3c63 6f64 653e 2353 4f41 505f 454e 435f .... <\n-0011c5d0: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n-0011c5e0: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n-0011c5f0: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents Streaming\n-0011c650: 204d 494d 452f 4d54 4f4d 2069 7320 6163 MIME/MTOM is ac\n-0011c660: 6869 6576 6564 2077 6974 6820 6361 6c6c hieved with call\n-0011c670: 6261 636b 2066 756e 6374 696f 6e73 2074 back functions t\n-0011c680: 6f20 6665 7463 6820 616e 6420 7374 6f72 o fetch and stor\n-0011c690: 6520 6461 7461 2064 7572 696e 6720 7472 e data during tr\n-0011c6a0: 616e 736d 6973 7369 6f6e 2e20 5468 7265 ansmission. Thre\n-0011c6b0: 6520 6675 6e63 7469 6f6e 2063 616c 6c62 e function callb\n-0011c6c0: 6163 6b73 2066 6f72 2073 7472 6561 6d69 acks for streami\n-0011c6d0: 6e67 204d 494d 452f 4d54 4f4d 206f 7574 ng MIME/MTOM out\n-0011c6e0: 7075 7420 616e 6420 7468 7265 6520 6361 put and three ca\n-0011c6f0: 6c6c 6261 636b 7320 666f 7220 7374 7265 llbacks for stre\n-0011c700: 616d 696e 6720 4d49 4d45 2f4d 544f 4d20 aming MIME/MTOM \n-0011c710: 696e 7075 7420 6172 6520 6176 6169 6c61 input are availa\n-0011c720: 626c 652e 3c2f 703e 0a3c 756c 3e0a 3c6c ble. In addition,\n-0011ee40: 2061 203c 636f 6465 3e76 6f69 642a 203c a The fo\n-0011f0b0: 6c6c 6f77 696e 6720 6578 616d 706c 6520 llowing example \n-0011f0c0: 696c 6c75 7374 7261 7465 7320 7468 6520 illustrates the \n-0011f0d0: 636c 6965 6e74 2d73 6964 6520 696e 6974 client-side init\n-0011f0e0: 6961 6c69 7a61 7469 6f6e 206f 6620 616e ialization of an\n-0011f0f0: 2069 6d61 6765 2061 7474 6163 686d 656e image attachmen\n-0011f100: 7420 7374 7275 6374 2074 6f20 7374 7265 t struct to stre\n-0011f110: 616d 2061 2066 696c 6520 696e 746f 2061 am a file into a\n-0011f120: 204d 544f 4d20 6174 7461 6368 6d65 6e74 MTOM attachment\n-0011f130: 2077 6974 686f 7574 2048 5454 5020 6368 without HTTP ch\n-0011f140: 756e 6b69 6e67 2028 4854 5450 2073 7472 unking (HTTP str\n-0011f150: 6561 6d69 6e67 2063 6875 6e6b 6564 204d eaming chunked M\n-0011f160: 544f 4d20 7472 616e 7366 6572 2069 7320 TOM transfer is \n-0011f170: 7072 6573 656e 7465 6420 696e 2053 6563 presented in Sec\n-0011f180: 7469 6f6e 203c 6120 636c 6173 733d 2265 tion Streaming chun\n-0011f1c0: 6b65 6420 4d49 4d45 2f4d 544f 4d3c 2f61 ked MIME/MTOM ): Th\n+0011c4d0: 6520 7365 7276 6572 206d 7573 7420 7573 e server must us\n+0011c4e0: 6520 7468 6520 3c63 6f64 653e 2353 4f41 e the \n+0011c5b0: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n+0011c5d0: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n+0011c5e0: 703e 0a3c 6832 3e3c 6120 636c 6173 733d p>. Str\n+0011c630: 6561 6d69 6e67 204d 494d 452f 4d54 4f4d eaming MIME/MTOM\n+0011c640: 2069 7320 6163 6869 6576 6564 2077 6974 is achieved wit\n+0011c650: 6820 6361 6c6c 6261 636b 2066 756e 6374 h callback funct\n+0011c660: 696f 6e73 2074 6f20 6665 7463 6820 616e ions to fetch an\n+0011c670: 6420 7374 6f72 6520 6461 7461 2064 7572 d store data dur\n+0011c680: 696e 6720 7472 616e 736d 6973 7369 6f6e ing transmission\n+0011c690: 2e20 5468 7265 6520 6675 6e63 7469 6f6e . Three function\n+0011c6a0: 2063 616c 6c62 6163 6b73 2066 6f72 2073 callbacks for s\n+0011c6b0: 7472 6561 6d69 6e67 204d 494d 452f 4d54 treaming MIME/MT\n+0011c6c0: 4f4d 206f 7574 7075 7420 616e 6420 7468 OM output and th\n+0011c6d0: 7265 6520 6361 6c6c 6261 636b 7320 666f ree callbacks fo\n+0011c6e0: 7220 7374 7265 616d 696e 6720 4d49 4d45 r streaming MIME\n+0011c6f0: 2f4d 544f 4d20 696e 7075 7420 6172 6520 /MTOM input are \n+0011c700: 6176 6169 6c61 626c 652e 3c2f 703e 0a3c available. In add\n+0011ee20: 6974 696f 6e2c 2061 203c 636f 6465 3e76 ition, a \n+0011f090: 5468 6520 666f 6c6c 6f77 696e 6720 6578 The following ex\n+0011f0a0: 616d 706c 6520 696c 6c75 7374 7261 7465 ample illustrate\n+0011f0b0: 7320 7468 6520 636c 6965 6e74 2d73 6964 s the client-sid\n+0011f0c0: 6520 696e 6974 6961 6c69 7a61 7469 6f6e e initialization\n+0011f0d0: 206f 6620 616e 2069 6d61 6765 2061 7474 of an image att\n+0011f0e0: 6163 686d 656e 7420 7374 7275 6374 2074 achment struct t\n+0011f0f0: 6f20 7374 7265 616d 2061 2066 696c 6520 o stream a file \n+0011f100: 696e 746f 2061 204d 544f 4d20 6174 7461 into a MTOM atta\n+0011f110: 6368 6d65 6e74 2077 6974 686f 7574 2048 chment without H\n+0011f120: 5454 5020 6368 756e 6b69 6e67 2028 4854 TTP chunking (HT\n+0011f130: 5450 2073 7472 6561 6d69 6e67 2063 6875 TP streaming chu\n+0011f140: 6e6b 6564 204d 544f 4d20 7472 616e 7366 nked MTOM transf\n+0011f150: 6572 2069 7320 7072 6573 656e 7465 6420 er is presented \n+0011f160: 696e 2053 6563 7469 6f6e 203c 6120 636c in Section Streamin\n+0011f1a0: 6720 6368 756e 6b65 6420 4d49 4d45 2f4d g chunked MIME/M\n+0011f1b0: 544f 4d3c 2f61 3e20 293a 3c2f 703e 0a3c TOM ): The foll\n-00120d00: 6f77 696e 6720 6578 616d 706c 6520 696c owing example il\n-00120d10: 6c75 7374 7261 7465 7320 7468 6520 7374 lustrates the st\n-00120d20: 7265 616d 696e 6720 6f66 2061 204d 494d reaming of a MIM\n-00120d30: 452f 4d54 4f4d 2061 7474 6163 686d 656e E/MTOM attachmen\n-00120d40: 7420 696e 746f 2061 2066 696c 6520 6279 t into a file by\n-00120d50: 2061 2063 6c69 656e 743a 3c2f 703e 0a3c a client: Th\n+00120ce0: 6520 666f 6c6c 6f77 696e 6720 6578 616d e following exam\n+00120cf0: 706c 6520 696c 6c75 7374 7261 7465 7320 ple illustrates \n+00120d00: 7468 6520 7374 7265 616d 696e 6720 6f66 the streaming of\n+00120d10: 2061 204d 494d 452f 4d54 4f4d 2061 7474 a MIME/MTOM att\n+00120d20: 6163 686d 656e 7420 696e 746f 2061 2066 achment into a f\n+00120d30: 696c 6520 6279 2061 2063 6c69 656e 743a ile by a client:\n+00120d40: 3c2f 703e 0a3c 6469 7620 636c 6173 733d Mes\n-00122a00: 7361 6765 2063 6f6d 7072 6573 7369 6f6e sage compression\n-00122a10: 2077 6974 6820 3c63 6f64 653e 2353 4f41 with Note that \n-00122dd0: 7468 6520 6578 616d 706c 6520 6162 6f76 the example abov\n-00122de0: 6520 666f 7220 3c63 6f64 653e 6d69 6d65 e for Message compr\n+001229f0: 6573 7369 6f6e 2077 6974 6820 3c63 6f64 ession with Note\n+00122db0: 2074 6861 7420 7468 6520 6578 616d 706c that the exampl\n+00122dc0: 6520 6162 6f76 6520 666f 7220 3c63 6f64 e above for To read the M\n-001235c0: 544f 4d20 6461 7461 2066 6f72 2074 7261 TOM data for tra\n-001235d0: 6e73 6d69 7373 696f 6e3a 3c2f 703e 0a3c nsmission: To read\n+001235a0: 2074 6865 204d 544f 4d20 6461 7461 2066 the MTOM data f\n+001235b0: 6f72 2074 7261 6e73 6d69 7373 696f 6e3a or transmission:\n+001235c0: 3c2f 703e 0a3c 6469 7620 636c 6173 733d \n-00124470: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n-00124490: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n-001244a0: 703e 0a3c 6832 3e3c 6120 636c 6173 733d p>. Wh\n-00124520: 656e 2069 7420 6973 2070 7265 6665 7261 en it is prefera\n-00124530: 626c 6520 6f72 2072 6571 7569 7265 6420 ble or required \n-00124540: 746f 2072 6564 6972 6563 7420 696e 626f to redirect inbo\n-00124550: 756e 6420 4d49 4d45 2f4d 544f 4d20 6174 und MIME/MTOM at\n-00124560: 7461 6368 6d65 6e74 2073 7472 6561 6d73 tachment streams\n-00124570: 2062 6173 6564 206f 6e20 534f 4150 206d based on SOAP m\n-00124580: 6573 7361 6765 2062 6f64 7920 636f 6e74 essage body cont\n-00124590: 656e 742c 2077 6865 7265 2066 6f72 2065 ent, where for e\n-001245a0: 7861 6d70 6c65 2074 6865 206e 616d 6573 xample the names\n-001245b0: 206f 6620 7468 6520 7265 736f 7572 6365 of the resource\n-001245c0: 7320 6172 6520 6c69 7374 6564 2069 6e20 s are listed in \n-001245d0: 7468 6520 534f 4150 206d 6573 7361 6765 the SOAP message\n-001245e0: 2062 6f64 792c 2061 6e20 616c 7465 726e body, an altern\n-001245f0: 6174 6976 6520 6d65 6368 616e 6973 6d20 ative mechanism \n-00124600: 6d75 7374 2062 6520 7573 6564 2074 6f20 must be used to \n-00124610: 6861 6e64 6c65 2074 6865 2061 7474 6163 handle the attac\n-00124620: 686d 656e 7473 2e20 5468 6973 206d 6563 hments. This mec\n-00124630: 6861 6e69 736d 2063 616e 2062 6520 7573 hanism can be us\n-00124640: 6564 2061 7420 7468 6520 636c 6965 6e74 ed at the client\n-00124650: 2061 6e64 2073 6572 7665 7220 7369 6465 and server side\n-00124660: 2e3c 2f70 3e0a 3c70 3e42 6563 6175 7365 . Because\n-00124670: 2074 6865 2072 6f75 7469 6e67 206f 6620 the routing of \n-00124680: 7468 6520 7374 7265 616d 7320 6973 2061 the streams is a\n-00124690: 6363 6f6d 706c 6973 6865 6420 7769 7468 ccomplished with\n-001246a0: 2065 7870 6c69 6369 7420 6675 6e63 7469 explicit functi\n-001246b0: 6f6e 2063 616c 6c73 2c20 7468 6973 206d on calls, this m\n-001246c0: 6574 686f 6420 7368 6f75 6c64 206f 6e6c ethod should onl\n-001246d0: 7920 6265 2075 7365 6420 7768 656e 2072 y be used when r\n-001246e0: 6571 7569 7265 6420 616e 6420 7368 6f75 equired and shou\n-001246f0: 6c64 206e 6f74 2062 6520 636f 6e73 6964 ld not be consid\n-00124700: 6572 6564 206f 7074 696f 6e61 6c2e 2054 ered optional. T\n-00124710: 6861 7420 6973 2c20 7768 656e 2079 6f75 hat is, when you\n-00124720: 2065 6e61 626c 6520 7468 6973 206d 6574 enable this met\n-00124730: 686f 642c 2079 6f75 206d 7573 7420 6368 hod, you must ch\n-00124740: 6563 6b20 666f 7220 7065 6e64 696e 6720 eck for pending \n-00124750: 4d49 4d45 2f4d 544f 4d20 6174 7461 6368 MIME/MTOM attach\n-00124760: 6d65 6e74 7320 616e 6420 6861 6e64 6c65 ments and handle\n-00124770: 2074 6865 6d20 6170 7072 6f70 7269 6174 them appropriat\n-00124780: 656c 792e 2054 6869 7320 6973 2074 7275 ely. This is tru\n-00124790: 6520 6576 656e 2077 6865 6e20 796f 7520 e even when you \n-001247a0: 646f 6e27 7420 6578 7065 6374 204d 494d don't expect MIM\n-001247b0: 452f 4d54 4f4d 2061 7474 6163 686d 656e E/MTOM attachmen\n-001247c0: 7473 2069 6e20 7468 6520 7061 796c 6f61 ts in the payloa\n-001247d0: 642c 2062 6563 6175 7365 2074 6865 2070 d, because the p\n-001247e0: 6565 7220 6d61 7920 7472 6963 6b20 796f eer may trick yo\n-001247f0: 7520 6279 2073 656e 6469 6e67 2061 7474 u by sending att\n-00124800: 6163 686d 656e 7473 2061 6e79 7761 7920 achments anyway \n-00124810: 616e 6420 796f 7520 7368 6f75 6c64 2062 and you should b\n-00124820: 6520 7072 6570 6172 6564 2074 6f20 6163 e prepared to ac\n-00124830: 6365 7074 206f 7220 7265 6a65 6374 2074 cept or reject t\n-00124840: 6865 6d2e 3c2f 703e 0a3c 703e 5468 6520 hem. The \n-00124850: 6578 706c 6963 6974 204d 494d 452f 4d54 explicit MIME/MT\n-00124860: 4f4d 2073 7472 6561 6d69 6e67 206d 6563 OM streaming mec\n-00124870: 6861 6e69 736d 2063 6f6e 7369 7374 7320 hanism consists \n-00124880: 6f66 2074 6872 6565 2041 5049 2066 756e of three API fun\n-00124890: 6374 696f 6e73 3a3c 2f70 3e0a 3c75 6c3e ctions: E\n-00125280: 7861 6d70 6c65 2063 6c69 656e 7420 696e xample client in\n-00125290: 2043 3a3c 2f70 3e0a 3c64 6976 2063 6c61 C: When it is p\n+00124510: 7265 6665 7261 626c 6520 6f72 2072 6571 referable or req\n+00124520: 7569 7265 6420 746f 2072 6564 6972 6563 uired to redirec\n+00124530: 7420 696e 626f 756e 6420 4d49 4d45 2f4d t inbound MIME/M\n+00124540: 544f 4d20 6174 7461 6368 6d65 6e74 2073 TOM attachment s\n+00124550: 7472 6561 6d73 2062 6173 6564 206f 6e20 treams based on \n+00124560: 534f 4150 206d 6573 7361 6765 2062 6f64 SOAP message bod\n+00124570: 7920 636f 6e74 656e 742c 2077 6865 7265 y content, where\n+00124580: 2066 6f72 2065 7861 6d70 6c65 2074 6865 for example the\n+00124590: 206e 616d 6573 206f 6620 7468 6520 7265 names of the re\n+001245a0: 736f 7572 6365 7320 6172 6520 6c69 7374 sources are list\n+001245b0: 6564 2069 6e20 7468 6520 534f 4150 206d ed in the SOAP m\n+001245c0: 6573 7361 6765 2062 6f64 792c 2061 6e20 essage body, an \n+001245d0: 616c 7465 726e 6174 6976 6520 6d65 6368 alternative mech\n+001245e0: 616e 6973 6d20 6d75 7374 2062 6520 7573 anism must be us\n+001245f0: 6564 2074 6f20 6861 6e64 6c65 2074 6865 ed to handle the\n+00124600: 2061 7474 6163 686d 656e 7473 2e20 5468 attachments. Th\n+00124610: 6973 206d 6563 6861 6e69 736d 2063 616e is mechanism can\n+00124620: 2062 6520 7573 6564 2061 7420 7468 6520 be used at the \n+00124630: 636c 6965 6e74 2061 6e64 2073 6572 7665 client and serve\n+00124640: 7220 7369 6465 2e3c 2f70 3e0a 3c70 3e42 r side. B\n+00124650: 6563 6175 7365 2074 6865 2072 6f75 7469 ecause the routi\n+00124660: 6e67 206f 6620 7468 6520 7374 7265 616d ng of the stream\n+00124670: 7320 6973 2061 6363 6f6d 706c 6973 6865 s is accomplishe\n+00124680: 6420 7769 7468 2065 7870 6c69 6369 7420 d with explicit \n+00124690: 6675 6e63 7469 6f6e 2063 616c 6c73 2c20 function calls, \n+001246a0: 7468 6973 206d 6574 686f 6420 7368 6f75 this method shou\n+001246b0: 6c64 206f 6e6c 7920 6265 2075 7365 6420 ld only be used \n+001246c0: 7768 656e 2072 6571 7569 7265 6420 616e when required an\n+001246d0: 6420 7368 6f75 6c64 206e 6f74 2062 6520 d should not be \n+001246e0: 636f 6e73 6964 6572 6564 206f 7074 696f considered optio\n+001246f0: 6e61 6c2e 2054 6861 7420 6973 2c20 7768 nal. That is, wh\n+00124700: 656e 2079 6f75 2065 6e61 626c 6520 7468 en you enable th\n+00124710: 6973 206d 6574 686f 642c 2079 6f75 206d is method, you m\n+00124720: 7573 7420 6368 6563 6b20 666f 7220 7065 ust check for pe\n+00124730: 6e64 696e 6720 4d49 4d45 2f4d 544f 4d20 nding MIME/MTOM \n+00124740: 6174 7461 6368 6d65 6e74 7320 616e 6420 attachments and \n+00124750: 6861 6e64 6c65 2074 6865 6d20 6170 7072 handle them appr\n+00124760: 6f70 7269 6174 656c 792e 2054 6869 7320 opriately. This \n+00124770: 6973 2074 7275 6520 6576 656e 2077 6865 is true even whe\n+00124780: 6e20 796f 7520 646f 6e27 7420 6578 7065 n you don't expe\n+00124790: 6374 204d 494d 452f 4d54 4f4d 2061 7474 ct MIME/MTOM att\n+001247a0: 6163 686d 656e 7473 2069 6e20 7468 6520 achments in the \n+001247b0: 7061 796c 6f61 642c 2062 6563 6175 7365 payload, because\n+001247c0: 2074 6865 2070 6565 7220 6d61 7920 7472 the peer may tr\n+001247d0: 6963 6b20 796f 7520 6279 2073 656e 6469 ick you by sendi\n+001247e0: 6e67 2061 7474 6163 686d 656e 7473 2061 ng attachments a\n+001247f0: 6e79 7761 7920 616e 6420 796f 7520 7368 nyway and you sh\n+00124800: 6f75 6c64 2062 6520 7072 6570 6172 6564 ould be prepared\n+00124810: 2074 6f20 6163 6365 7074 206f 7220 7265 to accept or re\n+00124820: 6a65 6374 2074 6865 6d2e 3c2f 703e 0a3c ject them. Example cli\n+00125270: 656e 7420 696e 2043 3a3c 2f70 3e0a 3c64 ent in C: The serv\n+001265f0: 6572 2d73 6964 6520 7365 7276 6963 6520 er-side service \n+00126600: 6f70 6572 6174 696f 6e73 2061 7265 2069 operations are i\n+00126610: 6d70 6c65 6d65 6e74 6564 2061 7320 7573 mplemented as us\n+00126620: 7561 6c2c 2062 7574 2077 6974 6820 6164 ual, but with ad\n+00126630: 6469 7469 6f6e 616c 2063 6865 636b 7320 ditional checks \n+00126640: 666f 7220 4d49 4d45 2f4d 544f 4d20 6174 for MIME/MTOM at\n+00126650: 7461 6368 6d65 6e74 733a 3c2f 703e 0a3c tachments: We al\n-00128a40: 736f 2069 6e63 6c75 6465 6420 6120 3c63 so included a One-way SOAP\n-00128bf0: 2d6f 7665 722d 5544 5020 6d65 7373 6167 -over-UDP messag\n-00128c00: 6573 2028 7365 6520 5365 6374 696f 6e20 es (see Section \n-00128c10: 3c61 2063 6c61 7373 3d22 656c 2220 6872 Asynchro\n-00128c40: 6e6f 7573 206f 6e65 2d77 6179 206d 6573 nous one-way mes\n-00128c50: 7361 6765 2070 6173 7369 6e67 3c2f 613e sage passing\n-00128c60: 2029 2073 686f 756c 6420 6265 2064 6563 ) should be dec\n-00128c70: 6c61 7265 6420 746f 2069 6e63 6c75 6465 lared to include\n-00128c80: 2074 6865 203c 656d 3e3c 636f 6465 3e77 the Request-re\n-00128f80: 7370 6f6e 7365 2053 4f41 502d 6f76 6572 sponse SOAP-over\n-00128f90: 2d55 4450 206d 6573 7361 6765 7320 7368 -UDP messages sh\n-00128fa0: 6f75 6c64 2062 6520 6465 636c 6172 6564 ould be declared\n-00128fb0: 2074 6f20 696e 636c 7564 6520 7468 6520 to include the \n-00128fc0: 3c65 6d3e 3c63 6f64 653e 7773 613a 4d65 For t\n-001294a0: 6865 2063 6f6e 7465 6e74 2072 6571 7569 he content requi\n-001294b0: 7265 6d65 6e74 7320 6f66 2074 6865 7365 rements of these\n-001294c0: 2065 6c65 6d65 6e74 732c 2070 6c65 6173 elements, pleas\n-001294d0: 6520 636f 6e73 756c 7420 7468 6520 534f e consult the SO\n-001294e0: 4150 2d6f 7665 722d 5544 5020 7370 6563 AP-over-UDP spec\n-001294f0: 6966 6963 6174 696f 6e20 616e 642f 6f72 ification and/or\n-00129500: 2072 6561 6420 7468 6520 6e65 7874 2073 read the next s\n-00129510: 6563 7469 6f6e 7320 6578 706c 6169 6e69 ections explaini\n-00129520: 6e67 2053 4f41 502d 6f76 6572 2d55 4450 ng SOAP-over-UDP\n-00129530: 2075 6e69 6361 7374 2c20 6d75 6c74 6963 unicast, multic\n-00129540: 6173 742c 206f 6e65 2d77 6179 2c20 616e ast, one-way, an\n-00129550: 6420 7265 7175 6573 742d 7265 7370 6f6e d request-respon\n-00129560: 7365 2063 6c69 656e 7420 616e 6420 7365 se client and se\n-00129570: 7276 6572 2061 7070 6c69 6361 7469 6f6e rver application\n-00129580: 732e 3c2f 703e 0a3c 703e f09f 949d 203c s. .... <\n-00129590: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n-001295a0: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n-001295b0: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6833 ents Thi\n-00129610: 7320 6578 616d 706c 6520 6173 7375 6d65 s example assume\n-00129620: 7320 7468 6174 2074 6865 2069 6e74 6572 s that the inter\n-00129630: 6661 6365 2068 6561 6465 7220 6669 6c65 face header file\n-00129640: 2069 6e63 6c75 6465 7320 7468 6520 534f includes the SO\n-00129650: 4150 2048 6561 6465 7220 7769 7468 2057 AP Header with W\n-00129660: 532d 4164 6472 6573 7369 6e67 2065 6c65 S-Addressing ele\n-00129670: 6d65 6e74 732c 2073 6565 203c 6120 636c ments, see The WS-Addr\n-001296b0: 6573 7369 6e67 2070 6c75 6769 6e3c 2f61 essing plugin, and the .... <\n+00127510: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n+00127520: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n+00127530: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents To\n+00127590: 2073 656e 6420 4d49 4d45 2f4d 544f 4d20 send MIME/MTOM \n+001275a0: 6174 7461 6368 6d65 6e74 732c 2074 6865 attachments, the\n+001275b0: 2061 7474 6163 686d 656e 7420 7369 7a65 attachment size\n+001275c0: 7320 6d75 7374 2062 6520 6465 7465 726d s must be determ\n+001275d0: 696e 6564 2069 6e20 6164 7661 6e63 6520 ined in advance \n+001275e0: 746f 2063 616c 6375 6c61 7465 2048 5454 to calculate HTT\n+001275f0: 5020 6d65 7373 6167 6520 6c65 6e67 7468 P message length\n+00127600: 2072 6571 7569 7265 6420 746f 2073 7472 required to str\n+00127610: 6561 6d20 4d49 4d45 2f4d 544f 4d20 6f76 eam MIME/MTOM ov\n+00127620: 6572 2048 5454 502e 2048 6f77 6576 6572 er HTTP. However\n+00127630: 2c20 6368 756e 6b65 6420 4d49 4d45 2f4d , chunked MIME/M\n+00127640: 544f 4d20 746f 6765 7468 6572 2077 6974 TOM together wit\n+00127650: 6820 6368 756e 6b65 6420 4854 5450 2063 h chunked HTTP c\n+00127660: 616e 2062 6520 7573 6564 2074 6f20 6f6d an be used to om\n+00127670: 6974 2074 6869 7320 7374 6570 2e20 4669 it this step. Fi\n+00127680: 7273 7420 7365 7420 7468 6520 3c63 6f64 rst set the ...\n+00127a00: 9d20 3c61 2068 7265 663d 2223 223e 4261 . Ba\n+00127a10: 636b 2074 6f20 7461 626c 6520 6f66 2063 ck to table of c\n+00127a20: 6f6e 7465 6e74 733c 2f61 3e3c 2f70 3e0a ontents UD\n+00127a70: 5020 6973 2061 2073 696d 706c 652c 2075 P is a simple, u\n+00127a80: 6e72 656c 6961 626c 6520 6461 7461 6772 nreliable datagr\n+00127a90: 616d 2070 726f 746f 636f 6c3a 2055 4450 am protocol: UDP\n+00127aa0: 2073 6f63 6b65 7473 2061 7265 2063 6f6e sockets are con\n+00127ab0: 6e65 6374 696f 6e6c 6573 732e 2055 4450 nectionless. UDP\n+00127ac0: 2061 6464 7265 7373 2066 6f72 6d61 7473 address formats\n+00127ad0: 2061 7265 2069 6465 6e74 6963 616c 2074 are identical t\n+00127ae0: 6f20 7468 6f73 6520 7573 6564 2062 7920 o those used by \n+00127af0: 5443 502e 2049 6e20 7061 7274 6963 756c TCP. In particul\n+00127b00: 6172 2055 4450 2070 726f 7669 6465 7320 ar UDP provides \n+00127b10: 6120 706f 7274 2069 6465 6e74 6966 6965 a port identifie\n+00127b20: 7220 696e 2061 6464 6974 696f 6e20 746f r in addition to\n+00127b30: 2074 6865 206e 6f72 6d61 6c20 496e 7465 the normal Inte\n+00127b40: 726e 6574 2061 6464 7265 7373 2066 6f72 rnet address for\n+00127b50: 6d61 742e 2054 6865 2055 4450 2070 6f72 mat. The UDP por\n+00127b60: 7420 7370 6163 6520 6973 2073 6570 6172 t space is separ\n+00127b70: 6174 6520 6672 6f6d 2074 6865 2054 4350 ate from the TCP\n+00127b80: 2070 6f72 7420 7370 6163 6520 2869 2e65 port space (i.e\n+00127b90: 2e20 6120 5544 5020 706f 7274 206d 6179 . a UDP port may\n+00127ba0: 206e 6f74 2062 6520 2263 6f6e 6e65 6374 not be \"connect\n+00127bb0: 6564 2220 746f 2061 2054 4350 2070 6f72 ed\" to a TCP por\n+00127bc0: 7429 2e20 496e 2061 6464 6974 696f 6e20 t). In addition \n+00127bd0: 6272 6f61 6463 6173 7420 7061 636b 6574 broadcast packet\n+00127be0: 7320 6d61 7920 6265 2073 656e 7420 2861 s may be sent (a\n+00127bf0: 7373 756d 696e 6720 7468 6520 756e 6465 ssuming the unde\n+00127c00: 726c 7969 6e67 206e 6574 776f 726b 2073 rlying network s\n+00127c10: 7570 706f 7274 7320 7468 6973 2920 6279 upports this) by\n+00127c20: 2075 7369 6e67 2061 2072 6573 6572 7665 using a reserve\n+00127c30: 6420 2262 726f 6164 6361 7374 0a61 6464 d \"broadcast.add\n+00127c40: 7265 7373 223b 2074 6869 7320 6164 6472 ress\"; this addr\n+00127c50: 6573 7320 6973 206e 6574 776f 726b 2069 ess is network i\n+00127c60: 6e74 6572 6661 6365 2064 6570 656e 6465 nterface depende\n+00127c70: 6e74 2e3c 2f70 3e0a 3c70 3e43 6c69 656e nt. Clien\n+00127c80: 742d 7369 6465 206d 6573 7361 6765 7320 t-side messages \n+00127c90: 7769 7468 2053 4f41 502d 6f76 6572 2d55 with SOAP-over-U\n+00127ca0: 4450 2065 6e64 706f 696e 7420 5552 4c73 DP endpoint URLs\n+00127cb0: 2028 3c63 6f64 653e 736f 6170 2e75 6470 ( The maximum mes\n+00127fd0: 7361 6765 206c 656e 6774 6820 666f 7220 sage length for \n+00127fe0: 6461 7461 6772 616d 2070 6163 6b65 7473 datagram packets\n+00127ff0: 2069 7320 7265 7374 7269 6374 6564 2062 is restricted b\n+00128000: 7920 7468 6520 6275 6666 6572 2073 697a y the buffer siz\n+00128010: 6520 3c63 6f64 653e 2353 4f41 505f 4255 e The \n+00128240: 534f 4150 2d6f 7665 722d 5544 5020 7370 SOAP-over-UDP sp\n+00128250: 6563 6966 6963 6174 696f 6e20 7265 6c69 ecification reli\n+00128260: 6573 206f 6e20 5753 2d41 6464 7265 7373 es on WS-Address\n+00128270: 696e 672e 2054 6865 203c 656d 3e3c 636f ing. The The\n+00128310: 2067 534f 4150 2069 6d70 6c65 6d65 6e74 gSOAP implement\n+00128320: 6174 696f 6e20 636f 6e66 6f72 6d73 2074 ation conforms t\n+00128330: 6f20 7468 6520 534f 4150 2d6f 7665 722d o the SOAP-over-\n+00128340: 5544 5020 7265 7175 6972 656d 656e 7473 UDP requirements\n+00128350: 3a3c 2f70 3e0a 3c75 6c3e 0a3c 6c69 3e53 : The followi\n+00128540: 6e67 2061 6464 6974 696f 6e61 6c20 6665 ng additional fe\n+00128550: 6174 7572 6573 2061 7265 2061 6c73 6f20 atures are also \n+00128560: 6176 6169 6c61 626c 652c 2062 7574 2061 available, but a\n+00128570: 7265 206e 6f74 2073 7570 706f 7274 6564 re not supported\n+00128580: 2062 7920 7468 6520 534f 4150 2d6f 7665 by the SOAP-ove\n+00128590: 722d 5544 5020 7370 6563 6966 6963 6174 r-UDP specificat\n+001285a0: 696f 6e3a 3c2f 703e 0a3c 756c 3e0a 3c6c ion: .... <\n+001286c0: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n+001286d0: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n+001286e0: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents A SOAP-over-U\n+00128750: 4450 2061 7070 6c69 6361 7469 6f6e 206d DP application m\n+00128760: 6179 2075 7365 2057 532d 4164 6472 6573 ay use WS-Addres\n+00128770: 7369 6e67 2074 6f20 636f 6e74 726f 6c20 sing to control \n+00128780: 6d65 7373 6167 6520 6465 6c69 7665 7279 message delivery\n+00128790: 2061 7320 7065 7220 534f 4150 2d6f 7665 as per SOAP-ove\n+001287a0: 722d 5544 5020 7370 6563 6966 6963 6174 r-UDP specificat\n+001287b0: 696f 6e2e 3c2f 703e 0a3c 703e 5468 6520 ion. The \n+001287c0: 3c65 6d3e 3c63 6f64 653e 7773 612e 683c We also include\n+00128a30: 6420 6120 3c63 6f64 653e 2f2f 6773 6f61 d a One-wa\n+00128bd0: 7920 534f 4150 2d6f 7665 722d 5544 5020 y SOAP-over-UDP \n+00128be0: 6d65 7373 6167 6573 2028 7365 6520 5365 messages (see Se\n+00128bf0: 6374 696f 6e20 3c61 2063 6c61 7373 3d22 ction As\n+00128c20: 796e 6368 726f 6e6f 7573 206f 6e65 2d77 ynchronous one-w\n+00128c30: 6179 206d 6573 7361 6765 2070 6173 7369 ay message passi\n+00128c40: 6e67 3c2f 613e 2029 2073 686f 756c 6420 ng ) should \n+00128c50: 6265 2064 6563 6c61 7265 6420 746f 2069 be declared to i\n+00128c60: 6e63 6c75 6465 2074 6865 203c 656d 3e3c nclude the <\n+00128c70: 636f 6465 3e77 7361 3a4d 6573 7361 6765 code>wsa:Message\n+00128c80: 4944 3c2f 636f 6465 3e3c 2f65 6d3e 2c20 ID, \n+00128c90: 3c65 6d3e 3c63 6f64 653e 7773 613a 546f Requ\n+00128f60: 6573 742d 7265 7370 6f6e 7365 2053 4f41 est-response SOA\n+00128f70: 502d 6f76 6572 2d55 4450 206d 6573 7361 P-over-UDP messa\n+00128f80: 6765 7320 7368 6f75 6c64 2062 6520 6465 ges should be de\n+00128f90: 636c 6172 6564 2074 6f20 696e 636c 7564 clared to includ\n+00128fa0: 6520 7468 6520 3c65 6d3e 3c63 6f64 653e e the For the content\n+00129490: 2072 6571 7569 7265 6d65 6e74 7320 6f66 requirements of\n+001294a0: 2074 6865 7365 2065 6c65 6d65 6e74 732c these elements,\n+001294b0: 2070 6c65 6173 6520 636f 6e73 756c 7420 please consult \n+001294c0: 7468 6520 534f 4150 2d6f 7665 722d 5544 the SOAP-over-UD\n+001294d0: 5020 7370 6563 6966 6963 6174 696f 6e20 P specification \n+001294e0: 616e 642f 6f72 2072 6561 6420 7468 6520 and/or read the \n+001294f0: 6e65 7874 2073 6563 7469 6f6e 7320 6578 next sections ex\n+00129500: 706c 6169 6e69 6e67 2053 4f41 502d 6f76 plaining SOAP-ov\n+00129510: 6572 2d55 4450 2075 6e69 6361 7374 2c20 er-UDP unicast, \n+00129520: 6d75 6c74 6963 6173 742c 206f 6e65 2d77 multicast, one-w\n+00129530: 6179 2c20 616e 6420 7265 7175 6573 742d ay, and request-\n+00129540: 7265 7370 6f6e 7365 2063 6c69 656e 7420 response client \n+00129550: 616e 6420 7365 7276 6572 2061 7070 6c69 and server appli\n+00129560: 6361 7469 6f6e 732e 3c2f 703e 0a3c 703e cations. \n+00129570: f09f 949d 203c 6120 6872 6566 3d22 2322 .... Back to table o\n+00129590: 6620 636f 6e74 656e 7473 3c2f 613e 3c2f f contents\n+001295a0: 703e 0a3c 6833 3e3c 6120 636c 6173 733d p>. This example \n+00129600: 6173 7375 6d65 7320 7468 6174 2074 6865 assumes that the\n+00129610: 2069 6e74 6572 6661 6365 2068 6561 6465 interface heade\n+00129620: 7220 6669 6c65 2069 6e63 6c75 6465 7320 r file includes \n+00129630: 7468 6520 534f 4150 2048 6561 6465 7220 the SOAP Header \n+00129640: 7769 7468 2057 532d 4164 6472 6573 7369 with WS-Addressi\n+00129650: 6e67 2065 6c65 6d65 6e74 732c 2073 6565 ng elements, see\n+00129660: 203c 6120 636c 6173 733d 2265 6c22 2068 The W\n+00129690: 532d 4164 6472 6573 7369 6e67 2070 6c75 S-Addressing plu\n+001296a0: 6769 6e3c 2f61 3e2c 2061 6e64 2074 6865 gin, and the\n+001296b0: 203c 636f 6465 3e6e 735f 5f73 656e 6453 This ex\n-0012a310: 616d 706c 6520 6973 2073 696d 696c 6172 ample is similar\n-0012a320: 2074 6f20 7468 6520 6f6e 652d 7761 7920 to the one-way \n-0012a330: 756e 6963 6173 7420 6578 616d 706c 6520 unicast example \n-0012a340: 6469 7363 7573 7365 6420 6162 6f76 652c discussed above,\n-0012a350: 2062 7574 2075 7365 7320 6120 6272 6f61 but uses a broa\n-0012a360: 6463 6173 7420 6164 6472 6573 7320 616e dcast address an\n-0012a370: 6420 7468 6520 3c63 6f64 653e 534f 5f42 d the Please re\n-0012b880: 6665 7220 746f 2074 6865 2073 6f63 6b65 fer to the socke\n-0012b890: 7420 6f70 7469 6f6e 7320 666f 7220 3c63 t options for Pleas\n-0012b9f0: 6520 7265 6665 7220 746f 2074 6865 2073 e refer to the s\n-0012ba00: 6f63 6b65 7420 6f70 7469 6f6e 7320 666f ocket options fo\n-0012ba10: 7220 3c63 6f64 653e 4950 5052 4f54 4f5f r Thi\n-0012bbb0: 7320 6578 616d 706c 6520 6173 7375 6d65 s example assume\n-0012bbc0: 7320 7468 6174 2074 6865 2069 6e74 6572 s that the inter\n-0012bbd0: 6661 6365 2068 6561 6465 7220 6669 6c65 face header file\n-0012bbe0: 2066 6f72 2073 6f61 7063 7070 3220 696e for soapcpp2 in\n-0012bbf0: 636c 7564 6573 2074 6865 2053 4f41 5020 cludes the SOAP \n-0012bc00: 4865 6164 6572 2077 6974 6820 5753 2d41 Header with WS-A\n-0012bc10: 6464 7265 7373 696e 6720 656c 656d 656e ddressing elemen\n-0012bc20: 7473 2069 6d70 6f72 7465 6420 7769 7468 ts imported with\n-0012bc30: 203c 636f 6465 3e23 696d 706f 7274 2022 ..\n-0012cac0: 949d 203c 6120 6872 6566 3d22 2322 3e42 .. B\n-0012cad0: 6163 6b20 746f 2074 6162 6c65 206f 6620 ack to table of \n-0012cae0: 636f 6e74 656e 7473 3c2f 613e 3c2f 703e contents This ex\n-0012cb60: 616d 706c 6520 6973 2073 696d 696c 6172 ample is similar\n-0012cb70: 2074 6f20 7468 6520 7265 7175 6573 742d to the request-\n-0012cb80: 7265 7370 6f6e 7365 2075 6e69 6361 7374 response unicast\n-0012cb90: 2065 7861 6d70 6c65 2064 6973 6375 7373 example discuss\n-0012cba0: 6564 2061 626f 7665 2c20 6275 7420 7573 ed above, but us\n-0012cbb0: 6573 2061 2062 726f 6164 6361 7374 2061 es a broadcast a\n-0012cbc0: 6464 7265 7373 2061 6e64 2074 6865 203c ddress and the <\n-0012cbd0: 636f 6465 3e53 4f5f 4252 4f41 4443 4153 code>SO_BROADCAS\n-0012cbe0: 543c 2f63 6f64 653e 2073 6f63 6b65 7420 T socket \n-0012cbf0: 6f70 7469 6f6e 2e20 4265 6361 7573 6520 option. Because \n-0012cc00: 7765 2065 7870 6563 7420 746f 2072 6563 we expect to rec\n-0012cc10: 6569 7665 206d 756c 7469 706c 6520 7265 eive multiple re\n-0012cc20: 7370 6f6e 7365 732c 2077 6520 616c 736f sponses, we also\n-0012cc30: 206e 6565 6420 746f 2075 7365 2073 6570 need to use sep\n-0012cc40: 6172 6174 6520 7265 7175 6573 742d 7265 arate request-re\n-0012cc50: 7370 6f6e 7365 206d 6573 7361 6765 7320 sponse messages \n-0012cc60: 746f 2073 656e 6420 6f6e 6520 7265 7175 to send one requ\n-0012cc70: 6573 7420 616e 6420 636f 6e73 756d 6520 est and consume \n-0012cc80: 6d75 6c74 6970 6c65 2072 6573 706f 6e73 multiple respons\n-0012cc90: 6573 2e20 496e 2074 6869 7320 6578 616d es. In this exam\n-0012cca0: 706c 6520 7765 2064 6566 696e 6564 2061 ple we defined a\n-0012ccb0: 203c 636f 6465 3e62 6361 7374 5374 7269 To obtain res\n-0012d2f0: 706f 6e73 6520 6f6e 652d 7761 7920 6f70 ponse one-way op\n-0012d300: 6572 6174 696f 6e73 2c20 7573 6520 3c61 erations, use The cl\n-0012d370: 6965 6e74 2063 6f64 6520 696e 636c 7564 ient code includ\n-0012d380: 6573 2061 206c 6f6f 7020 746f 2072 6563 es a loop to rec\n-0012d390: 6569 7665 2072 6573 706f 6e73 6520 6d65 eive response me\n-0012d3a0: 7373 6167 6573 2075 6e74 696c 2061 2074 ssages until a t\n-0012d3b0: 696d 656f 7574 206f 6363 7572 733a 3c2f imeout occurs:\n-0012d3c0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. T\n+0012a2f0: 6869 7320 6578 616d 706c 6520 6973 2073 his example is s\n+0012a300: 696d 696c 6172 2074 6f20 7468 6520 6f6e imilar to the on\n+0012a310: 652d 7761 7920 756e 6963 6173 7420 6578 e-way unicast ex\n+0012a320: 616d 706c 6520 6469 7363 7573 7365 6420 ample discussed \n+0012a330: 6162 6f76 652c 2062 7574 2075 7365 7320 above, but uses \n+0012a340: 6120 6272 6f61 6463 6173 7420 6164 6472 a broadcast addr\n+0012a350: 6573 7320 616e 6420 7468 6520 3c63 6f64 ess and the Ple\n+0012b860: 6173 6520 7265 6665 7220 746f 2074 6865 ase refer to the\n+0012b870: 2073 6f63 6b65 7420 6f70 7469 6f6e 7320 socket options \n+0012b880: 666f 7220 3c63 6f64 653e 4950 5052 4f54 for Please refer to\n+0012b9e0: 2074 6865 2073 6f63 6b65 7420 6f70 7469 the socket opti\n+0012b9f0: 6f6e 7320 666f 7220 3c63 6f64 653e 4950 ons for This example \n+0012bba0: 6173 7375 6d65 7320 7468 6174 2074 6865 assumes that the\n+0012bbb0: 2069 6e74 6572 6661 6365 2068 6561 6465 interface heade\n+0012bbc0: 7220 6669 6c65 2066 6f72 2073 6f61 7063 r file for soapc\n+0012bbd0: 7070 3220 696e 636c 7564 6573 2074 6865 pp2 includes the\n+0012bbe0: 2053 4f41 5020 4865 6164 6572 2077 6974 SOAP Header wit\n+0012bbf0: 6820 5753 2d41 6464 7265 7373 696e 6720 h WS-Addressing \n+0012bc00: 656c 656d 656e 7473 2069 6d70 6f72 7465 elements importe\n+0012bc10: 6420 7769 7468 203c 636f 6465 3e23 696d d with To obta\n+0012d2d0: 696e 2072 6573 706f 6e73 6520 6f6e 652d in response one-\n+0012d2e0: 7761 7920 6f70 6572 6174 696f 6e73 2c20 way operations, \n+0012d2f0: 7573 6520 3c61 2068 7265 663d 2223 7773 use \n+0012d350: 5468 6520 636c 6965 6e74 2063 6f64 6520 The client code \n+0012d360: 696e 636c 7564 6573 2061 206c 6f6f 7020 includes a loop \n+0012d370: 746f 2072 6563 6569 7665 2072 6573 706f to receive respo\n+0012d380: 6e73 6520 6d65 7373 6167 6573 2075 6e74 nse messages unt\n+0012d390: 696c 2061 2074 696d 656f 7574 206f 6363 il a timeout occ\n+0012d3a0: 7572 733a 3c2f 703e 0a3c 6469 7620 636c urs: Note t\n-0012e610: 6861 7420 6120 7365 7276 6572 2066 6f72 hat a server for\n-0012e620: 2074 6865 203c 636f 6465 3e62 6361 7374 the \n-0012e770: 5468 6520 666f 6c6c 6f77 696e 6720 6578 The following ex\n-0012e780: 616d 706c 6520 636f 6465 2069 6c6c 7573 ample code illus\n-0012e790: 7472 6174 6573 2061 2053 4f41 502d 6f76 trates a SOAP-ov\n-0012e7a0: 6572 2d55 4450 2073 6572 7665 7220 666f er-UDP server fo\n-0012e7b0: 7220 6f6e 652d 7761 7920 3c63 6f64 653e r one-way \n+0012e5f0: 4e6f 7465 2074 6861 7420 6120 7365 7276 Note that a serv\n+0012e600: 6572 2066 6f72 2074 6865 203c 636f 6465 er for the .... <\n+0012e6e0: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n+0012e6f0: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n+0012e700: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6832 ents The follow\n+0012e760: 696e 6720 6578 616d 706c 6520 636f 6465 ing example code\n+0012e770: 2069 6c6c 7573 7472 6174 6573 2061 2053 illustrates a S\n+0012e780: 4f41 502d 6f76 6572 2d55 4450 2073 6572 OAP-over-UDP ser\n+0012e790: 7665 7220 666f 7220 6f6e 652d 7761 7920 ver for one-way \n+0012e7a0: 3c63 6f64 653e 7365 6e64 5374 7269 6e67 The serv\n-001308a0: 6572 2062 696e 6473 2074 6f20 6120 686f er binds to a ho\n-001308b0: 7374 2061 6e64 2070 6f72 7420 616e 6420 st and port and \n-001308c0: 6163 6365 7074 7320 6d65 7373 6167 6573 accepts messages\n-001308d0: 2069 6e20 6120 6c6f 6f70 2e20 4265 6361 in a loop. Beca\n-001308e0: 7573 6520 5544 5020 646f 6573 206e 6f74 use UDP does not\n-001308f0: 2068 6176 6520 7468 6520 6571 7569 7661 have the equiva\n-00130900: 6c65 6e74 206f 6620 616e 2061 6363 6570 lent of an accep\n-00130910: 742c 2074 6865 206d 6573 7361 6765 7320 t, the messages \n-00130920: 6361 6e6e 6f74 2062 6520 6469 7370 6174 cannot be dispat\n-00130930: 6368 6564 2074 6f20 7468 7265 6164 732e ched to threads.\n-00130940: 2049 6e73 7465 6164 2074 6865 203c 636f Instead the To obtain\n-00130bb0: 2072 6573 706f 6e73 6520 6f6e 652d 7761 response one-wa\n-00130bc0: 7920 6f70 6572 6174 696f 6e73 2066 726f y operations fro\n-00130bd0: 6d20 6120 5753 444c 2c20 7573 6520 3c61 m a WSDL, use For U\n-00130d60: 4450 206d 756c 7469 6361 7374 2073 7570 DP multicast sup\n-00130d70: 706f 7274 2c20 666f 6c6c 6f77 2074 6865 port, follow the\n-00130d80: 2073 7567 6765 7374 696f 6e73 2069 6e20 suggestions in \n-00130d90: 5365 6374 696f 6e20 3c61 2063 6c61 7373 Section SOAP-over-UD\n-00130dd0: 5020 7365 7276 6572 3c2f 613e 2061 6e64 P server and\n-00130de0: 2063 6861 6e67 6520 7468 6520 696e 6974 change the init\n-00130df0: 6961 6c69 7a61 7469 6f6e 2070 6172 7473 ialization parts\n-00130e00: 206f 6620 7468 6520 636f 6465 2074 6f20 of the code to \n-00130e10: 656e 6162 6c65 2055 4450 206d 756c 7469 enable UDP multi\n-00130e20: 6361 7374 2070 6f72 7420 6269 6e64 696e cast port bindin\n-00130e30: 6720 6279 2074 6f20 7465 6c6c 696e 6720 g by to telling \n-00130e40: 7468 6520 6b65 726e 656c 2077 6869 6368 the kernel which\n-00130e50: 206d 756c 7469 6361 7374 2067 726f 7570 multicast group\n-00130e60: 7320 796f 7520 6172 6520 696e 7465 7265 s you are intere\n-00130e70: 7374 6564 2069 6e3a 3c2f 703e 0a3c 6469 sted in: Th\n+00130880: 6520 7365 7276 6572 2062 696e 6473 2074 e server binds t\n+00130890: 6f20 6120 686f 7374 2061 6e64 2070 6f72 o a host and por\n+001308a0: 7420 616e 6420 6163 6365 7074 7320 6d65 t and accepts me\n+001308b0: 7373 6167 6573 2069 6e20 6120 6c6f 6f70 ssages in a loop\n+001308c0: 2e20 4265 6361 7573 6520 5544 5020 646f . Because UDP do\n+001308d0: 6573 206e 6f74 2068 6176 6520 7468 6520 es not have the \n+001308e0: 6571 7569 7661 6c65 6e74 206f 6620 616e equivalent of an\n+001308f0: 2061 6363 6570 742c 2074 6865 206d 6573 accept, the mes\n+00130900: 7361 6765 7320 6361 6e6e 6f74 2062 6520 sages cannot be \n+00130910: 6469 7370 6174 6368 6564 2074 6f20 7468 dispatched to th\n+00130920: 7265 6164 732e 2049 6e73 7465 6164 2074 reads. Instead t\n+00130930: 6865 203c 636f 6465 3e3c 6120 636c 6173 he To \n+00130b90: 6f62 7461 696e 2072 6573 706f 6e73 6520 obtain response \n+00130ba0: 6f6e 652d 7761 7920 6f70 6572 6174 696f one-way operatio\n+00130bb0: 6e73 2066 726f 6d20 6120 5753 444c 2c20 ns from a WSDL, \n+00130bc0: 7573 6520 3c61 2068 7265 663d 2223 7773 use For UDP multica\n+00130d50: 7374 2073 7570 706f 7274 2c20 666f 6c6c st support, foll\n+00130d60: 6f77 2074 6865 2073 7567 6765 7374 696f ow the suggestio\n+00130d70: 6e73 2069 6e20 5365 6374 696f 6e20 3c61 ns in Section SOAP-o\n+00130db0: 7665 722d 5544 5020 7365 7276 6572 3c2f ver-UDP server\n+00130dc0: 613e 2061 6e64 2063 6861 6e67 6520 7468 a> and change th\n+00130dd0: 6520 696e 6974 6961 6c69 7a61 7469 6f6e e initialization\n+00130de0: 2070 6172 7473 206f 6620 7468 6520 636f parts of the co\n+00130df0: 6465 2074 6f20 656e 6162 6c65 2055 4450 de to enable UDP\n+00130e00: 206d 756c 7469 6361 7374 2070 6f72 7420 multicast port \n+00130e10: 6269 6e64 696e 6720 6279 2074 6f20 7465 binding by to te\n+00130e20: 6c6c 696e 6720 7468 6520 6b65 726e 656c lling the kernel\n+00130e30: 2077 6869 6368 206d 756c 7469 6361 7374 which multicast\n+00130e40: 2067 726f 7570 7320 796f 7520 6172 6520 groups you are \n+00130e50: 696e 7465 7265 7374 6564 2069 6e3a 3c2f interested in:\n+00130e60: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>. The following\n-001360d0: 2068 6561 6465 7220 6669 6c65 2066 6f72 header file for\n-001360e0: 2073 6f61 7063 7070 3220 7265 6665 7273 soapcpp2 refers\n-001360f0: 2074 6f20 3c63 6f64 653e 7374 643a 3a6f to .... <\n+00131b00: 6120 6872 6566 3d22 2322 3e42 6163 6b20 a href=\"#\">Back \n+00131b10: 746f 2074 6162 6c65 206f 6620 636f 6e74 to table of cont\n+00131b20: 656e 7473 3c2f 613e 3c2f 703e 0a3c 6831 ents The follow\n+00131b80: 696e 6720 6d61 6372 6f73 2061 7265 2064 ing macros are d\n+00131b90: 6566 696e 6564 2069 6e20 7468 6520 4150 efined in the AP\n+00131ba0: 4920 646f 6375 6d65 6e74 6174 696f 6e20 I documentation \n+00131bb0: 4d6f 6475 6c65 203c 6120 636c 6173 733d Module WITH_MACRO c\n+00131bf0: 6f6d 7069 6c65 2d74 696d 6520 666c 6167 ompile-time flag\n+00131c00: 733c 2f61 3e2e 2054 6865 7365 206d 6163 s. These mac\n+00131c10: 726f 7320 6172 6520 7573 6564 2074 6f20 ros are used to \n+00131c20: 656e 6162 6c65 206f 7220 6469 7361 626c enable or disabl\n+00131c30: 6520 6665 6174 7572 6573 2061 7320 7370 e features as sp\n+00131c40: 6563 6966 6965 6420 6265 6c6f 772c 2062 ecified below, b\n+00131c50: 7920 636f 6d70 696c 696e 6720 736f 7572 y compiling sour\n+00131c60: 6365 2063 6f64 6520 6669 6c65 7320 7769 ce code files wi\n+00131c70: 7468 2063 6f6d 7069 6c65 7220 6f70 7469 th compiler opti\n+00131c80: 6f6e 203c 623e 3c63 6f64 653e 2d44 3c2f on The\n+001342a0: 2066 6f6c 6c6f 7769 6e67 2073 7562 7365 following subse\n+001342b0: 7420 6f66 206d 6163 726f 7320 6172 6520 t of macros are \n+001342c0: 6465 6669 6e65 6420 696e 2074 6865 2041 defined in the A\n+001342d0: 5049 2064 6f63 756d 656e 7461 7469 6f6e PI documentation\n+001342e0: 204d 6f64 756c 6520 3c61 2063 6c61 7373 Module SOAP_MACRO \n+00134320: 636f 6d70 696c 652d 7469 6d65 2076 616c compile-time val\n+00134330: 7565 733c 2f61 3e2e 2054 6865 7365 206d ues. These m\n+00134340: 6163 726f 7320 6172 6520 7573 6564 2074 acros are used t\n+00134350: 6f20 656e 6162 6c65 206f 7220 6469 7361 o enable or disa\n+00134360: 626c 6520 6665 6174 7572 6573 2061 7320 ble features as \n+00134370: 7370 6563 6966 6965 6420 6265 6c6f 772c specified below,\n+00134380: 2062 7920 636f 6d70 696c 696e 6720 736f by compiling so\n+00134390: 7572 6365 2063 6f64 6520 6669 6c65 7320 urce code files \n+001343a0: 7769 7468 2063 6f6d 7069 6c65 7220 6f70 with compiler op\n+001343b0: 7469 6f6e 203c 623e 3c63 6f64 653e 2d44 tion The \n+00135e30: 2054 6865 203c 656d 3e3c 636f 6465 3e73 The For example,\n+00135fc0: 3c2f 703e 0a3c 6469 7620 636c 6173 733d The fol\n+001360b0: 6c6f 7769 6e67 2068 6561 6465 7220 6669 lowing header fi\n+001360c0: 6c65 2066 6f72 2073 6f61 7063 7070 3220 le for soapcpp2 \n+001360d0: 7265 6665 7273 2074 6f20 3c63 6f64 653e refers to See al\n-00136490: 736f 2053 6563 7469 6f6e 203c 6120 636c so Section Transient d\n-001364d0: 6174 6120 7479 7065 733c 2f61 3e20 2c20 ata types , \n-001364e0: 6e6f 6e2d 7365 7269 616c 697a 6162 6c65 non-serializable\n-001364f0: 2064 6174 6120 7479 7065 732e 3c2f 703e data types. The gSOAP en\n-00136580: 6769 6e65 2073 7461 7465 2069 7320 7374 gine state is st\n-00136590: 6f72 6564 2069 6e20 7468 6520 3c63 6f64 ored in the Furthermore, \n-00136700: 7468 6573 6520 666c 6167 7320 6172 6520 these flags are \n-00136710: 6469 7669 6465 6420 696e 746f 2066 6f75 divided into fou\n-00136720: 7220 6361 7465 676f 7269 6573 3a20 7472 r categories: tr\n-00136730: 616e 7370 6f72 7420 2849 4f29 2c20 636f ansport (IO), co\n-00136740: 6e74 656e 7420 656e 636f 6469 6e67 2028 ntent encoding (\n-00136750: 454e 4329 2c20 584d 4c20 7061 7273 696e ENC), XML parsin\n-00136760: 6720 616e 6420 6765 6e65 7261 7469 6f6e g and generation\n-00136770: 2028 584d 4c29 2c20 616e 6420 432f 432b (XML), and C/C+\n-00136780: 2b20 7573 6167 6520 2843 292e 3c2f 703e + usage (C). The input-mo\n-001367a0: 6465 2061 6e64 206f 7574 7075 742d 6d6f de and output-mo\n-001367b0: 6465 2066 6c61 6773 2066 6f72 2069 6e62 de flags for inb\n-001367c0: 6f75 6e64 2028 696e 2920 616e 6420 6f75 ound (in) and ou\n-001367d0: 7462 6f75 6e64 2028 6f75 7429 206d 6573 tbound (out) mes\n-001367e0: 7361 6765 2070 726f 6365 7373 696e 6720 sage processing \n-001367f0: 6172 653a 3c2f 703e 0a3c 7461 626c 6520 are:__type members to \n-000e0d30: 6861 6e64 6c65 206d 756c 7469 706c 6520 handle multiple \n-000e0d40: 766f 6964 2070 6f69 6e74 6572 7320 696e void pointers in\n-000e0d50: 2073 7472 7563 7473 2f63 6c61 7373 6573 structs/classes\n-000e0d60: 2e20 466f 7220 6578 616d 706c 653a 3c2f . For example:\n-000e0d70: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.
\n+000e0580: 6d79 5374 7275 6374 3c2f 636f 6465 3e20 myStruct
\n+000e0590: 7769 7468 2061 2076 6f69 6420 706f 696e with a void poin\n+000e05a0: 7465 7220 746f 2061 6e20 696e 743a 3c2f ter to an int:\n+000e05b0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.S
\n+000e0720: 2063 6f6e 7461 696e 7320 7468 6520 696e contains the in\n+000e0730: 7465 6765 7220 696e 2069 7473 203c 656d teger in its val
element:<\n+000e0760: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>.__type
\n+000e09d0: 7661 6c3c 2f63 6f64 653e 3c2f 656d 3e20 val
\n+000e09e0: 6361 7272 6965 7320 7468 6520 3c65 6d3e carries the \n+000e09f0: 3c63 6f64 653e 7873 693a 7479 7065 3c2f xsi:type\n+000e0a00: 636f 6465 3e3c 2f65 6d3e 2061 7474 7269 code>
attri\n+000e0a10: 6275 7465 2066 726f 6d20 7768 6963 6820 bute from which \n+000e0a20: 6974 2063 616e 2064 6574 6572 6d69 6e65 it can determine\n+000e0a30: 2074 6865 2074 7970 652e 3c2f 703e 0a3c the type.vo\n+000e0a90: 6964 2a3c 2f63 6f64 653e 206d 656d 6265 id*
membe\n+000e0aa0: 722c 2074 6865 203c 636f 6465 3e76 6f69 r, the voi\n+000e0ab0: 642a 3c2f 636f 6465 3e20 706f 696e 7465 d*
pointe\n+000e0ac0: 7220 6d75 7374 2064 6972 6563 746c 7920 r must directly \n+000e0ad0: 706f 696e 7420 746f 2074 6865 2073 7472 point to the str\n+000e0ae0: 696e 6720 7661 6c75 6520 7261 7468 6572 ing value rather\n+000e0af0: 2074 6861 6e20 696e 6469 7265 6374 6c79 than indirectly\n+000e0b00: 2061 7320 7769 7468 2061 6c6c 206f 7468 as with all oth\n+000e0b10: 6572 2074 7970 6573 2e20 466f 7220 6578 er types. For ex\n+000e0b20: 616d 706c 653a 3c2f 6464 3e3c 2f64 6c3e ample:typedef char*\n+000e0cc0: 636f 6465 3e2e 3c2f 703e 0a3c 703e 596f code>.
__t\n+000e0d00: 7970 653c 2f63 6f64 653e 206d 656d 6265 ype
membe\n+000e0d10: 7273 2074 6f20 6861 6e64 6c65 206d 756c rs to handle mul\n+000e0d20: 7469 706c 6520 766f 6964 2070 6f69 6e74 tiple void point\n+000e0d30: 6572 7320 696e 2073 7472 7563 7473 2f63 ers in structs/c\n+000e0d40: 6c61 7373 6573 2e20 466f 7220 6578 616d lasses. For exam\n+000e0d50: 706c 653a 3c2f 703e 0a3c 6469 7620 636c ple:void *p; // element &\n-000e0ee0: 6c74 3b70 2667 743b 3c2f 7370 616e 3e3c lt;p><\n-000e0ef0: 2f64 6976 3e0a 3c64 6976 2063 6c61 7373 /div>.voi\n-000e10a0: 642a 3c2f 636f 6465 3e20 7061 7261 6d65 d*
parame\n-000e10b0: 7465 7273 2074 6f20 7061 7373 2070 6f6c ters to pass pol\n-000e10c0: 796d 6f72 7068 6963 2061 7267 756d 656e ymorphic argumen\n-000e10d0: 7473 2077 6974 686f 7574 2068 6176 696e ts without havin\n-000e10e0: 6720 746f 2064 6566 696e 6520 6120 432b g to define a C+\n-000e10f0: 2b20 636c 6173 7320 6869 6572 6172 6368 + class hierarch\n-000e1100: 7920 2853 6563 7469 6f6e 203c 6120 636c y (Section Polymorphis\n-000e1140: 6d2c 2064 6572 6976 6564 2074 7970 6573 m, derived types\n-000e1150: 2c20 616e 6420 6479 6e61 6d69 6320 6269 , and dynamic bi\n-000e1160: 6e64 696e 6720 696e 2043 2b2b 3c2f 613e nding in C++\n-000e1170: 2029 2c20 7072 6f76 6964 6564 2074 6861 ), provided tha\n-000e1180: 7420 3c65 6d3e 3c63 6f64 653e 7873 693a t xsi:\n-000e1190: 7479 7065 3c2f 636f 6465 3e3c 2f65 6d3e type
\n-000e11a0: 2061 7474 7269 6275 7465 7320 6172 6520 attributes are \n-000e11b0: 7072 6573 656e 7420 696e 2074 6865 2058 present in the X\n-000e11c0: 4d4c 2065 6c65 6d65 6e74 732e 2046 6f72 ML elements. For\n-000e11d0: 2065 7861 6d70 6c65 3a3c 2f70 3e0a 3c64 example:__typ\n+000e1070: 653c 2f63 6f64 653e 2061 6e64 203c 636f e
and typedef int\n+000e12a0: 3c2f 7370 616e 3e20 7873 645f 5f69 6e74 xsd__int\n+000e12b0: 3b20 3c2f 6469 763e 0a3c 6469 7620 636c ; char *name;int __type; void\n-000e15d0: 202a 7265 7475 726e 5f3b 207d 202a 6f75 *return_; } *ou\n-000e15e0: 7429 3b3c 2f64 6976 3e0a 3c2f 6469 763e t);da\n+000e1620: 7461 3c2f 636f 6465 3e20 616e 6420 6120 ta
and a \n+000e1630: 706f 6c79 6d6f 7270 6869 6320 6f75 7470 polymorphic outp\n+000e1640: 7574 2070 6172 616d 6574 6572 203c 636f ut parameter __t\n+000e1670: 7970 653c 2f63 6f64 653e 2070 6172 616d ype
param\n+000e1680: 6574 6572 7320 6361 6e20 6265 206f 6e65 eters can be one\n+000e1690: 206f 6620 3c63 6f64 653e 534f 4150 5f54 of SOAP_T\n+000e16a0: 5950 455f 7873 645f 5f73 7472 696e 673c YPE_xsd__string<\n+000e16b0: 2f63 6f64 653e 2c20 3c63 6f64 653e 534f /code>,
, o\n+000e1720: 7220 3c63 6f64 653e 534f 4150 5f54 5950 r SO\n+000e16c0: 4150 5f54 5950 455f 7873 645f 5f69 6e74 AP_TYPE_xsd__int\n+000e16d0: 3c2f 636f 6465 3e2c 203c 636f 6465 3e53
, S\n+000e16e0: 4f41 505f 5459 5045 5f78 7364 5f5f 666c OAP_TYPE_xsd__fl\n+000e16f0: 6f61 743c 2f63 6f64 653e 2c20 3c63 6f64 oat
, SOAP_TYP\n+000e1730: 455f 6e73 5f5f 7769 6467 6574 3c2f 636f E_ns__widget
void\n+000e1790: 2a3c 2f63 6f64 653e 2070 6f6c 796d 6f72 *
polymor\n+000e17a0: 7068 6963 206d 656d 6265 7273 2061 7320 phic members as \n+000e17b0: 3c65 6d3e 3c63 6f64 653e 7873 643a 616e xsd:an\n+000e17c0: 7954 7970 653c 2f63 6f64 653e 3c2f 656d yType
elements.v\n+000e1810: 6f69 642a 3c2f 636f 6465 3e20 706f 696e oid*
poin\n+000e1820: 7465 7273 2061 6c6c 6f77 7320 7573 2074 ters allows us t\n+000e1830: 6f20 7265 7573 6520 7468 6973 206d 6563 o reuse this mec\n+000e1840: 6861 6e69 736d 2077 6865 6e20 7765 2075 hanism when we u\n+000e1850: 7365 203c 636f 6465 3e5f 5f73 656c 663c se __self<\n+000e1860: 2f63 6f64 653e 2061 7320 6120 6d65 6d62 /code> as a memb\n+000e1870: 6572 206e 616d 6520 7468 6174 2072 6566 er name that ref\n+000e1880: 6572 7320 746f 2074 6865 2063 7572 7265 ers to the curre\n+000e1890: 6e74 2058 4d4c 2065 6c65 6d65 6e74 2074 nt XML element t\n+000e18a0: 6167 206e 616d 653a 3c2f 703e 0a3c 6469 ag name:
\n-000e1b80: 5f5f 6e73 5f5f 7265 636f 7264 3c2f 636f __ns__record with a void \n-000e1ba0: 706f 696e 7465 7220 746f 2061 6e20 696e pointer to an in\n-000e1bb0: 743a 3c2f 703e 0a3c 6469 7620 636c 6173 t:.
S
\n-000e1d30: 636f 6e74 6169 6e73 2074 6865 2069 6e74 contains the int\n-000e1d40: 6567 6572 3a3c 2f70 3e0a 3c64 6976 2063 eger:.Fix\n-000e1f60: 6564 2d73 697a 6520 6172 7261 7920 7365 ed-size array se\n-000e1f70: 7269 616c 697a 6174 696f 6e3c 2f68 323e rialization
\n-000e1f80: 0a3c 703e 4669 7865 6420 7369 7a65 2061 .item
elements with \n-000e1fe0: 7468 6520 6172 7261 7920 7661 6c75 6573 the array values\n-000e1ff0: 2069 6e20 584d 4c2e 204d 756c 7469 2d64 in XML. Multi-d\n-000e2000: 696d 656e 7369 6f6e 616c 2066 6978 6564 imensional fixed\n-000e2010: 2073 697a 6520 6172 7261 7973 2061 7265 size arrays are\n-000e2020: 2073 6572 6961 6c69 7a65 6420 6173 206e serialized as n\n-000e2030: 6573 7465 6420 3c65 6d3e 3c63 6f64 653e ested \n-000e2040: 6974 656d 3c2f 636f 6465 3e3c 2f65 6d3e item
\n-000e2050: 2065 6c65 6d65 6e74 732c 2077 6865 7265 elements, where\n-000e2060: 2074 6865 206f 7574 6572 2065 6c65 6d65 the outer eleme\n-000e2070: 6e74 7320 6172 6520 6172 7261 7973 2e3c nts are arrays.<\n-000e2080: 2f70 3e0a 3c70 3e54 6865 2073 6572 6961 /p>.struct Ex\n-000e22f0: 616d 706c 653c 2f63 6f64 653e 2e20 5468 ample
. Th\n-000e2300: 6520 7365 7269 616c 697a 6564 206f 7574 e serialized out\n-000e2310: 7075 7420 6f66 2061 7272 6179 203c 636f put of array .Dynamic ar\n-000e26e0: 7261 7920 7365 7269 616c 697a 6174 696f ray serializatio\n-000e26f0: 6e3c 2f68 323e 0a3c 703e 4479 6e61 6d69 n
.soa\n-000e2860: 705f 6e65 775f 543c 2f63 6f64 653e 2066 p_new_T
f\n-000e2870: 756e 6374 696f 6e73 2066 6f72 2074 7970 unctions for typ\n-000e2880: 6520 3c63 6f64 653e 543c 2f63 6f64 653e e T
\n-000e2890: 2e20 5468 6973 2066 756e 6374 696f 6e20 . This function \n-000e28a0: 6973 2075 7365 6420 746f 2061 6c6c 6f63 is used to alloc\n-000e28b0: 6174 6520 616e 2061 7272 6179 206f 6620 ate an array of \n-000e28c0: 7661 6c75 6573 2077 6869 6368 2063 616e values which can\n-000e28d0: 2074 6865 6e20 6265 2061 7373 6967 6e65 then be assigne\n-000e28e0: 6420 746f 2074 6865 2070 6f69 6e74 6572 d to the pointer\n-000e28f0: 206d 656d 6265 7220 6f66 2074 6865 2073 member of the s\n-000e2900: 7472 7563 742f 636c 6173 7320 7468 6174 truct/class that\n-000e2910: 2073 746f 7265 7320 7468 6520 6172 7261 stores the arra\n-000e2920: 7920 706f 696e 7465 7220 7769 7468 2069 y pointer with i\n-000e2930: 7473 2073 697a 652e 3c2f 703e 0a3c 703e ts size.item
elements with \n-000e2b90: 7661 6c75 6573 2c20 7468 6f75 6768 2053 values, though S\n-000e2ba0: 4f41 5020 6465 7365 7269 616c 697a 6572 OAP deserializer\n-000e2bb0: 7320 6d61 7920 6967 6e6f 7265 2074 6865 s may ignore the\n-000e2bc0: 206e 616d 6520 6f66 2074 6865 7365 2065 name of these e\n-000e2bd0: 6c65 6d65 6e74 7320 7768 656e 2070 6172 lements when par\n-000e2be0: 7369 6e67 2058 4d4c 2061 7320 7374 6174 sing XML as stat\n-000e2bf0: 6564 2069 6e20 7468 6520 534f 4150 2073 ed in the SOAP s\n-000e2c00: 7065 6369 6669 6361 7469 6f6e 732e 3c2f pecifications.\n-000e2c10: 703e 0a3c 703e 426f 7468 2053 4f41 502d p>..SO\n-000e2d90: 4150 2d65 6e63 6f64 6564 2061 7272 6179 AP-encoded array\n-000e2da0: 2062 6f75 6e64 733c 2f68 333e 0a3c 703e bounds
.SOAP-ENC:A\n-000e2de0: 7272 6179 3c2f 636f 6465 3e3c 2f65 6d3e rray
\n-000e2df0: 2061 7474 7269 6275 7465 2069 6e20 584d attribute in XM\n-000e2e00: 4c20 746f 2069 6465 6e74 6966 7920 7468 L to identify th\n-000e2e10: 6520 6172 7261 7920 616e 6420 7468 6520 e array and the \n-000e2e20: 3c65 6d3e 3c63 6f64 653e 534f 4150 2d45 SOAP-E\n-000e2e30: 4e43 3a61 7272 6179 5479 7065 3c2f 636f NC:arrayType
SOAP-EN\n-000e2fa0: 433a 6172 7261 7954 7970 653c 2f63 6f64 C:arrayType attribut\n-000e2fc0: 6520 6361 6e6e 6f74 2065 7863 6565 6420 e cannot exceed \n-000e2fd0: 3c63 6f64 653e 2353 4f41 505f 4d41 5841
#SOAP_MAXA\n-000e2fe0: 5252 4159 5349 5a45 3c2f 636f 6465 3e2c RRAYSIZE
,\n-000e2ff0: 2077 6869 6368 2069 7320 7365 7420 746f which is set to\n-000e3000: 2031 3030 3030 3020 6279 2064 6566 6175 100000 by defau\n-000e3010: 6c74 2e20 5468 6973 206c 696d 6974 2069 lt. This limit i\n-000e3020: 7320 6e6f 7420 6120 6861 7264 206c 696d s not a hard lim\n-000e3030: 6974 206f 6e20 7468 6520 6e75 6d62 6572 it on the number\n-000e3040: 206f 6620 6172 7261 7920 656c 656d 656e of array elemen\n-000e3050: 7473 2c20 6275 7420 7261 7468 6572 2074 ts, but rather t\n-000e3060: 6f20 6176 6f69 6420 7072 652d 616c 6c6f o avoid pre-allo\n-000e3070: 6361 7469 6e67 206c 6172 6765 2061 7272 cating large arr\n-000e3080: 6179 7320 6173 2073 7461 7465 642e 2054 ays as stated. T\n-000e3090: 6865 2068 6172 6420 6c69 6d69 7420 6f6e he hard limit on\n-000e30a0: 2074 6865 206e 756d 6265 7220 6f66 2061 the number of a\n-000e30b0: 7272 6179 2065 6c65 6d65 6e74 7320 7265 rray elements re\n-000e30c0: 6365 6976 6564 2069 7320 3c63 6f64 653e ceived is \n-000e30d0: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap::ma\n-000e3190: 786f 6363 7572 733c 2f61 3e3c 2f63 6f64 xoccurs which is set \n-000e31b0: 746f 203c 636f 6465 3e23 534f 4150 5f4d to
lim\n-000e3210: 6974 206f 6e6c 7920 6e65 6761 7469 7665 it only negative\n-000e3220: 6c79 2061 6666 6563 7473 206d 756c 7469 ly affects multi\n-000e3230: 2d64 696d 656e 7369 6f6e 616c 2061 7272 -dimensional arr\n-000e3240: 6179 7320 6265 6361 7573 6520 7468 6520 ays because the \n-000e3250: 6469 6d65 6e73 696f 6e61 6c69 7479 206f dimensionality o\n-000e3260: 6620 7468 6520 7265 6365 6976 696e 6720 f the receiving \n-000e3270: 6172 7261 7920 6d61 7920 6265 206c 6f73 array may be los\n-000e3280: 7420 7768 656e 2074 6865 206e 756d 6265 t when the numbe\n-000e3290: 7220 6f66 2065 6c65 6d65 6e74 7320 6578 r of elements ex\n-000e32a0: 6365 6564 7320 3130 3030 3030 2e20 4f6e ceeds 100000. On\n-000e32b0: 652d 6469 6d65 6e73 696f 6e61 6c20 6172 e-dimensional ar\n-000e32c0: 7261 7973 2061 7265 206e 6f74 2061 6666 rays are not aff\n-000e32d0: 6563 7465 6420 616e 6420 706f 7075 6c61 ected and popula\n-000e32e0: 7465 6420 6166 7465 7220 7468 6973 206c ted after this l\n-000e32f0: 696d 6974 2062 7920 7369 6d70 6c79 2064 imit by simply d\n-000e3300: 6573 6572 6961 6c69 7a69 6e67 2074 6865 eserializing the\n-000e3310: 2061 7272 6179 2065 6c65 6d65 6e74 7320 array elements \n-000e3320: 7265 6365 6976 6564 2e3c 2f70 3e0a 3c70 received.#SOAP_M\n-000e31c0: 4158 4f43 4355 5253 3c2f 636f 6465 3e20 AXOCCURS
\n-000e31d0: 6279 2064 6566 6175 6c74 2e20 4279 2063 by default. By c\n-000e31e0: 6f6e 7472 6173 742c 2074 6865 203c 636f ontrast, the .One-dim\n-000e3390: 656e 7369 6f6e 616c 2064 796e 616d 6963 ensional dynamic\n-000e33a0: 2053 4f41 502d 656e 636f 6465 6420 6172 SOAP-encoded ar\n-000e33b0: 7261 7973 3c2f 6833 3e0a 3c70 3e41 2073 rays
.__ns__reco\n+000e1b70: 7264 3c2f 636f 6465 3e20 7769 7468 2061 rd
with a\n+000e1b80: 2076 6f69 6420 706f 696e 7465 7220 746f void pointer to\n+000e1b90: 2061 6e20 696e 743a 3c2f 703e 0a3c 6469 an int:S\n+000e1d10: 636f 6465 3e20 636f 6e74 6169 6e73 2074 code> contains t\n+000e1d20: 6865 2069 6e74 6567 6572 3a3c 2f70 3e0a he integer:
ns:recor\n+000e1d90: 643c 2f73 7061 6e3e 2667 743b 3c2f 6469 d>.ns:recor\n+000e1eb0: 643c 2f73 7061 6e3e 2667 743b 3c2f 6469 d>.\n+000e1f40: 613e 0a46 6978 6564 2d73 697a 6520 6172 a>.Fixed-size ar\n+000e1f50: 7261 7920 7365 7269 616c 697a 6174 696f ray serializatio\n+000e1f60: 6e3c 2f68 323e 0a3c 703e 4669 7865 6420 n
.item
elements\n+000e1fc0: 2077 6974 6820 7468 6520 6172 7261 7920 with the array \n+000e1fd0: 7661 6c75 6573 2069 6e20 584d 4c2e 204d values in XML. M\n+000e1fe0: 756c 7469 2d64 696d 656e 7369 6f6e 616c ulti-dimensional\n+000e1ff0: 2066 6978 6564 2073 697a 6520 6172 7261 fixed size arra\n+000e2000: 7973 2061 7265 2073 6572 6961 6c69 7a65 ys are serialize\n+000e2010: 6420 6173 206e 6573 7465 6420 3c65 6d3e d as nested \n+000e2020: 3c63 6f64 653e 6974 656d 3c2f 636f 6465 item
elements,\n+000e2040: 2077 6865 7265 2074 6865 206f 7574 6572 where the outer\n+000e2050: 2065 6c65 6d65 6e74 7320 6172 6520 6172 elements are ar\n+000e2060: 7261 7973 2e3c 2f70 3e0a 3c70 3e54 6865 rays.// Contents \n+000e2190: 6f66 2066 696c 6520 2671 756f 743b 6669 of file "fi\n+000e21a0: 7865 642e 6826 7175 6f74 3b3a 203c 2f73 xed.h": str\n+000e22d0: 7563 7420 4578 616d 706c 653c 2f63 6f64 uct Example. The serializ\n+000e22f0: 6564 206f 7574 7075 7420 6f66 2061 7272 ed output of arr\n+000e2300: 6179 203c 636f 6465 3e61 3c2f 636f 6465 ay
a
is:item#SOAP_C_\n+000e25f0: 4e4f 494f 423c 2f63 6f64 653e 2066 6c61 NOIOB
fla\n+000e2600: 6720 6973 2073 6574 2c20 6f74 6865 7277 g is set, otherw\n+000e2610: 6973 6520 3c63 6f64 653e 2353 4f41 505f ise #SOAP_\n+000e2620: 494f 423c 2f63 6f64 653e 2065 7272 6f72 IOB
error\n+000e2630: 7320 7769 6c6c 2062 6520 6765 6e65 7261 s will be genera\n+000e2640: 7465 6420 6279 2074 6865 2064 6573 6572 ted by the deser\n+000e2650: 6961 6c69 7a65 722e 3c2f 703e 0a3c 703e ializer..Dyna\n+000e26c0: 6d69 6320 6172 7261 7920 7365 7269 616c mic array serial\n+000e26d0: 697a 6174 696f 6e3c 2f68 323e 0a3c 703e ization
.T<\n+000e2870: 2f63 6f64 653e 2e20 5468 6973 2066 756e /code>. This fun\n+000e2880: 6374 696f 6e20 6973 2075 7365 6420 746f ction is used to\n+000e2890: 2061 6c6c 6f63 6174 6520 616e 2061 7272 allocate an arr\n+000e28a0: 6179 206f 6620 7661 6c75 6573 2077 6869 ay of values whi\n+000e28b0: 6368 2063 616e 2074 6865 6e20 6265 2061 ch can then be a\n+000e28c0: 7373 6967 6e65 6420 746f 2074 6865 2070 ssigned to the p\n+000e28d0: 6f69 6e74 6572 206d 656d 6265 7220 6f66 ointer member of\n+000e28e0: 2074 6865 2073 7472 7563 742f 636c 6173 the struct/clas\n+000e28f0: 7320 7468 6174 2073 746f 7265 7320 7468 s that stores th\n+000e2900: 6520 6172 7261 7920 706f 696e 7465 7220 e array pointer \n+000e2910: 7769 7468 2069 7473 2073 697a 652e 3c2f with its size.\n+000e2920: 703e 0a3c 703e 546f 2066 6163 696c 6974 p>.
item
elements\n+000e2b70: 2077 6974 6820 7661 6c75 6573 2c20 7468 with values, th\n+000e2b80: 6f75 6768 2053 4f41 5020 6465 7365 7269 ough SOAP deseri\n+000e2b90: 616c 697a 6572 7320 6d61 7920 6967 6e6f alizers may igno\n+000e2ba0: 7265 2074 6865 206e 616d 6520 6f66 2074 re the name of t\n+000e2bb0: 6865 7365 2065 6c65 6d65 6e74 7320 7768 hese elements wh\n+000e2bc0: 656e 2070 6172 7369 6e67 2058 4d4c 2061 en parsing XML a\n+000e2bd0: 7320 7374 6174 6564 2069 6e20 7468 6520 s stated in the \n+000e2be0: 534f 4150 2073 7065 6369 6669 6361 7469 SOAP specificati\n+000e2bf0: 6f6e 732e 3c2f 703e 0a3c 703e 426f 7468 ons.<\n+000e2d70: 2f61 3e0a 534f 4150 2d65 6e63 6f64 6564 /a>.SOAP-encoded\n+000e2d80: 2061 7272 6179 2062 6f75 6e64 733c 2f68 array bounds.
SOAP\n+000e2dc0: 2d45 4e43 3a41 7272 6179 3c2f 636f 6465 -ENC:Array
attribute\n+000e2de0: 2069 6e20 584d 4c20 746f 2069 6465 6e74 in XML to ident\n+000e2df0: 6966 7920 7468 6520 6172 7261 7920 616e ify the array an\n+000e2e00: 6420 7468 6520 3c65 6d3e 3c63 6f64 653e d the \n+000e2e10: 534f 4150 2d45 4e43 3a61 7272 6179 5479 SOAP-ENC:arrayTy\n+000e2e20: 7065 3c2f 636f 6465 3e3c 2f65 6d3e 2061 pe
a\n+000e2e30: 7474 7269 6275 7465 2074 6f20 6964 656e ttribute to iden\n+000e2e40: 7469 6679 2074 6865 2061 7272 6179 2064 tify the array d\n+000e2e50: 696d 656e 7369 6f6e 616c 6974 7920 616e imensionality an\n+000e2e60: 6420 6974 7320 7369 7a65 2e3c 2f70 3e0a d its size.SOAP-EN\n+000e2ef0: 433a 6172 7261 7954 7970 653c 2f63 6f64 C:arrayType attribut\n+000e2f10: 652c 2072 6571 7569 7269 6e67 2074 6865 e, requiring the\n+000e2f20: 2061 6c6c 6f63 6174 696f 6e20 6f66 206c allocation of l\n+000e2f30: 6172 6765 2063 6875 6e6b 7320 6f66 206d arge chunks of m\n+000e2f40: 656d 6f72 792c 2074 6865 2074 6f74 616c emory, the total\n+000e2f50: 206e 756d 6265 7220 6f66 2061 7272 6179 number of array\n+000e2f60: 2065 6c65 6d65 6e74 7320 7365 7420 6279 elements set by\n+000e2f70: 2074 6865 203c 656d 3e3c 636f 6465 3e53 the
S\n+000e2f80: 4f41 502d 454e 433a 6172 7261 7954 7970 OAP-ENC:arrayTyp\n+000e2f90: 653c 2f63 6f64 653e 3c2f 656d 3e20 6174 e
at\n+000e2fa0: 7472 6962 7574 6520 6361 6e6e 6f74 2065 tribute cannot e\n+000e2fb0: 7863 6565 6420 3c63 6f64 653e 2353 4f41 xceed #SOA\n+000e2fc0: 505f 4d41 5841 5252 4159 5349 5a45 3c2f P_MAXARRAYSIZE\n+000e2fd0: 636f 6465 3e2c 2077 6869 6368 2069 7320 code>, which is \n+000e2fe0: 7365 7420 746f 2031 3030 3030 3020 6279 set to 100000 by\n+000e2ff0: 2064 6566 6175 6c74 2e20 5468 6973 206c default. This l\n+000e3000: 696d 6974 2069 7320 6e6f 7420 6120 6861 imit is not a ha\n+000e3010: 7264 206c 696d 6974 206f 6e20 7468 6520 rd limit on the \n+000e3020: 6e75 6d62 6572 206f 6620 6172 7261 7920 number of array \n+000e3030: 656c 656d 656e 7473 2c20 6275 7420 7261 elements, but ra\n+000e3040: 7468 6572 2074 6f20 6176 6f69 6420 7072 ther to avoid pr\n+000e3050: 652d 616c 6c6f 6361 7469 6e67 206c 6172 e-allocating lar\n+000e3060: 6765 2061 7272 6179 7320 6173 2073 7461 ge arrays as sta\n+000e3070: 7465 642e 2054 6865 2068 6172 6420 6c69 ted. The hard li\n+000e3080: 6d69 7420 6f6e 2074 6865 206e 756d 6265 mit on the numbe\n+000e3090: 7220 6f66 2061 7272 6179 2065 6c65 6d65 r of array eleme\n+000e30a0: 6e74 7320 7265 6365 6976 6564 2069 7320 nts received is \n+000e30b0: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22
so\n+000e3170: 6170 3a3a 6d61 786f 6363 7572 733c 2f61 ap::maxoccurs
which i\n+000e3190: 7320 7365 7420 746f 203c 636f 6465 3e23 s set to #\n+000e31a0: 534f 4150 5f4d 4158 4f43 4355 5253 3c2f SOAP_MAXOCCURS\n+000e31b0: 636f 6465 3e20 6279 2064 6566 6175 6c74 code> by default\n+000e31c0: 2e20 4279 2063 6f6e 7472 6173 742c 2074 . By contrast, t\n+000e31d0: 6865 203c 636f 6465 3e23 534f 4150 5f4d he
#SOAP_M\n+000e31e0: 4158 4152 5241 5953 495a 453c 2f63 6f64 AXARRAYSIZE limit only ne\n+000e3200: 6761 7469 7665 6c79 2061 6666 6563 7473 gatively affects\n+000e3210: 206d 756c 7469 2d64 696d 656e 7369 6f6e multi-dimension\n+000e3220: 616c 2061 7272 6179 7320 6265 6361 7573 al arrays becaus\n+000e3230: 6520 7468 6520 6469 6d65 6e73 696f 6e61 e the dimensiona\n+000e3240: 6c69 7479 206f 6620 7468 6520 7265 6365 lity of the rece\n+000e3250: 6976 696e 6720 6172 7261 7920 6d61 7920 iving array may \n+000e3260: 6265 206c 6f73 7420 7768 656e 2074 6865 be lost when the\n+000e3270: 206e 756d 6265 7220 6f66 2065 6c65 6d65 number of eleme\n+000e3280: 6e74 7320 6578 6365 6564 7320 3130 3030 nts exceeds 1000\n+000e3290: 3030 2e20 4f6e 652d 6469 6d65 6e73 696f 00. One-dimensio\n+000e32a0: 6e61 6c20 6172 7261 7973 2061 7265 206e nal arrays are n\n+000e32b0: 6f74 2061 6666 6563 7465 6420 616e 6420 ot affected and \n+000e32c0: 706f 7075 6c61 7465 6420 6166 7465 7220 populated after \n+000e32d0: 7468 6973 206c 696d 6974 2062 7920 7369 this limit by si\n+000e32e0: 6d70 6c79 2064 6573 6572 6961 6c69 7a69 mply deserializi\n+000e32f0: 6e67 2074 6865 2061 7272 6179 2065 6c65 ng the array ele\n+000e3300: 6d65 6e74 7320 7265 6365 6976 6564 2e3c ments received.<\n+000e3310: 2f70 3e0a 3c70 3ef0 9f94 9d20 3c61 2068 /p>..
.O\n+000e3370: 6e65 2d64 696d 656e 7369 6f6e 616c 2064 ne-dimensional d\n+000e3380: 796e 616d 6963 2053 4f41 502d 656e 636f ynamic SOAP-enco\n+000e3390: 6465 6420 6172 7261 7973 3c2f 6833 3e0a ded arrays
.\n+000e33a0: 3c70 3e41 2073 7065 6369 616c 2066 6f72 array_name must be a non\n-000e3810: 2d71 7561 6c69 6669 6564 206e 616d 6520 -qualified name \n-000e3820: 616e 6420 3c63 6f64 653e 5479 7065 3c2f and
Type\n-000e3830: 636f 6465 3e20 6973 2074 6865 2074 7970 code> is the typ\n-000e3840: 6520 666f 7220 7468 6520 656c 656d 656e e for the elemen\n-000e3850: 7473 206f 6620 7468 6520 6172 7261 792e ts of the array.\n-000e3860: 2054 6865 203c 636f 6465 3e5f 5f70 7472 The
is the array s\n-000e38c0: 697a 652e 2054 6865 203c 636f 6465 3e5f ize. The __ptr\n-000e3870: 3c2f 636f 6465 3e20 6d65 6d62 6572 2070
member p\n-000e3880: 6f69 6e74 7320 746f 2074 6865 2061 7272 oints to the arr\n-000e3890: 6179 2076 616c 7565 7320 616e 6420 3c63 ay values and _\n-000e38d0: 5f6f 6666 7365 743c 2f63 6f64 653e 206d _offset
m\n-000e38e0: 656d 6265 7220 7370 6563 6966 6965 7320 ember specifies \n-000e38f0: 616e 206f 7074 696f 6e61 6c20 6172 7261 an optional arra\n-000e3900: 7920 6f66 6673 6574 2c20 7768 656e 206e y offset, when n\n-000e3910: 6f6e 7a65 726f 2c20 7365 6520 5365 6374 onzero, see Sect\n-000e3920: 696f 6e20 3c61 2063 6c61 7373 3d22 656c ion O\n-000e3950: 6e65 2d64 696d 656e 7369 6f6e 616c 2064 ne-dimensional d\n-000e3960: 796e 616d 6963 2053 4f41 502d 656e 636f ynamic SOAP-enco\n-000e3970: 6465 6420 6172 7261 7973 2077 6974 6820 ded arrays with \n-000e3980: 6e6f 6e2d 7a65 726f 206f 6666 7365 7473 non-zero offsets\n-000e3990: 3c2f 613e 2e3c 2f70 3e0a 3c70 3e49 6620 .array_\n-000e39b0: 6e61 6d65 3c2f 636f 6465 3e20 6973 2071 name
is q\n-000e39c0: 7561 6c69 6669 6564 2077 6974 6820 6120 ualified with a \n-000e39d0: 6e61 6d65 7370 6163 6520 7072 6566 6978 namespace prefix\n-000e39e0: 2074 6865 6e20 7468 6520 6172 7261 7920 then the array \n-000e39f0: 6973 206e 6f74 2061 2053 4f41 502d 656e is not a SOAP-en\n-000e3a00: 636f 6465 6420 6172 7261 7920 6275 7420 coded array but \n-000e3a10: 7261 7468 6572 2072 6570 7265 7365 6e74 rather represent\n-000e3a20: 7320 6120 7365 7175 656e 6365 206f 6620 s a sequence of \n-000e3a30: 584d 4c20 656c 656d 656e 7473 2c20 7365 XML elements, se\n-000e3a40: 6520 5365 6374 696f 6e20 3c61 2063 6c61 e Section N\n-000e3a70: 6f6e 2d53 4f41 5020 6479 6e61 6d69 6320 on-SOAP dynamic \n-000e3a80: 6172 7261 7973 3c2f 613e 2e3c 2f70 3e0a arrays.
.__of\n-000e3c10: 6673 6574 3c2f 636f 6465 3e20 6d65 6d62 fset
memb\n-000e3c20: 6572 206f 6620 6120 6479 6e61 6d69 6320 er of a dynamic \n-000e3c30: 6172 7261 7920 6973 2069 676e 6f72 6564 array is ignored\n-000e3c40: 2e3c 2f64 643e 3c2f 646c 3e0a 3c70 3ef0 ..One\n-000e3cb0: 2d64 696d 656e 7369 6f6e 616c 2064 796e -dimensional dyn\n-000e3cc0: 616d 6963 2053 4f41 502d 656e 636f 6465 amic SOAP-encode\n-000e3cd0: 6420 6172 7261 7973 2077 6974 6820 6e6f d arrays with no\n-000e3ce0: 6e2d 7a65 726f 206f 6666 7365 7473 3c2f n-zero offsets\n-000e3cf0: 6833 3e0a 3c70 3e54 6865 2064 6563 6c61 h3>.
int \n-000e3da0: 5f5f 6f66 6673 6574 3c2f 636f 6465 3e20 __offset
\n-000e3db0: 6d65 6d62 6572 2e20 5768 656e 2073 6574 member. When set\n-000e3dc0: 2074 6f20 616e 2069 6e74 6567 6572 2076 to an integer v\n-000e3dd0: 616c 7565 2c20 7468 6520 7365 7269 616c alue, the serial\n-000e3de0: 697a 6572 206f 6620 7468 6520 6479 6e61 izer of the dyna\n-000e3df0: 6d69 6320 6172 7261 7920 7769 6c6c 2075 mic array will u\n-000e3e00: 7365 2074 6869 7320 6d65 6d62 6572 2061 se this member a\n-000e3e10: 7320 7468 6520 7374 6172 7420 696e 6465 s the start inde\n-000e3e20: 7820 6f66 2074 6865 2061 7272 6179 2061 x of the array a\n-000e3e30: 6e64 2074 6865 2053 4f41 502d 656e 636f nd the SOAP-enco\n-000e3e40: 6465 6420 6172 7261 7920 6f66 6673 6574 ded array offset\n-000e3e50: 2061 7474 7269 6275 7465 203c 656d 3e3c attribute <\n-000e3e60: 636f 6465 3e53 4f41 502d 454e 433a 6f66 code>SOAP-ENC:of\n-000e3e70: 6673 6574 3c2f 636f 6465 3e3c 2f65 6d3e fset\n-000e3e80: 2077 696c 6c20 6170 7065 6172 2069 6e20 will appear in \n-000e3e90: 7468 6520 584d 4c20 6d65 7373 6167 652e the XML message.\n-000e3ea0: 204e 6f74 6520 7468 6174 2061 7272 6179 Note that array\n-000e3eb0: 206f 6666 7365 7473 2069 7320 6120 534f offsets is a SO\n-000e3ec0: 4150 2031 2e31 2073 7065 6369 6669 6320 AP 1.1 specific \n-000e3ed0: 6665 6174 7572 6520 7768 6963 6820 6973 feature which is\n-000e3ee0: 206e 6f74 2073 7570 706f 7274 6564 2069 not supported i\n-000e3ef0: 6e20 534f 4150 2031 2e32 2e3c 2f70 3e0a n SOAP 1.2.int i); Vector\n-000e43f0: 636f 6465 3e20 6d65 7468 6f64 7320 6172 code> methods ar\n-000e4400: 653a 3c2f 703e 0a3c 6469 7620 636c 6173 e:
int __size; array_nam\n+000e37e0: 653c 2f63 6f64 653e 206d 7573 7420 6265 e
must be\n+000e37f0: 2061 206e 6f6e 2d71 7561 6c69 6669 6564 a non-qualified\n+000e3800: 206e 616d 6520 616e 6420 3c63 6f64 653e name and \n+000e3810: 5479 7065 3c2f 636f 6465 3e20 6973 2074 Type
is t\n+000e3820: 6865 2074 7970 6520 666f 7220 7468 6520 he type for the \n+000e3830: 656c 656d 656e 7473 206f 6620 7468 6520 elements of the \n+000e3840: 6172 7261 792e 2054 6865 203c 636f 6465 array. The __ptr
me\n+000e3860: 6d62 6572 2070 6f69 6e74 7320 746f 2074 mber points to t\n+000e3870: 6865 2061 7272 6179 2076 616c 7565 7320 he array values \n+000e3880: 616e 6420 3c63 6f64 653e 5f5f 7369 7a65 and __size\n+000e3890: 3c2f 636f 6465 3e20 6973 2074 6865 2061
is the a\n+000e38a0: 7272 6179 2073 697a 652e 2054 6865 203c rray size. The <\n+000e38b0: 636f 6465 3e5f 5f6f 6666 7365 743c 2f63 code>__offset member spec\n+000e38d0: 6966 6965 7320 616e 206f 7074 696f 6e61 ifies an optiona\n+000e38e0: 6c20 6172 7261 7920 6f66 6673 6574 2c20 l array offset, \n+000e38f0: 7768 656e 206e 6f6e 7a65 726f 2c20 7365 when nonzero, se\n+000e3900: 6520 5365 6374 696f 6e20 3c61 2063 6c61 e Section One-dimensi\n+000e3940: 6f6e 616c 2064 796e 616d 6963 2053 4f41 onal dynamic SOA\n+000e3950: 502d 656e 636f 6465 6420 6172 7261 7973 P-encoded arrays\n+000e3960: 2077 6974 6820 6e6f 6e2d 7a65 726f 206f with non-zero o\n+000e3970: 6666 7365 7473 3c2f 613e 2e3c 2f70 3e0a ffsets.\n+000e3990: 6172 7261 795f 6e61 6d65 3c2f 636f 6465 array_name
is qualified w\n+000e39b0: 6974 6820 6120 6e61 6d65 7370 6163 6520 ith a namespace \n+000e39c0: 7072 6566 6978 2074 6865 6e20 7468 6520 prefix then the \n+000e39d0: 6172 7261 7920 6973 206e 6f74 2061 2053 array is not a S\n+000e39e0: 4f41 502d 656e 636f 6465 6420 6172 7261 OAP-encoded arra\n+000e39f0: 7920 6275 7420 7261 7468 6572 2072 6570 y but rather rep\n+000e3a00: 7265 7365 6e74 7320 6120 7365 7175 656e resents a sequen\n+000e3a10: 6365 206f 6620 584d 4c20 656c 656d 656e ce of XML elemen\n+000e3a20: 7473 2c20 7365 6520 5365 6374 696f 6e20 ts, see Section \n+000e3a30: 3c61 2063 6c61 7373 3d22 656c 2220 6872 Non-SOAP dy\n+000e3a60: 6e61 6d69 6320 6172 7261 7973 3c2f 613e namic arrays\n+000e3a70: 2e3c 2f70 3e0a 3c70 3e54 6865 2073 6f61 .
..\n+000e3c90: 613e 0a4f 6e65 2d64 696d 656e 7369 6f6e a>.One-dimension\n+000e3ca0: 616c 2064 796e 616d 6963 2053 4f41 502d al dynamic SOAP-\n+000e3cb0: 656e 636f 6465 6420 6172 7261 7973 2077 encoded arrays w\n+000e3cc0: 6974 6820 6e6f 6e2d 7a65 726f 206f 6666 ith non-zero off\n+000e3cd0: 7365 7473 3c2f 6833 3e0a 3c70 3e54 6865 sets
.SOAP-\n+000e3e50: 454e 433a 6f66 6673 6574 3c2f 636f 6465 ENC:offset
will appe\n+000e3e70: 6172 2069 6e20 7468 6520 584d 4c20 6d65 ar in the XML me\n+000e3e80: 7373 6167 652e 204e 6f74 6520 7468 6174 ssage. Note that\n+000e3e90: 2061 7272 6179 206f 6666 7365 7473 2069 array offsets i\n+000e3ea0: 7320 6120 534f 4150 2031 2e31 2073 7065 s a SOAP 1.1 spe\n+000e3eb0: 6369 6669 6320 6665 6174 7572 6520 7768 cific feature wh\n+000e3ec0: 6963 6820 6973 206e 6f74 2073 7570 706f ich is not suppo\n+000e3ed0: 7274 6564 2069 6e20 534f 4150 2031 2e32 rted in SOAP 1.2\n+000e3ee0: 2e3c 2f70 3e0a 3c70 3e46 6f72 2065 7861 .Vector<\n+000e3f30: 2f63 6f64 653e 2063 6c61 7373 2c20 7768 /code> class, wh\n+000e3f40: 6963 6820 6973 2061 2064 796e 616d 6963 ich is a dynamic\n+000e3f50: 2061 7272 6179 206f 6620 666c 6f61 7469 array of floati\n+000e3f60: 6e67 2070 6f69 6e74 2076 616c 7565 7320 ng point values \n+000e3f70: 7769 7468 2061 6e20 696e 6465 7820 7468 with an index th\n+000e3f80: 6174 2073 7461 7274 7320 6174 2031 3a3c at starts at 1:<\n+000e3f90: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>.
int __size; Ve\n+000e43d0: 6374 6f72 3c2f 636f 6465 3e20 6d65 7468 ctor
meth\n+000e43e0: 6f64 7320 6172 653a 3c2f 703e 0a3c 6469 ods are:int n) return\n-000e47c0: 7370 616e 3e20 5f5f 7074 725b 6920 2d20 span> __ptr[i - \n-000e47d0: 5f5f 6f66 6673 6574 5d3b 203c 2f64 6976 __offset]; xsd:flo\n-000e5030: 6174 5b34 5d3c 2f63 6f64 653e 3c2f 656d at[4]
is the type an\n-000e5050: 6420 7368 6170 6520 6f66 2074 6865 2065 d shape of the e\n-000e5060: 6e63 6f64 6564 2061 7272 6179 2c20 7768 ncoded array, wh\n-000e5070: 6963 6820 7374 6172 7473 2061 7420 6f66 ich starts at of\n-000e5080: 6673 6574 2031 2061 6e64 2074 6865 7265 fset 1 and there\n-000e5090: 666f 7265 2074 6865 2065 6c65 6d65 6e74 fore the element\n-000e50a0: 2061 7420 3020 6973 206f 6d69 7474 6564 at 0 is omitted\n-000e50b0: 2e3c 2f70 3e0a 3c70 3ef0 9f94 9d20 3c61 .\n-000e50f0: 3c61 2063 6c61 7373 3d22 616e 6368 6f72 \n-000e5110: 613e 0a4e 6573 7465 6420 6f6e 652d 6469 a>.Nested one-di\n-000e5120: 6d65 6e73 696f 6e61 6c20 6479 6e61 6d69 mensional dynami\n-000e5130: 6320 534f 4150 2d65 6e63 6f64 6564 2061 c SOAP-encoded a\n-000e5140: 7272 6179 733c 2f68 333e 0a3c 703e 4f6e rrays
.cl\n-000e51e0: 6173 7320 4d61 7472 6978 3c2f 636f 6465 ass Matrix
is declared:\n-000e5200: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.int __size; .Multi\n-000e5750: 2d64 696d 656e 7369 6f6e 616c 2064 796e -dimensional dyn\n-000e5760: 616d 6963 2053 4f41 502d 656e 636f 6465 amic SOAP-encode\n-000e5770: 6420 6172 7261 7973 3c2f 6833 3e0a 3c70 d arrays
.struct<\n-000e57a0: 2f63 6f64 653e 206f 7220 3c63 6f64 653e /code> or
\n-000e57b0: 636c 6173 733c 2f63 6f64 653e 2069 7320 class
is \n-000e57c0: 7573 6564 2074 6f20 6465 6669 6e65 206d used to define m\n-000e57d0: 756c 7469 2d64 696d 656e 7369 6f6e 616c ulti-dimensional\n-000e57e0: 2064 796e 616d 6963 2053 4f41 502d 656e dynamic SOAP-en\n-000e57f0: 636f 6465 6420 6172 7261 7973 2e20 4561 coded arrays. Ea\n-000e5800: 6368 2061 7272 6179 2068 6173 2061 2070 ch array has a p\n-000e5810: 6f69 6e74 6572 2076 6172 6961 626c 6520 ointer variable \n-000e5820: 616e 6420 6120 6d65 6d62 6572 2074 6861 and a member tha\n-000e5830: 7420 7265 636f 7264 7320 7468 6520 6e75 t records the nu\n-000e5840: 6d62 6572 206f 6620 656c 656d 656e 7473 mber of elements\n-000e5850: 2070 6572 2064 696d 656e 7369 6f6e 2e20 per dimension. \n-000e5860: 4120 3c63 6f64 653e 4b3c 2f63 6f64 653e A K
\n-000e5870: 2d64 696d 656e 7369 6f6e 616c 2061 7272 -dimensional arr\n-000e5880: 6179 2069 7320 6465 636c 6172 6564 2061 ay is declared a\n-000e5890: 733a 3c2f 703e 0a3c 6469 7620 636c 6173 s:\n+000e5730: 0a4d 756c 7469 2d64 696d 656e 7369 6f6e .Multi-dimension\n+000e5740: 616c 2064 796e 616d 6963 2053 4f41 502d al dynamic SOAP-\n+000e5750: 656e 636f 6465 6420 6172 7261 7973 3c2f encoded arrays\n+000e5760: 6833 3e0a 3c70 3e41 2073 7065 6369 616c h3>.
s\n+000e5780: 7472 7563 743c 2f63 6f64 653e 206f 7220 truct
or \n+000e5790: 3c63 6f64 653e 636c 6173 733c 2f63 6f64 class is used to de\n+000e57b0: 6669 6e65 206d 756c 7469 2d64 696d 656e fine multi-dimen\n+000e57c0: 7369 6f6e 616c 2064 796e 616d 6963 2053 sional dynamic S\n+000e57d0: 4f41 502d 656e 636f 6465 6420 6172 7261 OAP-encoded arra\n+000e57e0: 7973 2e20 4561 6368 2061 7272 6179 2068 ys. Each array h\n+000e57f0: 6173 2061 2070 6f69 6e74 6572 2076 6172 as a pointer var\n+000e5800: 6961 626c 6520 616e 6420 6120 6d65 6d62 iable and a memb\n+000e5810: 6572 2074 6861 7420 7265 636f 7264 7320 er that records \n+000e5820: 7468 6520 6e75 6d62 6572 206f 6620 656c the number of el\n+000e5830: 656d 656e 7473 2070 6572 2064 696d 656e ements per dimen\n+000e5840: 7369 6f6e 2e20 4120 3c63 6f64 653e 4b3c sion. A
K<\n+000e5850: 2f63 6f64 653e 2d64 696d 656e 7369 6f6e /code>-dimension\n+000e5860: 616c 2061 7272 6179 2069 7320 6465 636c al array is decl\n+000e5870: 6172 6564 2061 733a 3c2f 703e 0a3c 6469 ared as:
arr\n-000e5b60: 6179 5f6e 616d 653c 2f63 6f64 653e 206d ay_name
m\n-000e5b70: 7573 7420 6265 2061 206e 6f6e 2d71 7561 ust be a non-qua\n-000e5b80: 6c69 6669 6564 206e 616d 6520 616e 6420 lified name and \n-000e5b90: 3c63 6f64 653e 5479 7065 3c2f 636f 6465 Type
is the type fo\n-000e5bb0: 7220 7468 6520 656c 656d 656e 7473 206f r the elements o\n-000e5bc0: 6620 7468 6520 6172 7261 792e 2054 6865 f the array. The\n-000e5bd0: 203c 636f 6465 3e5f 5f70 7472 3c2f 636f __ptr member point\n-000e5bf0: 7320 746f 2074 6865 2061 7272 6179 2076 s to the array v\n-000e5c00: 616c 7565 732e 2054 6865 203c 636f 6465 alues. The
__size
a\n-000e5c20: 7272 6179 2073 7065 6369 6669 6573 2074 rray specifies t\n-000e5c30: 6865 206e 756d 6265 7220 6f66 2061 7272 he number of arr\n-000e5c40: 6179 2065 6c65 6d65 6e74 7320 7065 7220 ay elements per \n-000e5c50: 6469 6d65 6e73 696f 6e2e 2054 6865 203c dimension. The <\n-000e5c60: 636f 6465 3e5f 5f6f 6666 7365 743c 2f63 code>__offset array speci\n-000e5c80: 6669 6573 2061 6e20 6f70 7469 6f6e 616c fies an optional\n-000e5c90: 206f 6666 7365 7420 7065 7220 6469 6d65 offset per dime\n-000e5ca0: 6e73 696f 6e2e 3c2f 703e 0a3c 703e 466f nsion.int __size[2]; \n-000e5e20: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.__size[0]
holds the numb\n-000e6020: 6572 206f 6620 726f 7773 2061 6e64 203c er of rows and <\n-000e6030: 636f 6465 3e5f 5f73 697a 655b 315d 3c2f code>__size[1]\n-000e6040: 636f 6465 3e20 686f 6c64 7320 7468 6520 code> holds the \n-000e6050: 6e75 6d62 6572 206f 6620 636f 6c75 6d6e number of column\n-000e6060: 7320 6f66 2074 6865 206d 6174 7269 782e s of the matrix.\n-000e6070: 204c 696b 6577 6973 652c 203c 636f 6465 Likewise, __offset[0] is the row o\n-000e60a0: 6666 7365 7420 616e 6420 3c63 6f64 653e ffset and
\n-000e60b0: 5f5f 6f66 6673 6574 5b31 5d3c 2f63 6f64 __offset[1] is the column\n-000e60d0: 7320 6f66 6673 6574 2e3c 2f70 3e0a 3c64 s offset.
.No\n-000e61f0: 6e2d 534f 4150 2064 796e 616d 6963 2061 n-SOAP dynamic a\n-000e6200: 7272 6179 733c 2f68 333e 0a3c 703e 416e rrays
.__\n-000e6430: 7074 723c 2f63 6f64 653e 2061 6e64 203c ptr
and <\n-000e6440: 636f 6465 3e5f 5f73 697a 653c 2f63 6f64 code>__size members:int __offset[K]; \n+000e5a40: 3c73 7061 6e20 636c 6173 733d 2263 6f6d // optiona\n+000e5a60: 6c20 534f 4150 2031 2e31 2061 7272 6179 l SOAP 1.1 array\n+000e5a70: 206f 6666 7365 743c 2f73 7061 6e3e 3c2f offset\n+000e5a80: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.Type\n+000e5b80: 3c2f 636f 6465 3e20 6973 2074 6865 2074
is the t\n+000e5b90: 7970 6520 666f 7220 7468 6520 656c 656d ype for the elem\n+000e5ba0: 656e 7473 206f 6620 7468 6520 6172 7261 ents of the arra\n+000e5bb0: 792e 2054 6865 203c 636f 6465 3e5f 5f70 y. The __p\n+000e5bc0: 7472 3c2f 636f 6465 3e20 6d65 6d62 6572 tr
member\n+000e5bd0: 2070 6f69 6e74 7320 746f 2074 6865 2061 points to the a\n+000e5be0: 7272 6179 2076 616c 7565 732e 2054 6865 rray values. The\n+000e5bf0: 203c 636f 6465 3e5f 5f73 697a 653c 2f63 __size array speci\n+000e5c10: 6669 6573 2074 6865 206e 756d 6265 7220 fies the number \n+000e5c20: 6f66 2061 7272 6179 2065 6c65 6d65 6e74 of array element\n+000e5c30: 7320 7065 7220 6469 6d65 6e73 696f 6e2e s per dimension.\n+000e5c40: 2054 6865 203c 636f 6465 3e5f 5f6f 6666 The
__off\n+000e5c50: 7365 743c 2f63 6f64 653e 2061 7272 6179 set
array\n+000e5c60: 2073 7065 6369 6669 6573 2061 6e20 6f70 specifies an op\n+000e5c70: 7469 6f6e 616c 206f 6666 7365 7420 7065 tional offset pe\n+000e5c80: 7220 6469 6d65 6e73 696f 6e2e 3c2f 703e r dimension.__siz\n+000e5fd0: 653c 2f63 6f64 653e 206d 656d 6265 723a e
member:\n+000e5fe0: 203c 636f 6465 3e5f 5f73 697a 655b 305d __size[0]\n+000e5ff0: 3c2f 636f 6465 3e20 686f 6c64 7320 7468
holds th\n+000e6000: 6520 6e75 6d62 6572 206f 6620 726f 7773 e number of rows\n+000e6010: 2061 6e64 203c 636f 6465 3e5f 5f73 697a and __siz\n+000e6020: 655b 315d 3c2f 636f 6465 3e20 686f 6c64 e[1]
hold\n+000e6030: 7320 7468 6520 6e75 6d62 6572 206f 6620 s the number of \n+000e6040: 636f 6c75 6d6e 7320 6f66 2074 6865 206d columns of the m\n+000e6050: 6174 7269 782e 204c 696b 6577 6973 652c atrix. Likewise,\n+000e6060: 203c 636f 6465 3e5f 5f6f 6666 7365 745b __offset[\n+000e6070: 305d 3c2f 636f 6465 3e20 6973 2074 6865 0]
is the\n+000e6080: 2072 6f77 206f 6666 7365 7420 616e 6420 row offset and \n+000e6090: 3c63 6f64 653e 5f5f 6f66 6673 6574 5b31 __offset[1\n+000e60a0: 5d3c 2f63 6f64 653e 2069 7320 7468 6520 ]
is the \n+000e60b0: 636f 6c75 6d6e 7320 6f66 6673 6574 2e3c columns offset.<\n+000e60c0: 2f70 3e0a 3c64 6c20 636c 6173 733d 2273 /p>.\n+000e60e0: 3c64 743e 5761 726e 696e 673c 2f64 743e
.__offse\n+000e6140: 743c 2f63 6f64 653e 206d 656d 6265 7220 t
member \n+000e6150: 6f66 2061 2064 796e 616d 6963 2061 7272 of a dynamic arr\n+000e6160: 6179 2069 7320 6967 6e6f 7265 642e 3c2f ay is ignored.\n+000e6170: 6464 3e3c 2f64 6c3e 0a3c 703e f09f 949d dd>__siz\n+000e6430: 653c 2f63 6f64 653e 206d 656d 6265 7273 e
members\n+000e6440: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 :struct prefix__array_\n+000e64a0: 6e61 6d65 203c 2f64 6976 3e0a 3c64 6976 name __size member (
__s\n+000e6710: 697a 653c 2f63 6f64 653e 206d 656d 6265 ize
membe\n+000e6720: 7220 283c 636f 6465 3e5f 5f73 697a 654e r (__sizeN\n+000e6730: 616d 653c 2f63 6f64 653e 2069 7320 616c ame
is al\n+000e6740: 736f 2061 6c6c 6f77 6564 2920 7468 6174 so allowed) that\n+000e6750: 2070 7265 6365 6465 7320 6120 706f 696e precedes a poin\n+000e6760: 7465 7220 6d65 6d62 6572 3a3c 2f70 3e0a ter member:__siz\n-000e6bc0: 653c 2f63 6f64 653e 206d 656d 6265 7220 e
member \n-000e6bd0: 7368 6f75 6c64 2062 6520 616e 203c 636f should be an size_t<\n-000e6c10: 2f63 6f64 653e 2074 7970 6520 6f72 206f /code> type or o\n-000e6c20: 7468 6572 2069 6e74 6567 6572 2074 7970 ther integer typ\n-000e6c30: 652e 3c2f 703e 0a3c 703e 466f 7220 6578 e.
$' as a specia\n-000e6f50: 6c20 6d61 726b 6572 2074 6f20 616e 6e6f l marker to anno\n-000e6f60: 7461 7465 2061 2073 697a 6520 6d65 6d62 tate a size memb\n-000e6f70: 6572 2069 6e73 7465 6164 206f 6620 7265 er instead of re\n-000e6f80: 7175 6972 696e 6720 7468 6573 6520 6d65 quiring these me\n-000e6f90: 6d62 6572 7320 746f 2073 7461 7274 2077 mbers to start w\n-000e6fa0: 6974 6820 3c63 6f64 653e 5f5f 7369 7a65 ith
__size\n-000e6fb0: 3c2f 636f 6465 3e3a 3c2f 703e 0a3c 6469
:Susan\n-000e7540: 266c 743b 2f3c 7370 616e 2063 6c61 7373 </k\n-000e7560: 6579 3c2f 7370 616e 3e26 6774 3b20 3c2f ey> \n-000e7570: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.int nEmails; \n-000e7ca0: 2020 2020 203c 7370 616e 2063 6c61 7373 // nu\n-000e7cc0: 6d62 6572 206f 6620 656d 6169 6c73 203c mber of emails <\n-000e7cd0: 2f73 7061 6e3e 3c2f 6469 763e 0a3c 6469 /span>ns__Con\n-000e7dd0: 7461 6374 3c2f 636f 6465 3e20 6973 3a3c tact
is:<\n-000e7de0: 2f70 3e0a 3c64 6976 2063 6c61 7373 3d22 /p>..STL\n-000e8410: 2063 6f6e 7461 696e 6572 733c 2f68 333e containers
\n-000e8420: 0a3c 703e 5468 6520 5354 4c20 636f 6e74 .std\n-000e8440: 3a3a 6465 7175 653c 2f63 6f64 653e 2c20 ::deque
, \n-000e8450: 3c63 6f64 653e 7374 643a 3a6c 6973 743c std::list<\n-000e8460: 2f63 6f64 653e 2c20 3c63 6f64 653e 7374 /code>,
st\n-000e8470: 643a 3a73 6574 3c2f 636f 6465 3e2c 2061 d::set
, a\n-000e8480: 6e64 203c 636f 6465 3e73 7464 3a3a 7665 nd std::ve\n-000e8490: 6374 6f72 3c2f 636f 6465 3e20 6172 6520 ctor
are \n-000e84a0: 7365 7269 616c 697a 6162 6c65 2069 6e20 serializable in \n-000e84b0: 584d 4c20 6279 2074 6865 2073 6f61 7063 XML by the soapc\n-000e84c0: 7070 322d 6765 6e65 7261 7465 6420 7365 pp2-generated se\n-000e84d0: 7269 616c 697a 6572 732e 3c2f 703e 0a3c rializers.stldeque\n-000e8540: 2e68 3c2f 636f 6465 3e3c 2f65 6d3e 2c20 .h
, \n-000e8550: 3c65 6d3e 3c63 6f64 653e 7374 6c6c 6973 stllis\n-000e8560: 742e 683c 2f63 6f64 653e 3c2f 656d 3e2c t.h
,\n-000e8570: 203c 656d 3e3c 636f 6465 3e73 746c 7365 stlse\n-000e8580: 742e 683c 2f63 6f64 653e 3c2f 656d 3e2c t.h
,\n-000e8590: 206f 7220 3c65 6d3e 3c63 6f64 653e 7374 or st\n-000e85a0: 6c76 6563 746f 722e 683c 2f63 6f64 653e lvector.h
\n-000e85b0: 3c2f 656d 3e20 746f 2065 6e61 626c 6520 to enable \n-000e85c0: 3c63 6f64 653e 7374 643a 3a64 6571 7565 std::deque\n-000e85d0: 3c2f 636f 6465 3e2c 203c 636f 6465 3e73
, s\n-000e85e0: 7464 3a3a 6c69 7374 3c2f 636f 6465 3e2c td::list
,\n-000e85f0: 203c 636f 6465 3e73 7464 3a3a 7365 743c std::set<\n-000e8600: 2f63 6f64 653e 2c20 616e 6420 3c63 6f64 /code>, and
\n-000e88a0: 7368 6f77 6e20 6162 6f76 6520 6973 2070 shown above is p\n-000e88b0: 6f73 7369 626c 652c 2062 7574 206e 6f74 ossible, but not\n-000e88c0: 2072 6571 7569 7265 642e 2041 6c73 6f20 required. Also \n-000e88d0: 3c63 6f64 653e 6d69 6e4f 6363 7572 7320 minOccurs \n-000e88e0: 3a20 6d61 784f 6363 7572 733c 2f63 6f64 : maxOccurs and
min\n-000e8900: 4f63 6375 7273 3c2f 636f 6465 3e20 6c65 Occurs
le\n-000e8910: 6e67 7468 2063 6f6e 7374 7261 696e 7473 ngth constraints\n-000e8920: 2063 616e 2062 6520 7370 6563 6966 6965 can be specifie\n-000e8930: 6420 6173 2073 686f 776e 2069 6e20 7468 d as shown in th\n-000e8940: 6520 6578 616d 706c 6520 6162 6f76 652e e example above.\n-000e8950: 2054 6865 2058 4d4c 2073 6368 656d 6120 The XML schema \n-000e8960: 7468 6174 2063 6f72 7265 7370 6f6e 6473 that corresponds\n-000e8970: 2074 6f20 7468 6520 3c63 6f64 653e 6e73 to the ns\n-000e8980: 5f5f 6d79 436c 6173 733c 2f63 6f64 653e __myClass
\n-000e8990: 2074 7970 6520 6973 3a3c 2f70 3e0a 3c64 type is:.minOccurs="1"\n-000e8c00: 7370 616e 3e20 3c73 7061 6e20 636c 6173 span> maxO\n-000e8c20: 6363 7572 733c 2f73 7061 6e3e 3d3c 7370 ccurs=name=\n-000e8cd0: 3c73 7061 6e20 636c 6173 733d 2273 7472 &quo\n-000e8cf0: 743b 6e61 6d65 2671 756f 743b 3c2f 7370 t;name" type\n-000e8d20: 7370 616e 3e3d 3c73 7061 6e20 636c 6173 span>="xsd:stri\n-000e8d50: 6e67 2671 756f 743b 3c2f 7370 616e 3e20 ng" \n-000e8d60: 3c73 7061 6e20 636c 6173 733d 226b 6579 minOccurs<\n-000e8d80: 2f73 7061 6e3e 3d3c 7370 616e 2063 6c61 /span>="2"\n-000e8db0: 3c2f 7370 616e 3e20 3c73 7061 6e20 636c ma\n-000e8dd0: 784f 6363 7572 733c 2f73 7061 6e3e 3d3c xOccurs=<\n-000e8de0: 7370 616e 2063 6c61 7373 3d22 7374 7269 span class=\"stri\n-000e8df0: 6e67 6c69 7465 7261 6c22 3e26 7175 6f74 ngliteral\">"\n-000e8e00: 3b75 6e62 6f75 6e64 6564 2671 756f 743b ;unbounded"\n-000e8e10: 3c2f 7370 616e 3e2f 2667 743b 203c 2f64 /> ..
.ite\n-000e8fd0: 7261 746f 7220 6265 6769 6e28 293c 2f63 rator begin() return iter\n-000e8ff0: 6174 6f72 2074 6f20 6265 6769 6e6e 696e ator to beginnin\n-000e9000: 673b 3c2f 6c69 3e0a 3c6c 693e 3c63 6f64 g;
iterato\n-000e9070: 7220 656e 6428 293c 2f63 6f64 653e 2072 r end()
r\n-000e9080: 6574 7572 6e20 6974 6572 6174 6f72 2074 eturn iterator t\n-000e9090: 6f20 656e 643b 3c2f 6c69 3e0a 3c6c 693e o end;.const_iter\n-000e90b0: 6174 6f72 2065 6e64 2829 2063 6f6e 7374 ator end() const\n-000e90c0: 3c2f 636f 6465 3e20 7265 7475 726e 2063
return c\n-000e90d0: 6f6e 7374 2069 7465 7261 746f 7220 746f onst iterator to\n-000e90e0: 2065 6e64 3b3c 2f6c 693e 0a3c 6c69 3e3c end;iterator i\n-000e9130: 6e73 6572 7428 6974 6572 6174 6f72 2070 nsert(iterator p\n-000e9140: 6f73 2c20 636f 6e73 745f 7265 6665 7265 os, const_refere\n-000e9150: 6e63 6520 7661 6c29 3c2f 636f 6465 3e20 nce val)
\n-000e9160: 696e 7365 7274 2065 6c65 6d65 6e74 2e3c insert element.<\n-000e9170: 2f6c 693e 0a3c 2f75 6c3e 0a3c 703e 5468 /li>.iterator\n-000e9190: 3c2f 636f 6465 3e20 7368 6f75 6c64 2062
should b\n-000e91a0: 6520 6120 666f 7277 6172 6420 6974 6572 e a forward iter\n-000e91b0: 6174 6f72 2077 6974 6820 6120 6465 7265 ator with a dere\n-000e91c0: 6665 7265 6e63 6520 6f70 6572 6174 6f72 ference operator\n-000e91d0: 2074 6f20 6163 6365 7373 2074 6865 2063 to access the c\n-000e91e0: 6f6e 7461 696e 6572 2773 2065 6c65 6d65 ontainer's eleme\n-000e91f0: 6e74 732c 2069 7420 6d75 7374 2062 6520 nts, it must be \n-000e9200: 636f 6d70 6172 6162 6c65 2028 6571 7561 comparable (equa\n-000e9210: 6c2f 756e 6571 7561 6c29 2c20 616e 6420 l/unequal), and \n-000e9220: 6265 2070 7265 2d69 6e63 7265 6d65 6e74 be pre-increment\n-000e9230: 6162 6c65 2028 3c63 6f64 653e 2b2b 6974 able (++it\n-000e9240: 3c2f 636f 6465 3e29 2e20 5468 6520 636f
). The co\n-000e9250: 6e73 7420 6974 6572 6174 6f72 2069 7320 nst iterator is \n-000e9260: 7573 6564 2062 7920 6974 7320 736f 6170 used by its soap\n-000e9270: 6370 7032 2d67 656e 6572 6174 6564 2073 cpp2-generated s\n-000e9280: 6572 6961 6c69 7a65 7220 746f 2073 656e erializer to sen\n-000e9290: 6420 6120 7365 7175 656e 6365 206f 6620 d a sequence of \n-000e92a0: 584d 4c20 656c 656d 656e 7420 7661 6c75 XML element valu\n-000e92b0: 6573 2e20 5468 6520 3c63 6f64 653e 696e es. The in\n-000e92c0: 7365 7274 3c2f 636f 6465 3e20 6d65 7468 sert
meth\n-000e92d0: 6f64 2069 7320 7573 6564 2074 6f20 706f od is used to po\n-000e92e0: 7075 6c61 7465 2061 2063 6f6e 7461 696e pulate a contain\n-000e92f0: 6572 2077 6974 6820 3c63 6f64 653e 436f er with Co\n-000e9300: 6e74 6169 6e65 723a 3a69 7465 7261 746f ntainer::iterato\n-000e9310: 7220 6920 3d20 636f 6e74 6169 6e65 722e r i = container.\n-000e9320: 696e 7365 7274 2863 6f6e 7461 696e 6572 insert(container\n-000e9330: 2e65 6e64 2829 2c20 7661 6c29 3c2f 636f .end(), val).
template <cl\n-000e9430: 6173 733c 2f73 7061 6e3e 2054 2667 743b ass T>\n-000e9440: 203c 2f64 6976 3e0a 3c64 6976 2063 6c61 typedef value_type \n-000e9580: 2020 2020 2020 2020 202a 2070 6f69 6e74 * point\n-000e9590: 6572 3b20 3c2f 6469 763e 0a3c 6469 7620 er; __size
m\n+000e6bb0: 656d 6265 7220 7368 6f75 6c64 2062 6520 ember should be \n+000e6bc0: 616e 203c 636f 6465 3e69 6e74 3c2f 636f an int type and can\n+000e6be0: 6e6f 7420 6265 2061 203c 636f 6465 3e73 not be a
s\n+000e6bf0: 697a 655f 743c 2f63 6f64 653e 2074 7970 ize_t
typ\n+000e6c00: 6520 6f72 206f 7468 6572 2069 6e74 6567 e or other integ\n+000e6c10: 6572 2074 7970 652e 3c2f 703e 0a3c 703e er type.struct ns__Map // number of\n+000e6d50: 2070 6169 7273 203c 2f73 7061 6e3e 3c2f pairs \n+000e6d60: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.$
' as a \n+000e6f30: 7370 6563 6961 6c20 6d61 726b 6572 2074 special marker t\n+000e6f40: 6f20 616e 6e6f 7461 7465 2061 2073 697a o annotate a siz\n+000e6f50: 6520 6d65 6d62 6572 2069 6e73 7465 6164 e member instead\n+000e6f60: 206f 6620 7265 7175 6972 696e 6720 7468 of requiring th\n+000e6f70: 6573 6520 6d65 6d62 6572 7320 746f 2073 ese members to s\n+000e6f80: 7461 7274 2077 6974 6820 3c63 6f64 653e tart with \n+000e6f90: 5f5f 7369 7a65 3c2f 636f 6465 3e3a 3c2f __size
:\n+000e6fa0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.int size; \n+000e7070: 2f2f 206e 756d 6265 7220 6f66 2070 6169 // number of pai\n+000e7080: 7273 203c 2f73 7061 6e3e 3c2f 6469 763e rs char *val;\n+000e83f0: 613e 0a53 544c 2063 6f6e 7461 696e 6572 a>.STL container\n+000e8400: 733c 2f68 333e 0a3c 703e 5468 6520 5354 s
.std:\n+000e8440: 3a6c 6973 743c 2f63 6f64 653e 2c20 3c63 :list
, s\n+000e8470: 7464 3a3a 7665 6374 6f72 3c2f 636f 6465 td::vector
are serializab\n+000e8490: 6c65 2069 6e20 584d 4c20 6279 2074 6865 le in XML by the\n+000e84a0: 2073 6f61 7063 7070 322d 6765 6e65 7261 soapcpp2-genera\n+000e84b0: 7465 6420 7365 7269 616c 697a 6572 732e ted serializers.\n+000e84c0: 3c2f 703e 0a3c 703e 496e 206f 7264 6572 st\n+000e8520: 6c64 6571 7565 2e68 3c2f 636f 6465 3e3c ldeque.h
<\n+000e8530: 2f65 6d3e 2c20 3c65 6d3e 3c63 6f64 653e /em>, \n+000e8540: 7374 6c6c 6973 742e 683c 2f63 6f64 653e stllist.h
\n+000e8550: 3c2f 656d 3e2c 203c 656d 3e3c 636f 6465 , stlset.h
\n+000e8570: 3c2f 656d 3e2c 206f 7220 3c65 6d3e 3c63 , or std:\n+000e85b0: 3a64 6571 7565 3c2f 636f 6465 3e2c 203c :deque
, <\n+000e85c0: 636f 6465 3e73 7464 3a3a 6c69 7374 3c2f code>std::list\n+000e85d0: 636f 6465 3e2c 203c 636f 6465 3e73 7464 code>, std\n+000e85e0: 3a3a 7365 743c 2f63 6f64 653e 2c20 616e ::set
, an\n+000e85f0: 6420 3c63 6f64 653e 7374 643a 3a76 6563 d std::vec\n+000e8600: 746f 723c 2f63 6f64 653e 2c20 7265 7370 tor
, resp\n+000e8610: 6563 7469 7665 6c79 2e20 466f 7220 6578 ectively. For ex\n+000e8620: 616d 706c 653a 3c2f 703e 0a3c 6469 7620 ample:class ns__myClass .name\n+000e8880: 636f 6465 3e20 7368 6f77 6e20 6162 6f76 code> shown abov\n+000e8890: 6520 6973 2070 6f73 7369 626c 652c 2062 e is possible, b\n+000e88a0: 7574 206e 6f74 2072 6571 7569 7265 642e ut not required.\n+000e88b0: 2041 6c73 6f20 3c63 6f64 653e 6d69 6e4f Also
minO\n+000e88c0: 6363 7572 7320 3a20 6d61 784f 6363 7572 ccurs : maxOccur\n+000e88d0: 733c 2f63 6f64 653e 2061 6e64 203c 636f s
and maxOccurs="unbounded\n+000e8df0: 2671 756f 743b 3c2f 7370 616e 3e2f 2667 "/&g\n+000e8e00: 743b 203c 2f64 6976 3e0a 3c64 6976 2063 t; \n+000e8f70: 0a3c 6c69 3e3c 636f 6465 3e76 6f69 6420 .
\n+000e9160: 0a3c 703e 5468 6520 3c63 6f64 653e 6974 .void \n+000e8f80: 636c 6561 7228 293c 2f63 6f64 653e 2065 clear()
e\n+000e8f90: 6d70 7479 2074 6865 2063 6f6e 7461 696e mpty the contain\n+000e8fa0: 6572 3b3c 2f6c 693e 0a3c 6c69 3e3c 636f er;const_it\n+000e9000: 6572 6174 6f72 2062 6567 696e 2829 2063 erator begin() c\n+000e9010: 6f6e 7374 3c2f 636f 6465 3e20 7265 7475 onst
retu\n+000e9020: 726e 2063 6f6e 7374 2069 7465 7261 746f rn const iterato\n+000e9030: 7220 746f 2062 6567 696e 6e69 6e67 3b3c r to beginning;<\n+000e9040: 2f6c 693e 0a3c 6c69 3e3c 636f 6465 3e69 /li>.i\n+000e9050: 7465 7261 746f 7220 656e 6428 293c 2f63 terator end() return iter\n+000e9070: 6174 6f72 2074 6f20 656e 643b 3c2f 6c69 ator to end;
cons\n+000e9090: 745f 6974 6572 6174 6f72 2065 6e64 2829 t_iterator end()\n+000e90a0: 2063 6f6e 7374 3c2f 636f 6465 3e20 7265 const
re\n+000e90b0: 7475 726e 2063 6f6e 7374 2069 7465 7261 turn const itera\n+000e90c0: 746f 7220 746f 2065 6e64 3b3c 2f6c 693e tor to end;size_\n+000e90e0: 7420 7369 7a65 2829 3c2f 636f 6465 3e20 t size()
\n+000e90f0: 7265 7475 726e 2073 697a 653b 3c2f 6c69 return size;iter\n+000e9110: 6174 6f72 2069 6e73 6572 7428 6974 6572 ator insert(iter\n+000e9120: 6174 6f72 2070 6f73 2c20 636f 6e73 745f ator pos, const_\n+000e9130: 7265 6665 7265 6e63 6520 7661 6c29 3c2f reference val)\n+000e9140: 636f 6465 3e20 696e 7365 7274 2065 6c65 code> insert ele\n+000e9150: 6d65 6e74 2e3c 2f6c 693e 0a3c 2f75 6c3e ment.
it\n+000e9170: 6572 6174 6f72 3c2f 636f 6465 3e20 7368 erator
sh\n+000e9180: 6f75 6c64 2062 6520 6120 666f 7277 6172 ould be a forwar\n+000e9190: 6420 6974 6572 6174 6f72 2077 6974 6820 d iterator with \n+000e91a0: 6120 6465 7265 6665 7265 6e63 6520 6f70 a dereference op\n+000e91b0: 6572 6174 6f72 2074 6f20 6163 6365 7373 erator to access\n+000e91c0: 2074 6865 2063 6f6e 7461 696e 6572 2773 the container's\n+000e91d0: 2065 6c65 6d65 6e74 732c 2069 7420 6d75 elements, it mu\n+000e91e0: 7374 2062 6520 636f 6d70 6172 6162 6c65 st be comparable\n+000e91f0: 2028 6571 7561 6c2f 756e 6571 7561 6c29 (equal/unequal)\n+000e9200: 2c20 616e 6420 6265 2070 7265 2d69 6e63 , and be pre-inc\n+000e9210: 7265 6d65 6e74 6162 6c65 2028 3c63 6f64 rementable (class\n+000e9420: 2054 2667 743b 203c 2f64 6976 3e0a 3c64 T> typedef T \n+000e9500: 2020 2020 2020 2020 2020 2076 616c 7565 value\n+000e9510: 5f74 7970 653b 203c 2f64 6976 3e0a 3c64 _type; protected: /* the membe\n-000e9c10: 7220 6675 6e63 7469 6f6e 7320 6265 6c6f r functions belo\n-000e9c20: 7720 6172 6520 7265 7175 6972 6564 2066 w are required f\n-000e9c30: 6f72 2073 6572 6961 6c69 7a61 7469 6f6e or serialization\n-000e9c40: 206f 6620 7465 6d70 6c61 7465 7320 2a2f of templates */\n-000e9c50: 3c2f 7370 616e 3e20 3c2f 6469 763e 0a3c const { re\n-000e9e80: 7475 726e 3c2f 7370 616e 3e20 7461 696c turn tail\n-000e9e90: 3b20 7d20 3c2f 6469 763e 0a3c 6469 7620 ; } return\n-000e9f40: 7370 616e 3e20 7461 696c 202d 2068 6561 span> tail - hea\n-000e9f50: 643b 207d 203c 2f64 6976 3e0a 3c64 6976 d; } else if\n-000ea0f0: 3c2f 7370 616e 3e20 2874 6169 6c20 2667 (tail &g\n-000ea100: 743b 3d20 6865 6164 202b 2063 6170 6163 t;= head + capac\n-000ea110: 6974 7929 203c 2f64 6976 3e0a 3c64 6976 ity) new v\n-000ea8c0: 616c 7565 5f74 7970 655b 6361 7061 6369 alue_type[capaci\n-000ea8d0: 7479 5d3b 203c 2f64 6976 3e0a 3c64 6976 ty]; #\n-000eacc0: 696e 636c 7564 653c 2f63 6f64 653e 2064 include
d\n-000eacd0: 6972 6563 7469 7665 7320 6172 6520 6e6f irectives are no\n-000eace0: 7420 6578 6563 7574 6564 2062 7920 736f t executed by so\n-000eacf0: 6170 6370 7032 2062 7574 2073 696d 706c apcpp2 but simpl\n-000ead00: 7920 7061 7373 6564 206f 6e20 746f 2074 y passed on to t\n-000ead10: 6865 2067 656e 6572 6174 6564 2073 6f75 he generated sou\n-000ead20: 7263 6520 636f 6465 2e20 5468 6973 2069 rce code. This i\n-000ead30: 6e63 6c75 6465 2073 7065 6369 6669 6573 nclude specifies\n-000ead40: 2069 6e20 7468 6520 6765 6e65 7261 7465 in the generate\n-000ead50: 6420 736f 7572 6365 2063 6f64 6520 7768 d source code wh\n-000ead60: 6572 6520 7468 6520 636f 6e74 6169 6e65 ere the containe\n-000ead70: 7220 6973 2061 6374 7561 6c6c 7920 6465 r is actually de\n-000ead80: 6669 6e65 642e 3c2f 703e 0a3c 703e f09f fined.\n-000eadf0: 613e 0a50 6f6c 796d 6f72 7068 6963 2064 a>.Polymorphic d\n-000eae00: 796e 616d 6963 2061 7272 6179 7320 616e ynamic arrays an\n-000eae10: 6420 6c69 7374 733c 2f68 333e 0a3c 703e d lists
.ns__Objec\n-000eb420: 743c 2f63 6f64 653e 2062 6173 6520 696e t
base in\n-000eb430: 7374 616e 6365 7320 6f72 203c 636f 6465 stances or ns__Data
\n-000eb450: 2064 6572 6976 6564 2069 6e73 7461 6e63 derived instanc\n-000eb460: 6573 2c20 7768 6963 6820 7769 6c6c 2062 es, which will b\n-000eb470: 6520 7365 7269 616c 697a 6564 2061 6363 e serialized acc\n-000eb480: 6f72 6469 6e67 6c79 2069 6e20 584d 4c2e ordingly in XML.\n-000eb490: 2044 6572 6976 6564 2069 6e73 7461 6e63 Derived instanc\n-000eb4a0: 6573 2061 7265 2069 6e64 6963 6174 6564 es are indicated\n-000eb4b0: 2062 7920 3c65 6d3e 3c63 6f64 653e 7873 by xs\n-000eb4c0: 693a 7479 7065 3c2f 636f 6465 3e3c 2f65 i:type
attribute in \n-000eb4e0: 584d 4c20 7769 7468 2074 6865 2071 7561 XML with the qua\n-000eb4f0: 6c69 6669 6564 206e 616d 6520 6f66 2074 lified name of t\n-000eb500: 6865 2063 6c61 7373 2c20 746f 2064 6973 he class, to dis\n-000eb510: 7469 6e67 7569 7368 2064 6572 6976 6564 tinguish derived\n-000eb520: 2069 6e73 7461 6e63 6573 2066 726f 6d20 instances from \n-000eb530: 7468 6520 6261 7365 2069 6e73 7461 6e63 the base instanc\n-000eb540: 6573 2e20 5769 7468 6f75 7420 7468 6973 es. Without this\n-000eb550: 2061 7474 7269 6275 7465 2074 6865 2064 attribute the d\n-000eb560: 6573 6572 6961 6c69 7a65 7220 7769 6c6c eserializer will\n-000eb570: 206e 6f74 2069 6e73 7461 6e74 6961 7465 not instantiate\n-000eb580: 2074 6865 2064 6572 6976 6564 2069 6e73 the derived ins\n-000eb590: 7461 6e63 6520 6275 7420 6120 6261 7365 tance but a base\n-000eb5a0: 2069 6e73 7461 6e63 6520 7369 6e63 6520 instance since \n-000eb5b0: 7468 6572 6520 6973 206e 6f20 6964 656e there is no iden\n-000eb5c0: 7469 6679 696e 6720 696e 666f 726d 6174 tifying informat\n-000eb5d0: 696f 6e20 746f 2064 6973 7469 6e67 7569 ion to distingui\n-000eb5e0: 7368 2074 6865 2058 4d4c 2066 6f72 6d73 sh the XML forms\n-000eb5f0: 2065 7863 6570 7420 666f 7220 7468 6520 except for the \n-000eb600: 3c65 6d3e 3c63 6f64 653e 7873 693a 7479 xsi:ty\n-000eb610: 7065 3c2f 636f 6465 3e3c 2f65 6d3e 2061 pe
a\n-000eb620: 7474 7269 6275 7465 2e3c 2f70 3e0a 3c70 ttribute.\n-000eb6e0: 4172 7261 794f 664f 626a 6563 743c 2f63 ArrayOfObject and a non-S\n-000eb700: 4f41 5020 6479 6e61 6d69 6320 6172 7261 OAP dynamic arra\n-000eb710: 7920 3c63 6f64 653e 6e73 5f5f 4f62 6a65 y
ns__Obje\n-000eb720: 6374 733c 2f63 6f64 653e 2074 6861 7420 cts
that \n-000eb730: 686f 6c64 2076 616c 7565 7320 6f66 2061 hold values of a\n-000eb740: 6e79 2073 6572 6961 6c69 7a61 626c 6520 ny serializable \n-000eb750: 7479 7065 3a3c 2f70 3e0a 3c64 6976 2063 type: const { re\n+000e9f20: 7475 726e 3c2f 7370 616e 3e20 7461 696c turn tail\n+000e9f30: 202d 2068 6561 643b 207d 203c 2f64 6976 - head; } .Polymor\n+000eade0: 7068 6963 2064 796e 616d 6963 2061 7272 phic dynamic arr\n+000eadf0: 6179 7320 616e 6420 6c69 7374 733c 2f68 ays and lists.
// vector of\n+000eb370: 2062 6173 6520 6f72 2064 6572 6976 6564 base or derived\n+000eb380: 206f 626a 6563 7473 203c 2f73 7061 6e3e objects \n+000eb390: 3c2f 6469 763e 0a3c 6469 7620 636c 6173 ns_\n+000eb400: 5f4f 626a 6563 743c 2f63 6f64 653e 2062 _Object
b\n+000eb410: 6173 6520 696e 7374 616e 6365 7320 6f72 ase instances or\n+000eb420: 203c 636f 6465 3e6e 735f 5f44 6174 613c ns__Data<\n+000eb430: 2f63 6f64 653e 2064 6572 6976 6564 2069 /code> derived i\n+000eb440: 6e73 7461 6e63 6573 2c20 7768 6963 6820 nstances, which \n+000eb450: 7769 6c6c 2062 6520 7365 7269 616c 697a will be serializ\n+000eb460: 6564 2061 6363 6f72 6469 6e67 6c79 2069 ed accordingly i\n+000eb470: 6e20 584d 4c2e 2044 6572 6976 6564 2069 n XML. Derived i\n+000eb480: 6e73 7461 6e63 6573 2061 7265 2069 6e64 nstances are ind\n+000eb490: 6963 6174 6564 2062 7920 3c65 6d3e 3c63 icated by
use\n+000ec9b0: 2074 6865 2073 616d 6520 7374 7275 6374 the same struct\n+000ec9c0: 206f 7220 636c 6173 7320 7374 7275 6374 or class struct\n+000ec9d0: 7572 652c 2062 7574 2077 6974 6820 616e ure, but with an\n+000ec9e0: 6f74 6865 7220 6e61 6d65 2e20 466f 7220 other name. For \n+000ec9f0: 6578 616d 706c 653a 3c2f 703e 0a3c 6469 example:\n+000eb5f0: 7873 693a 7479 7065 3c2f 636f 6465 3e3c xsi:type
<\n+000eb600: 2f65 6d3e 2061 7474 7269 6275 7465 2e3c /em> attribute.<\n+000eb610: 2f70 3e0a 3c70 3e53 696e 6365 2077 6520 /p>.ArrayOfObj\n+000eb6d0: 6563 743c 2f63 6f64 653e 2061 6e64 2061 ect
and a\n+000eb6e0: 206e 6f6e 2d53 4f41 5020 6479 6e61 6d69 non-SOAP dynami\n+000eb6f0: 6320 6172 7261 7920 3c63 6f64 653e 6e73 c array ns\n+000eb700: 5f5f 4f62 6a65 6374 733c 2f63 6f64 653e __Objects
\n+000eb710: 2074 6861 7420 686f 6c64 2076 616c 7565 that hold value\n+000eb720: 7320 6f66 2061 6e79 2073 6572 6961 6c69 s of any seriali\n+000eb730: 7a61 626c 6520 7479 7065 3a3c 2f70 3e0a zable type:struct ArrayOfObject \n+000eb930: 3c2f 6469 763e 0a3c 6469 7620 636c 6173 // size of t\n-000eba60: 6865 2061 7272 6179 3c2f 7370 616e 3e3c he array<\n-000eba70: 2f64 6976 3e0a 3c64 6976 2063 6c61 7373 /div>.__array\n-000ebc90: 636f 6465 3e2c 2077 6869 6368 2073 7461 code>, which sta\n-000ebca0: 7274 2077 6974 6820 6120 646f 7562 6c65 rt with a double\n-000ebcb0: 2075 6e64 6572 7363 6f72 652e 2054 6865 underscore. The\n-000ebcc0: 7365 206e 616d 6573 2061 7265 206e 6576 se names are nev\n-000ebcd0: 6572 2076 6973 6962 6c65 2069 6e20 7365 er visible in se\n-000ebce0: 7269 616c 697a 6564 2058 4d4c 2e20 5468 rialized XML. Th\n-000ebcf0: 6520 3c63 6f64 653e 5f5f 7479 7065 3c2f e
__type\n-000ebd00: 636f 6465 3e20 6d65 6d62 6572 206f 6620 code> member of \n-000ebd10: 3c63 6f64 653e 5f5f 7772 6170 7065 723c
__wrapper<\n-000ebd20: 2f63 6f64 653e 2069 7320 6120 3c63 6f64 /code> is a
T
__\n-000ebd80: 6974 656d 3c2f 636f 6465 3e20 706f 696e item
poin\n-000ebd90: 7473 2074 6f2c 2073 6565 2053 6563 7469 ts to, see Secti\n-000ebda0: 6f6e 203c 6120 636c 6173 733d 2265 6c22 on Void poi\n-000ebdd0: 6e74 6572 2073 6572 6961 6c69 7a61 7469 nter serializati\n-000ebde0: 6f6e 3c2f 613e 2e3c 2f70 3e0a 3c70 3ef0 on..How\n-000ebe50: 2074 6f20 6368 616e 6765 2074 6865 2074 to change the t\n-000ebe60: 6167 206e 616d 6573 206f 6620 6172 7261 ag names of arra\n-000ebe70: 7920 6974 656d 2065 6c65 6d65 6e74 733c y item elements<\n-000ebe80: 2f68 333e 0a3c 703e 5468 6520 6465 6661 /h3>.
item, which\n-000ebee0: 2063 616e 2062 6520 6368 616e 6765 642e can be changed.\n-000ebef0: 2054 6865 203c 636f 6465 3e5f 5f70 7472 The
\n-000ebfc0: 206d 656d 6265 7220 6e61 6d65 3a3c 2f70 member name:__ptr\n-000ebf00: 3c2f 636f 6465 3e20 6d65 6d62 6572 2069
member i\n-000ebf10: 6e20 6120 7374 7275 6374 206f 7220 636c n a struct or cl\n-000ebf20: 6173 7320 6f66 2061 2064 796e 616d 6963 ass of a dynamic\n-000ebf30: 2061 7272 6179 206d 6179 2068 6176 6520 array may have \n-000ebf40: 616e 206f 7074 696f 6e61 6c20 7375 6666 an optional suff\n-000ebf50: 6978 2070 6172 7420 7468 6174 2073 7065 ix part that spe\n-000ebf60: 6369 6669 6573 2074 6865 206e 616d 6520 cifies the name \n-000ebf70: 6f66 2074 6865 2065 6c65 6d65 6e74 2074 of the element t\n-000ebf80: 6167 2069 6e20 584d 4c2e 2054 6861 7420 ag in XML. That \n-000ebf90: 6973 2c20 7468 6520 7375 6666 6978 2069 is, the suffix i\n-000ebfa0: 7320 7061 7274 206f 6620 7468 6520 3c63 s part of the __wra\n+000ebc50: 7070 6572 3c2f 636f 6465 3e20 616e 6420 pper
and \n+000ebc60: 6d65 6d62 6572 203c 636f 6465 3e5f 5f61 member __a\n+000ebc70: 7272 6179 3c2f 636f 6465 3e2c 2077 6869 rray
, whi\n+000ebc80: 6368 2073 7461 7274 2077 6974 6820 6120 ch start with a \n+000ebc90: 646f 7562 6c65 2075 6e64 6572 7363 6f72 double underscor\n+000ebca0: 652e 2054 6865 7365 206e 616d 6573 2061 e. These names a\n+000ebcb0: 7265 206e 6576 6572 2076 6973 6962 6c65 re never visible\n+000ebcc0: 2069 6e20 7365 7269 616c 697a 6564 2058 in serialized X\n+000ebcd0: 4d4c 2e20 5468 6520 3c63 6f64 653e 5f5f ML. The __\n+000ebce0: 7479 7065 3c2f 636f 6465 3e20 6d65 6d62 type
memb\n+000ebcf0: 6572 206f 6620 3c63 6f64 653e 5f5f 7772 er of __wr\n+000ebd00: 6170 7065 723c 2f63 6f64 653e 2069 7320 apper
is \n+000ebd10: 6120 3c63 6f64 653e 534f 4150 5f54 5950 a SOAP_TYP\n+000ebd20: 455f 543c 2f63 6f64 653e 2076 616c 7565 E_T
value\n+000ebd30: 2074 6861 7420 6964 656e 7469 6669 6573 that identifies\n+000ebd40: 2074 6865 2074 7970 6520 3c63 6f64 653e the type \n+000ebd50: 543c 2f63 6f64 653e 2074 6861 7420 3c63 T
that \n+000ebe30: 613e 0a48 6f77 2074 6f20 6368 616e 6765 a>.How to change\n+000ebe40: 2074 6865 2074 6167 206e 616d 6573 206f the tag names o\n+000ebe50: 6620 6172 7261 7920 6974 656d 2065 6c65 f array item ele\n+000ebe60: 6d65 6e74 733c 2f68 333e 0a3c 703e 5468 ments
.i\n+000ebeb0: 7465 6d3c 2f63 6f64 653e 3c2f 656d 3e2c tem
,\n+000ebec0: 2077 6869 6368 2063 616e 2062 6520 6368 which can be ch\n+000ebed0: 616e 6765 642e 2054 6865 203c 636f 6465 anged. The __ptr
me\n+000ebef0: 6d62 6572 2069 6e20 6120 7374 7275 6374 mber in a struct\n+000ebf00: 206f 7220 636c 6173 7320 6f66 2061 2064 or class of a d\n+000ebf10: 796e 616d 6963 2061 7272 6179 206d 6179 ynamic array may\n+000ebf20: 2068 6176 6520 616e 206f 7074 696f 6e61 have an optiona\n+000ebf30: 6c20 7375 6666 6978 2070 6172 7420 7468 l suffix part th\n+000ebf40: 6174 2073 7065 6369 6669 6573 2074 6865 at specifies the\n+000ebf50: 206e 616d 6520 6f66 2074 6865 2065 6c65 name of the ele\n+000ebf60: 6d65 6e74 2074 6167 2069 6e20 584d 4c2e ment tag in XML.\n+000ebf70: 2054 6861 7420 6973 2c20 7468 6520 7375 That is, the su\n+000ebf80: 6666 6978 2069 7320 7061 7274 206f 6620 ffix is part of \n+000ebf90: 7468 6520 3c63 6f64 653e 5f5f 7074 723c the __ptr<\n+000ebfa0: 2f63 6f64 653e 206d 656d 6265 7220 6e61 /code> member na\n+000ebfb0: 6d65 3a3c 2f70 3e0a 3c64 6976 2063 6c61 me:
World\n-000ec3a0: 266c 743b 2f3c 7370 616e 2063 6c61 7373 </s\n-000ec3c0: 7472 696e 673c 2f73 7061 6e3e 2667 743b tring>\n-000ec3d0: 203c 2f64 6976 3e0a 3c64 6976 2063 6c61 .base64\n-000ec570: 4269 6e61 7279 2073 6572 6961 6c69 7a61 Binary serializa\n-000ec580: 7469 6f6e 3c2f 6832 3e0a 3c70 3e54 6865 tion
.base6\n-000ec5a0: 3442 696e 6172 793c 2f63 6f64 653e 3c2f 4Binary
\n-000ec5b0: 656d 3e20 5853 4420 7479 7065 2069 7320 em> XSD type is \n-000ec5c0: 696e 7472 6f64 7563 6564 2069 6e20 616e introduced in an\n-000ec5d0: 2069 6e74 6572 6661 6365 2068 6561 6465 interface heade\n-000ec5e0: 7220 6669 6c65 2066 6f72 2073 6f61 7063 r file for soapc\n-000ec5f0: 7070 3220 7573 696e 6720 6120 7374 7275 pp2 using a stru\n-000ec600: 6374 206f 7220 636c 6173 7320 7468 6174 ct or class that\n-000ec610: 2063 6f6e 7461 696e 7320 616e 2061 7272 contains an arr\n-000ec620: 6179 206f 6620 3c63 6f64 653e 756e 7369 ay of unsi\n-000ec630: 676e 6564 2063 6861 723c 2f63 6f64 653e gned char
\n-000ec640: 2076 616c 7565 733a 3c2f 703e 0a3c 6469 values:string\n+000ec310: 7370 616e 3e26 6774 3b20 3c2f 6469 763e span>> .\n+000ec550: 6261 7365 3634 4269 6e61 7279 2073 6572 base64Binary ser\n+000ec560: 6961 6c69 7a61 7469 6f6e 3c2f 6832 3e0a ialization
.\n+000ec570: 3c70 3e54 6865 203c 656d 3e3c 636f 6465 base64Binary
XSD ty\n+000ec5a0: 7065 2069 7320 696e 7472 6f64 7563 6564 pe is introduced\n+000ec5b0: 2069 6e20 616e 2069 6e74 6572 6661 6365 in an interface\n+000ec5c0: 2068 6561 6465 7220 6669 6c65 2066 6f72 header file for\n+000ec5d0: 2073 6f61 7063 7070 3220 7573 696e 6720 soapcpp2 using \n+000ec5e0: 6120 7374 7275 6374 206f 7220 636c 6173 a struct or clas\n+000ec5f0: 7320 7468 6174 2063 6f6e 7461 696e 7320 s that contains \n+000ec600: 616e 2061 7272 6179 206f 6620 3c63 6f64 an array of char *__ptr; .restrict\n-000ecd60: 696f 6e3c 2f73 7061 6e3e 2667 743b 3c2f ion>\n-000ecd70: 6469 763e 0a3c 6469 7620 636c 6173 733d div>..\n-000ece40: 6865 7842 696e 6172 7920 7365 7269 616c hexBinary serial\n-000ece50: 697a 6174 696f 6e3c 2f68 323e 0a3c 703e ization
.ba\n-000ece70: 7365 3634 4269 6e61 7279 3c2f 636f 6465 se64Binary
XSD type \n-000ece90: 6973 2069 6e74 726f 6475 6365 6420 696e is introduced in\n-000ecea0: 2061 6e20 696e 7465 7266 6163 6520 6865 an interface he\n-000eceb0: 6164 6572 2066 696c 6520 666f 7220 736f ader file for so\n-000ecec0: 6170 6370 7032 2075 7369 6e67 2061 2073 apcpp2 using a s\n-000eced0: 7472 7563 7420 6f72 2063 6c61 7373 2074 truct or class t\n-000ecee0: 6861 7420 636f 6e74 6169 6e73 2061 6e20 hat contains an \n-000ecef0: 6172 7261 7920 6f66 203c 636f 6465 3e75 array of u\n-000ecf00: 6e73 6967 6e65 6420 6368 6172 3c2f 636f nsigned char values:
<\n-000ed260: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-000ed270: 663d 2273 7472 7563 7478 7364 5f5f 5f5f f=\"structxsd____\n-000ed280: 6261 7365 3634 5f62 696e 6172 792e 6874 base64_binary.ht\n-000ed290: 6d6c 2220 7469 746c 653d 2258 5344 2062 ml\" title=\"XSD b\n-000ed2a0: 6173 6536 3442 696e 6172 7920 7374 7275 ase64Binary stru\n-000ed2b0: 6374 7572 6520 7769 7468 2061 7474 6163 cture with attac\n-000ed2c0: 686d 656e 7420 6461 7461 2e22 3e78 7364 hment data.\">xsd\n-000ed2d0: 5f5f 6261 7365 3634 4269 6e61 7279 3c2f __base64Binary\n-000ed2e0: 613e 3c2f 636f 6465 3e20 6973 2061 6c72 a>
is alr\n-000ed2f0: 6561 6479 2064 6566 696e 6564 2c20 7468 eady defined, th\n-000ed300: 656e 2077 6520 6361 6e20 7369 6d70 6c79 en we can simply\n-000ed310: 2075 7365 2061 203c 636f 6465 3e74 7970 use a typ\n-000ed320: 6564 6566 3c2f 636f 6465 3e20 746f 2069 edef
to i\n-000ed330: 6e74 726f 6475 6365 2074 6865 2068 6578 ntroduce the hex\n-000ed340: 2076 6172 6961 6e74 3a3c 2f70 3e0a 3c64 variant:x\n-000ed710: 7364 3a62 6173 6536 3442 696e 6172 793c sd:base64Binary<\n-000ed720: 2f63 6f64 653e 3c2f 656d 3e20 616e 6420 /code>
and \n-000ed730: 3c65 6d3e 3c63 6f64 653e 7873 643a 6865 xsd:he\n-000ed740: 7842 696e 6172 793c 2f63 6f64 653e 3c2f xBinary
\n-000ed750: 656d 3e20 7365 7269 616c 697a 6572 732e em> serializers.\n-000ed760: 3c2f 703e 0a3c 703e f09f 949d 203c 6120 <\n-000ed7a0: 6120 636c 6173 733d 2261 6e63 686f 7222 a class=\"anchor\"\n-000ed7b0: 2069 643d 226c 6974 6572 616c 223e 3c2f id=\"literal\">\n-000ed7c0: 613e 0a53 4f41 5020 5250 4320 656e 636f a>.SOAP RPC enco\n-000ed7d0: 6465 6420 7665 7273 7573 2064 6f63 756d ded versus docum\n-000ed7e0: 656e 742f 6c69 7465 7261 6c20 7374 796c ent/literal styl\n-000ed7f0: 653c 2f68 323e 0a3c 703e 534f 4150 2068 e
..
xsd\n-000ed930: 3a73 6571 7565 6e63 6520 6d61 784f 6363 :sequence maxOcc\n-000ed940: 7572 733d 2275 6e62 6f75 6e64 6564 223c urs=\"unbounded\"<\n-000ed950: 2f63 6f64 653e 3c2f 656d 3e20 6973 206e /code>
is n\n-000ed960: 6f74 2061 6c6c 6f77 6564 292c 2061 6e64 ot allowed), and\n-000ed970: 203c 656d 3e3c 636f 6465 3e78 7364 3a63 xsd:c\n-000ed980: 686f 6963 653c 2f63 6f64 653e 3c2f 656d hoice
components are\n-000ed9a0: 206e 6f74 2061 6c6c 6f77 6564 2e20 4d75 not allowed. Mu\n-000ed9b0: 6c74 692d 7265 6665 7265 6e63 6564 2065 lti-referenced e\n-000ed9c0: 6c65 6d65 6e74 7320 6172 6520 7573 6564 lements are used\n-000ed9d0: 2074 6f20 7365 7269 616c 697a 6520 6461 to serialize da\n-000ed9e0: 7461 2073 7472 7563 7475 7265 2067 7261 ta structure gra\n-000ed9f0: 7068 732e 2042 6563 6175 7365 2061 6464 phs. Because add\n-000eda00: 6974 696f 6e61 6c20 534f 4150 2d65 6e63 itional SOAP-enc\n-000eda10: 6f64 696e 6720 7370 6563 6966 6963 2061 oding specific a\n-000eda20: 7474 7269 6275 7465 7320 6172 6520 7072 ttributes are pr\n-000eda30: 6573 656e 7420 7468 6174 2061 7265 206e esent that are n\n-000eda40: 6f74 2064 6566 696e 6564 2069 6e20 7468 ot defined in th\n-000eda50: 6520 584d 4c20 7363 6865 6d61 2028 6f66 e XML schema (of\n-000eda60: 2074 6865 2057 5344 4c29 2c20 7374 7269 the WSDL), stri\n-000eda70: 6374 2058 4d4c 2073 6368 656d 6120 7661 ct XML schema va\n-000eda80: 6c69 6461 746f 7273 206d 6179 2072 656a lidators may rej\n-000eda90: 6563 7420 534f 4150 2d65 6e63 6f64 6564 ect SOAP-encoded\n-000edaa0: 2063 6f6e 7465 6e74 2e20 5468 6520 534f content. The SO\n-000edab0: 4150 2042 6f64 7920 636f 6e74 6169 6e73 AP Body contains\n-000edac0: 2061 7420 6d6f 7374 206f 6e65 2073 6572 at most one ser\n-000edad0: 7669 6365 206f 7065 7261 7469 6f6e 2072 vice operation r\n-000edae0: 6571 7565 7374 2065 6c65 6d65 6e74 206f equest element o\n-000edaf0: 7220 6174 206d 6f73 7420 6f6e 6520 7365 r at most one se\n-000edb00: 7276 6963 6520 6f70 6572 6174 696f 6e20 rvice operation \n-000edb10: 7265 7370 6f6e 7365 2065 6c65 6d65 6e74 response element\n-000edb20: 2061 6e64 2074 6865 2065 6e63 6f64 696e and the encodin\n-000edb30: 6720 7374 796c 6520 6973 2069 6e64 6963 g style is indic\n-000edb40: 6174 6564 2077 6974 6820 7468 6520 3c65 ated with the SOAP-ENV\n-000edb60: 3a65 6e63 6f64 696e 6753 7479 6c65 3d22 :encodingStyle=\"\n-000edb70: 2e2e 2e22 3c2f 636f 6465 3e3c 2f65 6d3e ...\"
\n-000edb80: 2061 7474 7269 6275 7465 2069 6e20 7468 attribute in th\n-000edb90: 6520 534f 4150 2042 6f64 7920 6f72 206f e SOAP Body or o\n-000edba0: 6e65 206f 7220 6d6f 7265 206f 6620 6974 ne or more of it\n-000edbb0: 7320 7375 622d 656c 656d 656e 7473 2e20 s sub-elements. \n-000edbc0: 5468 6973 2073 7479 6c65 2069 7320 7370 This style is sp\n-000edbd0: 6563 6966 6965 6420 666f 7220 7468 6520 ecified for the \n-000edbe0: 656e 7469 7265 2073 6572 7669 6365 2064 entire service d\n-000edbf0: 6563 6c61 7265 6420 756e 6465 7220 6e61 eclared under na\n-000edc00: 6d65 7370 6163 6520 7072 6566 6978 203c mespace prefix <\n-000edc10: 636f 6465 3e6e 733c 2f63 6f64 653e 2077 code>ns w\n-000edc20: 6974 683a 203c 6469 7620 636c 6173 733d ith: SOAP-ENV:\n-000ee210: 656e 636f 6469 6e67 5374 796c 653d 222e encodingStyle=\".\n-000ee220: 2e2e 223c 2f63 6f64 653e 3c2f 656d 3e20 ..\"
\n-000ee230: 6174 7472 6962 7574 6520 7368 6f75 6c64 attribute should\n-000ee240: 2061 7070 6561 7220 696e 206c 6974 6572 appear in liter\n-000ee250: 616c 2063 6f6e 7465 6e74 2e20 5468 6973 al content. This\n-000ee260: 2073 7479 6c65 2069 7320 7370 6563 6966 style is specif\n-000ee270: 6965 6420 666f 7220 7468 6520 656e 7469 ied for the enti\n-000ee280: 7265 2073 6572 7669 6365 2064 6563 6c61 re service decla\n-000ee290: 7265 6420 756e 6465 7220 6e61 6d65 7370 red under namesp\n-000ee2a0: 6163 6520 7072 6566 6978 203c 636f 6465 ace prefix ns
with:\n-000ee2c0: 203c 6469 7620 636c 6173 733d 2266 7261 //gso\n-000ee3c0: 6170 206e 7320 7365 7276 6963 6520 7374 ap ns service st\n-000ee3d0: 796c 653c 2f63 6f64 653e 2061 6e64 203c yle
and <\n-000ee3e0: 636f 6465 3e2f 2f67 736f 6170 206e 7320 code>//gsoap ns \n-000ee3f0: 7365 7276 6963 6520 656e 636f 6469 6e67 service encoding\n-000ee400: 3c2f 636f 6465 3e20 7468 6572 6520 6172 there ar\n-000ee410: 6520 616c 736f 2074 6865 2073 6572 7669 e also the servi\n-000ee420: 6365 206f 7065 7261 7469 6f6e 2073 7065 ce operation spe\n-000ee430: 6369 6669 6320 7665 7273 696f 6e73 203c cific versions <\n-000ee440: 636f 6465 3e2f 2f67 736f 6170 206e 7320 code>//gsoap ns \n-000ee450: 7365 7276 6963 6520 6d65 7468 6f64 2d73 service method-s\n-000ee460: 7479 6c65 3c2f 636f 6465 3e2c 203c 636f tyle, //gsoa\n-000ee4b0: 7020 6e73 2073 6572 7669 6365 206d 6574 p ns service met\n-000ee4c0: 686f 642d 656e 636f 6469 6e67 3c2f 636f hod-encoding
/\n-000ee4e0: 2f67 736f 6170 206e 7320 7365 7276 6963 /gsoap ns servic\n-000ee4f0: 6520 6d65 7468 6f64 2d72 6573 706f 6e73 e method-respons\n-000ee500: 652d 656e 636f 6469 6e67 3c2f 636f 6465 e-encoding
that explicitl\n-000ee520: 7920 7370 6563 6966 7920 534f 4150 2052 y specify SOAP R\n-000ee530: 5043 2065 6e63 6f64 6564 2c20 646f 6375 PC encoded, docu\n-000ee540: 6d65 6e74 2f6c 6974 6572 616c 2c20 6f72 ment/literal, or\n-000ee550: 2052 5043 206c 6974 6572 616c 2073 7479 RPC literal sty\n-000ee560: 6c65 206d 6573 7361 6765 7320 666f 7220 le messages for \n-000ee570: 7468 6520 696e 6469 6361 7465 6420 7365 the indicated se\n-000ee580: 7276 6963 6520 6f70 6572 6174 696f 6e20 rvice operation \n-000ee590: 6d65 7468 6f64 732e 3c2f 703e 0a3c 703e methods.typedef std::wstring \n-000eefe0: 584d 4c3b 3c2f 6469 763e 0a3c 2f64 6976 XML;.
..XML v\n-000ef260: 616c 6964 6174 696f 6e3c 2f68 313e 0a3c alidation
.<\n-000ef270: 703e 536f 6d65 2058 4d4c 2076 616c 6964 p>Some XML valid\n-000ef280: 6174 696f 6e20 636f 6e73 7472 6169 6e74 ation constraint\n-000ef290: 7320 6172 6520 6e6f 7420 6175 746f 6d61 s are not automa\n-000ef2a0: 7469 6361 6c6c 7920 7665 7269 6669 6564 tically verified\n-000ef2b0: 2075 6e6c 6573 7320 6578 706c 6963 6974 unless explicit\n-000ef2c0: 6c79 2073 6574 2075 7369 6e67 2074 6865 ly set using the\n-000ef2d0: 203c 636f 6465 3e23 534f 4150 5f58 4d4c #SOAP_XML\n-000ef2e0: 5f53 5452 4943 543c 2f63 6f64 653e 2066 _STRICT
f\n-000ef2f0: 6c61 672e 2053 4f41 5020 5250 4320 656e lag. SOAP RPC en\n-000ef300: 636f 6469 6e67 2069 7320 616e 2058 4d4c coding is an XML\n-000ef310: 2066 6f72 6d61 7420 7468 6174 2064 6f65 format that doe\n-000ef320: 7320 6e6f 7420 6166 666f 7264 2073 7472 s not afford str\n-000ef330: 6963 7420 584d 4c20 7661 6c69 6461 7469 ict XML validati\n-000ef340: 6f6e 2c20 6265 6361 7573 6520 6f66 2074 on, because of t\n-000ef350: 6865 2061 6464 6974 696f 6e20 6f66 2053 he addition of S\n-000ef360: 4f41 502d 7370 6563 6966 6963 2061 7474 OAP-specific att\n-000ef370: 7269 6275 7465 7320 616e 6420 6f74 6865 ributes and othe\n-000ef380: 7220 736d 616c 6c20 6465 7669 6174 696f r small deviatio\n-000ef390: 6e73 2074 6861 7420 7769 6c6c 2062 6520 ns that will be \n-000ef3a0: 6465 7465 6374 6564 2062 7920 616e 2061 detected by an a\n-000ef3b0: 6767 7265 7373 6976 6520 584d 4c20 7661 ggressive XML va\n-000ef3c0: 6c69 6461 746f 722c 206c 6561 6469 6e67 lidator, leading\n-000ef3d0: 2074 6865 206d 6573 7361 6769 6e67 2066 the messaging f\n-000ef3e0: 6169 6c75 7265 732e 2042 7920 746f 6e69 ailures. By toni\n-000ef3f0: 6e67 2058 4d4c 2076 616c 6964 6174 696f ng XML validatio\n-000ef400: 6e20 646f 776e 2c20 6974 2068 656c 7073 n down, it helps\n-000ef410: 2074 6f20 696d 7072 6f76 6520 534f 4150 to improve SOAP\n-000ef420: 2052 5043 2065 6e63 6f64 696e 6720 696e RPC encoding in\n-000ef430: 7465 726f 7065 7261 6269 6c69 7479 2e3c teroperability.<\n-000ef440: 2f70 3e0a 3c70 3e53 7472 6963 7420 7661 /p>.\n-000ef480: 2353 4f41 505f 584d 4c5f 5354 5249 4354 #SOAP_XML_STRICT\n-000ef490: 3c2f 636f 6465 3e20 6d6f 6465 2066 6c61
mode fla\n-000ef4a0: 6720 7365 742c 2065 2e67 2e20 7769 7468 g set, e.g. with\n-000ef4b0: 203c 636f 6465 3e73 6f61 705f 7365 745f soap_set_\n-000ef4c0: 696d 6f64 6528 736f 6170 2c20 534f 4150 imode(soap, SOAP\n-000ef4d0: 5f58 4d4c 5f53 5452 4943 5429 3c2f 636f _XML_STRICT) or
soa\n-000ef4f0: 705f 6e65 7728 534f 4150 5f58 4d4c 5f53 p_new(SOAP_XML_S\n-000ef500: 5452 4943 5429 3c2f 636f 6465 3e2c 2073 TRICT)
, s\n-000ef510: 6565 2053 6563 7469 6f6e 203c 6120 636c ee Section Run-time flags<\n-000ef550: 2f61 3e20 666f 7220 7468 6520 636f 6d70 /a> for the comp\n-000ef560: 6c65 7465 206c 6973 7420 6f66 2066 6c61 lete list of fla\n-000ef570: 6773 2e3c 2f70 3e0a 3c70 3e54 6865 206e gs.#WIT\n-000ef650: 485f 5245 504c 4143 455f 494c 4c45 4741 H_REPLACE_ILLEGA\n-000ef660: 4c5f 5554 4638 3c2f 636f 6465 3e20 746f L_UTF8
to\n-000ef670: 2066 6f72 6365 2073 7472 6963 7420 5554 force strict UT\n-000ef680: 462d 3820 7465 7874 2063 6f6e 7665 7273 F-8 text convers\n-000ef690: 696f 6e73 2c20 7768 6963 6820 7265 706c ions, which repl\n-000ef6a0: 6163 6573 2069 6e76 616c 6964 2055 5446 aces invalid UTF\n-000ef6b0: 2d38 2077 6974 6820 552b 4646 4644 2e3c -8 with U+FFFD.<\n-000ef6c0: 2f70 3e0a 3c70 3e53 6565 2061 6c73 6f20 /p>.<\n-000ef7a0: 2f61 3e0a 4465 6661 756c 7420 7661 6c75 /a>.Default valu\n-000ef7b0: 6573 3c2f 6832 3e0a 3c70 3e44 6566 6175 es
.\n+000ece00: 3c61 2063 6c61 7373 3d22 616e 6368 6f72 .hexBinary \n+000ece30: 7365 7269 616c 697a 6174 696f 6e3c 2f68 serialization.
\n+000ed720: 7873 643a 6865 7842 696e 6172 793c 2f63 xsd:hexBinary
serial\n+000ed740: 697a 6572 732e 3c2f 703e 0a3c 703e f09f izers..SOAP RP\n+000ed7b0: 4320 656e 636f 6465 6420 7665 7273 7573 C encoded versus\n+000ed7c0: 2064 6f63 756d 656e 742f 6c69 7465 7261 document/litera\n+000ed7d0: 6c20 7374 796c 653c 2f68 323e 0a3c 703e l style
..
.\n+000ef1e0: 3c70 3ef0 9f94 9d20 3c61 2068 7265 663d xsd:choice
componen\n+000ed980: 7473 2061 7265 206e 6f74 2061 6c6c 6f77 ts are not allow\n+000ed990: 6564 2e20 4d75 6c74 692d 7265 6665 7265 ed. Multi-refere\n+000ed9a0: 6e63 6564 2065 6c65 6d65 6e74 7320 6172 nced elements ar\n+000ed9b0: 6520 7573 6564 2074 6f20 7365 7269 616c e used to serial\n+000ed9c0: 697a 6520 6461 7461 2073 7472 7563 7475 ize data structu\n+000ed9d0: 7265 2067 7261 7068 732e 2042 6563 6175 re graphs. Becau\n+000ed9e0: 7365 2061 6464 6974 696f 6e61 6c20 534f se additional SO\n+000ed9f0: 4150 2d65 6e63 6f64 696e 6720 7370 6563 AP-encoding spec\n+000eda00: 6966 6963 2061 7474 7269 6275 7465 7320 ific attributes \n+000eda10: 6172 6520 7072 6573 656e 7420 7468 6174 are present that\n+000eda20: 2061 7265 206e 6f74 2064 6566 696e 6564 are not defined\n+000eda30: 2069 6e20 7468 6520 584d 4c20 7363 6865 in the XML sche\n+000eda40: 6d61 2028 6f66 2074 6865 2057 5344 4c29 ma (of the WSDL)\n+000eda50: 2c20 7374 7269 6374 2058 4d4c 2073 6368 , strict XML sch\n+000eda60: 656d 6120 7661 6c69 6461 746f 7273 206d ema validators m\n+000eda70: 6179 2072 656a 6563 7420 534f 4150 2d65 ay reject SOAP-e\n+000eda80: 6e63 6f64 6564 2063 6f6e 7465 6e74 2e20 ncoded content. \n+000eda90: 5468 6520 534f 4150 2042 6f64 7920 636f The SOAP Body co\n+000edaa0: 6e74 6169 6e73 2061 7420 6d6f 7374 206f ntains at most o\n+000edab0: 6e65 2073 6572 7669 6365 206f 7065 7261 ne service opera\n+000edac0: 7469 6f6e 2072 6571 7565 7374 2065 6c65 tion request ele\n+000edad0: 6d65 6e74 206f 7220 6174 206d 6f73 7420 ment or at most \n+000edae0: 6f6e 6520 7365 7276 6963 6520 6f70 6572 one service oper\n+000edaf0: 6174 696f 6e20 7265 7370 6f6e 7365 2065 ation response e\n+000edb00: 6c65 6d65 6e74 2061 6e64 2074 6865 2065 lement and the e\n+000edb10: 6e63 6f64 696e 6720 7374 796c 6520 6973 ncoding style is\n+000edb20: 2069 6e64 6963 6174 6564 2077 6974 6820 indicated with \n+000edb30: 7468 6520 3c65 6d3e 3c63 6f64 653e 534f the SO\n+000edb40: 4150 2d45 4e56 3a65 6e63 6f64 696e 6753 AP-ENV:encodingS\n+000edb50: 7479 6c65 3d22 2e2e 2e22 3c2f 636f 6465 tyle=\"...\"
attribute\n+000edb70: 2069 6e20 7468 6520 534f 4150 2042 6f64 in the SOAP Bod\n+000edb80: 7920 6f72 206f 6e65 206f 7220 6d6f 7265 y or one or more\n+000edb90: 206f 6620 6974 7320 7375 622d 656c 656d of its sub-elem\n+000edba0: 656e 7473 2e20 5468 6973 2073 7479 6c65 ents. This style\n+000edbb0: 2069 7320 7370 6563 6966 6965 6420 666f is specified fo\n+000edbc0: 7220 7468 6520 656e 7469 7265 2073 6572 r the entire ser\n+000edbd0: 7669 6365 2064 6563 6c61 7265 6420 756e vice declared un\n+000edbe0: 6465 7220 6e61 6d65 7370 6163 6520 7072 der namespace pr\n+000edbf0: 6566 6978 203c 636f 6465 3e6e 733c 2f63 efix ns with:
SOAP-E\n+000edf40: 4e56 3a65 6e63 6f64 696e 6753 7479 6c65 NV:encodingStyle\n+000edf50: 3d22 2e2e 2e22 3c2f 636f 6465 3e3c 2f65 =\"...\"
attribute sho\n+000edf70: 756c 6420 6170 7065 6172 2069 6e20 6c69 uld appear in li\n+000edf80: 7465 7261 6c20 636f 6e74 656e 742e 2054 teral content. T\n+000edf90: 6869 7320 7374 796c 6520 6973 2073 7065 his style is spe\n+000edfa0: 6369 6669 6564 2066 6f72 2074 6865 2065 cified for the e\n+000edfb0: 6e74 6972 6520 7365 7276 6963 6520 6465 ntire service de\n+000edfc0: 636c 6172 6564 2075 6e64 6572 206e 616d clared under nam\n+000edfd0: 6573 7061 6365 2070 7265 6669 7820 3c63 espace prefix SOA\n+000ee1f0: 502d 454e 563a 656e 636f 6469 6e67 5374 P-ENV:encodingSt\n+000ee200: 796c 653d 222e 2e2e 223c 2f63 6f64 653e yle=\"...\"
\n+000ee210: 3c2f 656d 3e20 6174 7472 6962 7574 6520 attribute \n+000ee220: 7368 6f75 6c64 2061 7070 6561 7220 696e should appear in\n+000ee230: 206c 6974 6572 616c 2063 6f6e 7465 6e74 literal content\n+000ee240: 2e20 5468 6973 2073 7479 6c65 2069 7320 . This style is \n+000ee250: 7370 6563 6966 6965 6420 666f 7220 7468 specified for th\n+000ee260: 6520 656e 7469 7265 2073 6572 7669 6365 e entire service\n+000ee270: 2064 6563 6c61 7265 6420 756e 6465 7220 declared under \n+000ee280: 6e61 6d65 7370 6163 6520 7072 6566 6978 namespace prefix\n+000ee290: 203c 636f 6465 3e6e 733c 2f63 6f64 653e ns
\n+000ee2a0: 2077 6974 683a 203c 6469 7620 636c 6173 with: //gsoap ns serv\n+000ee3b0: 6963 6520 7374 796c 653c 2f63 6f64 653e ice style
\n+000ee3c0: 2061 6e64 203c 636f 6465 3e2f 2f67 736f and //gso\n+000ee3d0: 6170 206e 7320 7365 7276 6963 6520 656e ap ns service en\n+000ee3e0: 636f 6469 6e67 3c2f 636f 6465 3e20 7468 coding
th\n+000ee3f0: 6572 6520 6172 6520 616c 736f 2074 6865 ere are also the\n+000ee400: 2073 6572 7669 6365 206f 7065 7261 7469 service operati\n+000ee410: 6f6e 2073 7065 6369 6669 6320 7665 7273 on specific vers\n+000ee420: 696f 6e73 203c 636f 6465 3e2f 2f67 736f ions //gso\n+000ee430: 6170 206e 7320 7365 7276 6963 6520 6d65 ap ns service me\n+000ee440: 7468 6f64 2d73 7479 6c65 3c2f 636f 6465 thod-style
, //gsoap\n+000ee460: 206e 7320 7365 7276 6963 6520 6d65 7468 ns service meth\n+000ee470: 6f64 2d72 6573 706f 6e73 652d 7374 796c od-response-styl\n+000ee480: 653c 2f63 6f64 653e 2c20 3c63 6f64 653e e
, \n+000ee490: 2f2f 6773 6f61 7020 6e73 2073 6572 7669 //gsoap ns servi\n+000ee4a0: 6365 206d 6574 686f 642d 656e 636f 6469 ce method-encodi\n+000ee4b0: 6e67 3c2f 636f 6465 3e2c 2061 6e64 203c ng
, and <\n+000ee4c0: 636f 6465 3e2f 2f67 736f 6170 206e 7320 code>//gsoap ns \n+000ee4d0: 7365 7276 6963 6520 6d65 7468 6f64 2d72 service method-r\n+000ee4e0: 6573 706f 6e73 652d 656e 636f 6469 6e67 esponse-encoding\n+000ee4f0: 3c2f 636f 6465 3e20 7468 6174 2065 7870 that exp\n+000ee500: 6c69 6369 746c 7920 7370 6563 6966 7920 licitly specify \n+000ee510: 534f 4150 2052 5043 2065 6e63 6f64 6564 SOAP RPC encoded\n+000ee520: 2c20 646f 6375 6d65 6e74 2f6c 6974 6572 , document/liter\n+000ee530: 616c 2c20 6f72 2052 5043 206c 6974 6572 al, or RPC liter\n+000ee540: 616c 2073 7479 6c65 206d 6573 7361 6765 al style message\n+000ee550: 7320 666f 7220 7468 6520 696e 6469 6361 s for the indica\n+000ee560: 7465 6420 7365 7276 6963 6520 6f70 6572 ted service oper\n+000ee570: 6174 696f 6e20 6d65 7468 6f64 732e 3c2f ation methods.\n+000ee580: 703e 0a3c 703e 546f 2065 6e61 626c 6520 p>.//gsoap ns s\n+000ee830: 6572 7669 6365 206d 6574 686f 642d 7265 ervice method-re\n+000ee840: 7370 6f6e 7365 2d65 6e63 6f64 696e 673a sponse-encoding:\n+000ee850: 2077 6562 6d65 7468 6f64 2065 6e63 6f64 webmethod encod\n+000ee860: 6564 203c 2f73 7061 6e3e 3c2f 6469 763e ed soapcpp2 \n+000ee960: 2d65 3c2f 636f 6465 3e3c 2f62 3e20 6f70 -e
op\n+000ee970: 7469 6f6e 203c 623e 3c63 6f64 653e 2d65 tion -e\n+000ee980: 3c2f 636f 6465 3e3c 2f62 3e20 6973 2075
is u\n+000ee990: 7365 6420 746f 2073 6574 2053 4f41 5020 sed to set SOAP \n+000ee9a0: 5250 4320 656e 636f 6469 6e67 2062 7920 RPC encoding by \n+000ee9b0: 6465 6661 756c 742e 3c2f 703e 0a3c 703e default.st\n+000ee9d0: 796c 653c 2f63 6f64 653e 2064 6972 6563 yle
direc\n+000ee9e0: 7469 7665 7320 796f 7520 6361 6e20 7370 tives you can sp\n+000ee9f0: 6563 6966 7920 3c63 6f64 653e 7270 633c ecify rpc<\n+000eea00: 2f63 6f64 653e 206f 7220 3c63 6f64 653e /code> or
\n+000eea10: 646f 6375 6d65 6e74 3c2f 636f 6465 3e2e document
.\n+000eea20: 2046 6f72 2074 6865 203c 636f 6465 3e65 For the e\n+000eea30: 6e63 6f64 696e 673c 2f63 6f64 653e 2064 ncoding
d\n+000eea40: 6972 6563 7469 7665 7320 796f 7520 6361 irectives you ca\n+000eea50: 6e20 7370 6563 6966 7920 3c63 6f64 653e n specify \n+000eea60: 6c69 7465 7261 6c3c 2f63 6f64 653e 2c20 literal
, \n+000eea70: 3c63 6f64 653e 656e 636f 6465 643c 2f63 encoded, or even a \n+000eea90: 6375 7374 6f6d 2055 5249 2074 6861 7420 custom URI that \n+000eeaa0: 696e 6469 6361 7465 7320 736f 6d65 2063 indicates some c\n+000eeab0: 7573 746f 6d20 6f72 2070 726f 7072 6965 ustom or proprie\n+000eeac0: 7461 7279 2065 6e63 6f64 696e 6720 666f tary encoding fo\n+000eead0: 726d 6174 2069 6e20 584d 4c20 7768 6963 rmat in XML whic\n+000eeae0: 6820 7769 6c6c 206e 6f74 2069 6e74 6572 h will not inter\n+000eeaf0: 6f70 6572 6174 6520 7769 7468 2053 4f41 operate with SOA\n+000eeb00: 5020 7072 6f63 6573 736f 7273 2074 6861 P processors tha\n+000eeb10: 7420 6172 6520 6e6f 7420 636f 6d70 6174 t are not compat\n+000eeb20: 6962 6c65 2077 6974 6820 7468 6520 7370 ible with the sp\n+000eeb30: 6563 6966 6965 6420 656e 636f 6469 6e67 ecified encoding\n+000eeb40: 2066 6f72 6d61 742e 2053 6565 2061 6c73 format. See als\n+000eeb50: 6f20 5365 6374 696f 6e20 3c61 2063 6c61 o Section Directives<\n+000eeb90: 2f61 3e2e 3c2f 703e 0a3c 703e 5365 6520 /a>.
.Se\n+000eecd0: 7269 616c 697a 696e 6720 6d69 7865 6420 rializing mixed \n+000eece0: 636f 6e74 656e 7420 7769 7468 206c 6974 content with lit\n+000eecf0: 6572 616c 2058 4d4c 2073 7472 696e 6773 eral XML strings\n+000eed00: 3c2f 6833 3e0a 3c70 3e58 4d4c 2069 7320
._XM\n+000eed50: 4c3c 2f63 6f64 653e 2074 7970 6520 7468 L
type th\n+000eed60: 6174 2069 7320 6120 7265 6775 6c61 7220 at is a regular \n+000eed70: 3c63 6f64 653e 6368 6172 2a3c 2f63 6f64 char* string or you\n+000eed90: 2063 616e 2064 6563 6c61 7265 2061 2077 can declare a w\n+000eeda0: 6964 6520 6368 6172 6163 7465 7220 7374 ide character st\n+000eedb0: 7269 6e67 2069 6e20 616e 2069 6e74 6572 ring in an inter\n+000eedc0: 6661 6365 2068 6561 6465 7220 6669 6c65 face header file\n+000eedd0: 2066 6f72 2073 6f61 7063 7070 3220 6173 for soapcpp2 as\n+000eede0: 2066 6f6c 6c6f 7773 3a3c 2f70 3e0a 3c64 follows:
std::string literal XML \n+000eeec0: 7479 7065 3a3c 2f70 3e0a 3c64 6976 2063 type:
\n+000ef240: 0a58 4d4c 2076 616c 6964 6174 696f 6e3c .XML validation<\n+000ef250: 2f68 313e 0a3c 703e 536f 6d65 2058 4d4c /h1>.
#SO\n+000ef2c0: 4150 5f58 4d4c 5f53 5452 4943 543c 2f63 AP_XML_STRICT flag. SOAP \n+000ef2e0: 5250 4320 656e 636f 6469 6e67 2069 7320 RPC encoding is \n+000ef2f0: 616e 2058 4d4c 2066 6f72 6d61 7420 7468 an XML format th\n+000ef300: 6174 2064 6f65 7320 6e6f 7420 6166 666f at does not affo\n+000ef310: 7264 2073 7472 6963 7420 584d 4c20 7661 rd strict XML va\n+000ef320: 6c69 6461 7469 6f6e 2c20 6265 6361 7573 lidation, becaus\n+000ef330: 6520 6f66 2074 6865 2061 6464 6974 696f e of the additio\n+000ef340: 6e20 6f66 2053 4f41 502d 7370 6563 6966 n of SOAP-specif\n+000ef350: 6963 2061 7474 7269 6275 7465 7320 616e ic attributes an\n+000ef360: 6420 6f74 6865 7220 736d 616c 6c20 6465 d other small de\n+000ef370: 7669 6174 696f 6e73 2074 6861 7420 7769 viations that wi\n+000ef380: 6c6c 2062 6520 6465 7465 6374 6564 2062 ll be detected b\n+000ef390: 7920 616e 2061 6767 7265 7373 6976 6520 y an aggressive \n+000ef3a0: 584d 4c20 7661 6c69 6461 746f 722c 206c XML validator, l\n+000ef3b0: 6561 6469 6e67 2074 6865 206d 6573 7361 eading the messa\n+000ef3c0: 6769 6e67 2066 6169 6c75 7265 732e 2042 ging failures. B\n+000ef3d0: 7920 746f 6e69 6e67 2058 4d4c 2076 616c y toning XML val\n+000ef3e0: 6964 6174 696f 6e20 646f 776e 2c20 6974 idation down, it\n+000ef3f0: 2068 656c 7073 2074 6f20 696d 7072 6f76 helps to improv\n+000ef400: 6520 534f 4150 2052 5043 2065 6e63 6f64 e SOAP RPC encod\n+000ef410: 696e 6720 696e 7465 726f 7065 7261 6269 ing interoperabi\n+000ef420: 6c69 7479 2e3c 2f70 3e0a 3c70 3e53 7472 lity.
#SOAP_XML_\n+000ef470: 5354 5249 4354 3c2f 636f 6465 3e20 6d6f STRICT
mo\n+000ef480: 6465 2066 6c61 6720 7365 742c 2065 2e67 de flag set, e.g\n+000ef490: 2e20 7769 7468 203c 636f 6465 3e73 6f61 . with soa\n+000ef4a0: 705f 7365 745f 696d 6f64 6528 736f 6170 p_set_imode(soap\n+000ef4b0: 2c20 534f 4150 5f58 4d4c 5f53 5452 4943 , SOAP_XML_STRIC\n+000ef4c0: 5429 3c2f 636f 6465 3e20 6f72 203c 636f T)
or #SOAP_X\n+000ef5b0: 4d4c 5f53 5452 4943 543c 2f63 6f64 653e ML_STRICT
\n+000ef5c0: 2069 7320 656e 6162 6c65 6420 616e 6420 is enabled and \n+000ef5d0: 7661 6c69 6461 7469 6f6e 2063 6f6e 7374 validation const\n+000ef5e0: 7261 696e 7473 2061 7265 2073 7065 6369 raints are speci\n+000ef5f0: 6669 6564 2069 6e20 7468 6520 696e 7465 fied in the inte\n+000ef600: 7266 6163 6520 6865 6164 6572 2066 696c rface header fil\n+000ef610: 652e 3c2f 703e 0a3c 703e 5573 6520 636f e.\n+000ef760: 3c61 2063 6c61 7373 3d22 616e 6368 6f72 .Defaul\n+000ef790: 7420 7661 6c75 6573 3c2f 6832 3e0a 3c70 t values
.soap_\n-000efd30: 6e65 775f 436c 6173 734e 616d 653c 2f63 new_ClassName the instanc\n-000efd50: 6520 7769 6c6c 2062 6520 696e 6974 6961 e will be initia\n-000efd60: 6c69 7a65 6420 7769 7468 2064 6566 6175 lized with defau\n-000efd70: 6c74 2076 616c 7565 732e 3c2f 703e 0a3c lt values.
.Occu\n-000efe60: 7272 656e 6365 2063 6f6e 7374 7261 696e rrence constrain\n-000efe70: 7473 3c2f 6832 3e0a 3c70 3e4f 6363 7572 ts
..El\n-000eff50: 656d 656e 7473 2077 6974 6820 6d69 6e4f ements with minO\n-000eff60: 6363 7572 7320 616e 6420 6d61 784f 6363 ccurs and maxOcc\n-000eff70: 7572 7320 7265 7374 7269 6374 696f 6e73 urs restrictions\n-000eff80: 3c2f 6833 3e0a 3c70 3e54 6f20 666f 7263
.xsi:nil=\"t\n-000f01f0: 7275 6522 3c2f 636f 6465 3e3c 2f65 6d3e rue\"
\n-000f0200: 2069 7320 6164 6465 6420 696e 2074 6865 is added in the\n-000f0210: 2073 6572 6961 6c69 7a65 6420 584d 4c2e serialized XML.\n-000f0220: 3c2f 703e 0a3c 703e 5468 6520 3c63 6f64 max\n-000f0250: 4f63 6375 7273 3c2f 636f 6465 3e20 6172 Occurs
ar\n-000f0260: 6520 6f70 7469 6f6e 616c 2076 616c 7565 e optional value\n-000f0270: 7320 7468 6174 206d 7573 7420 6265 2069 s that must be i\n-000f0280: 6e74 6567 6572 206c 6974 6572 616c 732e nteger literals.\n-000f0290: 2057 6865 6e20 3c63 6f64 653e 6d61 784f When maxO\n-000f02a0: 6363 7572 733c 2f63 6f64 653e 2069 7320 ccurs
is \n-000f02b0: 6e6f 7420 7370 6563 6966 6965 6420 7468 not specified th\n-000f02c0: 656e 2074 6865 2063 6f6c 6f6e 2063 616e en the colon can\n-000f02d0: 2062 6520 6f6d 6974 7465 642e 2057 6865 be omitted. Whe\n-000f02e0: 6e20 3c63 6f64 653e 6d69 6e4f 6363 7572 n minOccur\n-000f02f0: 733c 2f63 6f64 653e 2069 7320 6e6f 7420 s
is not \n-000f0300: 7370 6563 6966 6965 6420 6974 2069 7320 specified it is \n-000f0310: 6173 7375 6d65 6420 746f 2062 6520 6f6e assumed to be on\n-000f0320: 6520 2831 2920 666f 7220 6e6f 6e2d 706f e (1) for non-po\n-000f0330: 696e 7465 7220 6d65 6d62 6572 7320 7468 inter members th\n-000f0340: 6174 2061 7265 2065 6c65 6d65 6e74 7320 at are elements \n-000f0350: 616e 6420 7a65 726f 2028 3029 2066 6f72 and zero (0) for\n-000f0360: 206d 656d 6265 7273 2074 6861 7420 6172 members that ar\n-000f0370: 6520 706f 696e 7465 7273 206f 7220 6172 e pointers or ar\n-000f0380: 6520 6174 7472 6962 7574 6573 2028 692e e attributes (i.\n-000f0390: 652e 2068 6176 6520 6120 3c63 6f64 653e e. have a \n-000f03a0: 403c 2f63 6f64 653e 2071 7561 6c69 6669 @
qualifi\n-000f03b0: 6572 292e 3c2f 703e 0a3c 703e 4120 6465 er).value\n-000f03e0: 3c2f 636f 6465 3e20 6d61 7920 6265 2070
may be p\n-000f03f0: 726f 7669 6465 6420 616e 6420 6973 206f rovided and is o\n-000f0400: 7074 696f 6e61 6c2e 3c2f 703e 0a3c 703e ptional.== (gSOAP versio\n-000f0460: 6e20 322e 382e 3438 206f 7220 6772 6561 n 2.8.48 or grea\n-000f0470: 7465 7229 2e3c 2f70 3e0a 3c70 3e46 6f72 ter).
// sequence \n-000f08d0: 266c 743b 6e75 6d73 2667 743b 2077 6974 <nums> wit\n-000f08e0: 6820 6d69 6e4f 6363 7572 733d 322c 206d h minOccurs=2, m\n-000f08f0: 6178 4f63 6375 7273 3d75 6e62 6f75 6e64 axOccurs=unbound\n-000f0900: 6564 203c 2f73 7061 6e3e 3c2f 6469 763e ed soap_new_ClassN\n+000efd20: 616d 653c 2f63 6f64 653e 2074 6865 2069 ame
the i\n+000efd30: 6e73 7461 6e63 6520 7769 6c6c 2062 6520 nstance will be \n+000efd40: 696e 6974 6961 6c69 7a65 6420 7769 7468 initialized with\n+000efd50: 2064 6566 6175 6c74 2076 616c 7565 732e default values.\n+000efd60: 3c2f 703e 0a3c 703e 5365 6520 616c 736f .Occurrence con\n+000efe50: 7374 7261 696e 7473 3c2f 6832 3e0a 3c70 straints
.<\n+000eff30: 2f61 3e0a 456c 656d 656e 7473 2077 6974 /a>.Elements wit\n+000eff40: 6820 6d69 6e4f 6363 7572 7320 616e 6420 h minOccurs and \n+000eff50: 6d61 784f 6363 7572 7320 7265 7374 7269 maxOccurs restri\n+000eff60: 6374 696f 6e73 3c2f 6833 3e0a 3c70 3e54 ctions
.#SOAP_XM\n+000effc0: 4c5f 5354 5249 4354 3c2f 636f 6465 3e20 L_STRICT
\n+000effd0: 696e 7075 7420 6d6f 6465 2066 6c61 6720 input mode flag \n+000effe0: 6d75 7374 2062 6520 7365 742e 2054 6865 must be set. The\n+000efff0: 206d 696e 4f63 6375 7273 2061 6e64 206d minOccurs and m\n+000f0000: 6178 4f63 6375 7273 2063 6f6e 7374 7261 axOccurs constra\n+000f0010: 696e 7473 2061 7265 2073 7065 6369 6669 ints are specifi\n+000f0020: 6564 2066 6f72 206d 656d 6265 7273 206f ed for members o\n+000f0030: 6620 6120 7374 7275 6374 2061 6e64 206d f a struct and m\n+000f0040: 656d 6265 7273 206f 6620 6120 636c 6173 embers of a clas\n+000f0050: 7320 696e 2061 2068 6561 6465 7220 6669 s in a header fi\n+000f0060: 6c65 2075 7369 6e67 2074 6865 2066 6f6c le using the fol\n+000f0070: 6c6f 7769 6e67 2073 796e 7461 783a 3c2f lowing syntax:\n+000f0080: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.nullptr\n+000f0130: 3c2f 636f 6465 3e20 6973 206f 7074 696f
is optio\n+000f0140: 6e61 6c20 616e 6420 696e 6469 6361 7465 nal and indicate\n+000f0150: 7320 7468 6174 2074 6865 206d 656d 6265 s that the membe\n+000f0160: 7220 6973 206e 696c 6c61 626c 6520 2867 r is nillable (g\n+000f0170: 534f 4150 2076 6572 7369 6f6e 2032 2e38 SOAP version 2.8\n+000f0180: 2e32 3420 6f72 2067 7265 6174 6572 292c .24 or greater),\n+000f0190: 2077 6869 6368 206d 6561 6e73 2074 6861 which means tha\n+000f01a0: 7420 7768 656e 204e 554c 4c20 616e 2065 t when NULL an e\n+000f01b0: 6d70 7479 2065 6c65 6d65 6e74 2077 6974 mpty element wit\n+000f01c0: 6820 3c65 6d3e 3c63 6f64 653e 7873 693a h xsi:\n+000f01d0: 6e69 6c3d 2274 7275 6522 3c2f 636f 6465 nil=\"true\"
is added \n+000f01f0: 696e 2074 6865 2073 6572 6961 6c69 7a65 in the serialize\n+000f0200: 6420 584d 4c2e 3c2f 703e 0a3c 703e 5468 d XML.minOccur\n+000f0220: 733c 2f63 6f64 653e 2061 6e64 203c 636f s
and mi\n+000f02d0: 6e4f 6363 7572 733c 2f63 6f64 653e 2069 nOccurs
i\n+000f02e0: 7320 6e6f 7420 7370 6563 6966 6965 6420 s not specified \n+000f02f0: 6974 2069 7320 6173 7375 6d65 6420 746f it is assumed to\n+000f0300: 2062 6520 6f6e 6520 2831 2920 666f 7220 be one (1) for \n+000f0310: 6e6f 6e2d 706f 696e 7465 7220 6d65 6d62 non-pointer memb\n+000f0320: 6572 7320 7468 6174 2061 7265 2065 6c65 ers that are ele\n+000f0330: 6d65 6e74 7320 616e 6420 7a65 726f 2028 ments and zero (\n+000f0340: 3029 2066 6f72 206d 656d 6265 7273 2074 0) for members t\n+000f0350: 6861 7420 6172 6520 706f 696e 7465 7273 hat are pointers\n+000f0360: 206f 7220 6172 6520 6174 7472 6962 7574 or are attribut\n+000f0370: 6573 2028 692e 652e 2068 6176 6520 6120 es (i.e. have a \n+000f0380: 3c63 6f64 653e 403c 2f63 6f64 653e 2071 @
q\n+000f0390: 7561 6c69 6669 6572 292e 3c2f 703e 0a3c ualifier).value
ma\n+000f03d0: 7920 6265 2070 726f 7669 6465 6420 616e y be provided an\n+000f03e0: 6420 6973 206f 7074 696f 6e61 6c2e 3c2f d is optional.\n+000f03f0: 703e 0a3c 703e 4120 6669 7865 6420 696e p>.=\n+000f0430: 3d3c 2f63 6f64 653e 2028 6753 4f41 5020 =
(gSOAP \n+000f0440: 7665 7273 696f 6e20 322e 382e 3438 206f version 2.8.48 o\n+000f0450: 7220 6772 6561 7465 7229 2e3c 2f70 3e0a r greater)..Required a\n-000f0ba0: 6e64 2070 726f 6869 6269 7465 6420 6174 nd prohibited at\n-000f0bb0: 7472 6962 7574 6573 3c2f 6833 3e0a 3c70 tributes
..Requ\n+000f0b80: 6972 6564 2061 6e64 2070 726f 6869 6269 ired and prohibi\n+000f0b90: 7465 6420 6174 7472 6962 7574 6573 3c2f ted attributes\n+000f0ba0: 6833 3e0a 3c70 3e53 696d 696c 6172 2074 h3>.
int m 1; \n-000f0dc0: 2f2f 2072 6571 7569 7265 6420 6174 7472 // required attr\n-000f0dd0: 6962 7574 6520 286f 6363 7572 7320 6174 ibute (occurs at\n-000f0de0: 206c 6561 7374 206f 6e63 6529 203c 2f73 least once) #SOAP\n-000f0ff0: 5f58 4d4c 5f53 5452 4943 543c 2f63 6f64 _XML_STRICT input mode fl\n-000f1010: 6167 2074 6f20 656e 6162 6c65 2074 6865 ag to enable the\n-000f1020: 2076 616c 6964 6174 696f 6e20 6f66 2061 validation of a\n-000f1030: 7474 7269 6275 7465 206f 6363 7572 7265 ttribute occurre\n-000f1040: 6e63 6520 636f 6e73 7472 6169 6e74 732e nce constraints.\n-000f1050: 3c2f 703e 0a3c 703e 5365 6520 616c 736f
.Value co\n-000f1140: 6e73 7472 6169 6e74 733c 2f68 323e 0a3c nstraints
.<\n-000f1150: 703e 5661 6c75 6520 636f 6e73 7472 6169 p>Value constrai\n-000f1160: 6e74 7320 7265 7374 7269 6374 2074 6865 nts restrict the\n-000f1170: 206c 656e 6774 6820 6f66 2073 7472 696e length of strin\n-000f1180: 6773 2061 6e64 2074 6865 2072 616e 6765 gs and the range\n-000f1190: 206f 6620 7661 6c75 6573 206f 6620 6e75 of values of nu\n-000f11a0: 6d65 7269 6320 7479 7065 732e 3c2f 703e meric types.\n-000f11b0: 0a3c 703e f09f 949d 203c 6120 6872 6566 ...Data le\n-000f1220: 6e67 7468 2072 6573 7472 6963 7469 6f6e ngth restriction\n-000f1230: 733c 2f68 333e 0a3c 703e 4120 7363 6865 s
.typedef by taking a\n-000f1280: 2062 6173 6520 7072 696d 6974 6976 6520 base primitive \n-000f1290: 746f 2064 6566 696e 6564 2061 2064 6572 to defined a der\n-000f12a0: 6976 6564 2073 696d 706c 6554 7970 652e ived simpleType.\n-000f12b0: 2046 6f72 2065 7861 6d70 6c65 3a3c 2f70 For example:
time.xsd<\n-000f13a0: 2f63 6f64 653e 3c2f 656d 3e3a 3c2f 703e /code>
:#SOAP_XML_STRIC\n+000f0fe0: 543c 2f63 6f64 653e 2069 6e70 7574 206d T
input m\n+000f0ff0: 6f64 6520 666c 6167 2074 6f20 656e 6162 ode flag to enab\n+000f1000: 6c65 2074 6865 2076 616c 6964 6174 696f le the validatio\n+000f1010: 6e20 6f66 2061 7474 7269 6275 7465 206f n of attribute o\n+000f1020: 6363 7572 7265 6e63 6520 636f 6e73 7472 ccurrence constr\n+000f1030: 6169 6e74 732e 3c2f 703e 0a3c 703e 5365 aints..Va\n+000f1120: 6c75 6520 636f 6e73 7472 6169 6e74 733c lue constraints<\n+000f1130: 2f68 323e 0a3c 703e 5661 6c75 6520 636f /h2>.
.D\n+000f1200: 6174 6120 6c65 6e67 7468 2072 6573 7472 ata length restr\n+000f1210: 6963 7469 6f6e 733c 2f68 333e 0a3c 703e ictions
.type\n+000f1250: 6465 663c 2f63 6f64 653e 2062 7920 7461 def
by ta\n+000f1260: 6b69 6e67 2061 2062 6173 6520 7072 696d king a base prim\n+000f1270: 6974 6976 6520 746f 2064 6566 696e 6564 itive to defined\n+000f1280: 2061 2064 6572 6976 6564 2073 696d 706c a derived simpl\n+000f1290: 6554 7970 652e 2046 6f72 2065 7861 6d70 eType. For examp\n+000f12a0: 6c65 3a3c 2f70 3e0a 3c64 6976 2063 6c61 le:tim\n+000f1380: 652e 7873 643c 2f63 6f64 653e 3c2f 656d e.xsd
:enum \n-000f1730: 7469 6d65 5f5f 7a6f 6e65 207b 2045 5354 time__zone { EST\n-000f1740: 2c20 474d 542c 202e 2e2e 207d 207a 6f6e , GMT, ... } zon\n-000f1750: 653b 203c 2f64 6976 3e0a 3c64 6976 2063 e; use=<\n-000f1b10: 7370 616e 2063 6c61 7373 3d22 7374 7269 span class=\"stri\n-000f1b20: 6e67 6c69 7465 7261 6c22 3e26 7175 6f74 ngliteral\">"\n-000f1b30: 3b6f 7074 696f 6e61 6c26 7175 6f74 3b3c ;optional"<\n-000f1b40: 2f73 7061 6e3e 2f26 6774 3b20 3c2f 6469 /span>/> .struct ns__data // simpleConten\n-000f2270: 7420 7772 6170 7065 7220 3c2f 7370 616e t wrapper // simpleTyp\n+000f2020: 6520 7265 7374 7269 6374 696f 6e20 6f66 e restriction of\n+000f2030: 2073 7472 696e 6720 7769 7468 206d 6178 string with max\n+000f2040: 206c 656e 6774 6820 3235 3620 6368 6172 length 256 char\n+000f2050: 6163 7465 7273 203c 2f73 7061 6e3e 3c2f acters \n+000f2060: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.typedef std::string *\n+000f2180: 6e73 5f5f 7374 7269 6e67 3820 383b 203c ns__string8 8; <\n+000f2190: 7370 616e 2063 6c61 7373 3d22 636f 6d6d span class=\"comm\n+000f21a0: 656e 7422 3e2f 2f20 7369 6d70 6c65 5479 ent\">// simpleTy\n+000f21b0: 7065 2072 6573 7472 6963 7469 6f6e 206f pe restriction o\n+000f21c0: 6620 7374 7269 6e67 2077 6974 6820 6174 f string with at\n+000f21d0: 206c 6561 7374 2038 2063 6861 7261 6374 least 8 charact\n+000f21e0: 6572 7320 3c2f 7370 616e 3e3c 2f64 6976 ers char *__item :256\n+000f22d0: 3b20 3c73 7061 6e20 636c 6173 733d 2263 ; // simpl\n+000f22f0: 6543 6f6e 7465 6e74 2077 6974 6820 6174 eContent with at\n+000f2300: 206d 6f73 7420 3235 3620 6368 6172 6163 most 256 charac\n+000f2310: 7465 7273 203c 2f73 7061 6e3e 3c2f 6469 ters ..Value r\n-000f26c0: 616e 6765 2072 6573 7472 6963 7469 6f6e ange restriction\n-000f26d0: 733c 2f68 333e 0a3c 703e 5369 6d69 6c61 s
.low : \n-000f27a0: 6869 6768 3c2f 636f 6465 3e2c 2077 6865 high
, whe\n-000f27b0: 7265 203c 636f 6465 3e6c 6f77 3c2f 636f re low and
hi\n-000f27d0: 6768 3c2f 636f 6465 3e20 6172 6520 6f70 gh
are op\n-000f27e0: 7469 6f6e 616c 2e3c 2f70 3e0a 3c70 3e41 tional.:
.
.. range <\n-000f2900: 2f74 683e 3c74 6820 636c 6173 733d 226d /th> validation\n-000f2930: 2063 6865 636b 2020 2020 3c2f 7468 3e3c check <\n-000f2940: 2f74 723e 0a3c 7472 2063 6c61 7373 3d22 /tr>.. .1<\n-000f2990: 2f63 6f64 653e 2020 203c 2f74 643e 3c74 /code>
. .1 <= x \n-000f2a60: 2020 203c 2f74 643e 3c2f 7472 3e0a 3c74 : 10
x &l\n-000f2af0: 743b 3d20 3130 2020 2020 3c2f 7464 3e3c t;= 10 <\n-000f2b00: 2f74 723e 0a3c 7472 2063 6c61 7373 3d22 /tr>.. .1\n-000f2b50: 203a 2031 303c 2f63 6f64 653e 2020 203c : 10
<\n-000f2b60: 2f74 643e 3c74 6420 636c 6173 733d 226d /td>1 <= x \n-000f2b90: 266c 743b 3d20 3130 2020 2020 3c2f 7464 <= 10 . .\n-000f2c50: 3c74 7220 636c 6173 733d 226d 6172 6b64 <\n-000f2c10: 7464 2063 6c61 7373 3d22 6d61 726b 646f td class=\"markdo\n-000f2c20: 776e 5461 626c 6542 6f64 794e 6f6e 6522 wnTableBodyNone\"\n-000f2c30: 3e31 2026 6c74 3b20 7820 266c 743b 2031 >1 < x < 1\n-000f2c40: 3020 2020 203c 2f74 643e 3c2f 7472 3e0a 0 \n-000f2bf0: 3120 266c 743b 203a 2026 6c74 3b20 3130 1 < : < 10\n-000f2c00: 3c2f 636f 6465 3e20 2020 3c2f 7464 3e3c
. 1 <\n-000f2ca0: 2031 303c 2f63 6f64 653e 2020 203c 2f74 10
1 < x <\n-000f2ce0: 3b20 3130 2020 2020 3c2f 7464 3e3c 2f74 ; 10 .. .1 : \n-000f2d40: 266c 743b 2031 303c 2f63 6f64 653e 2020 < 10
\n-000f2d50: 203c 2f74 643e 3c74 6420 636c 6173 733d 1 <= \n-000f2d80: 7820 266c 743b 2031 3020 2020 203c 2f74 x < 10 . x &l\n-000f2e20: 743b 2031 3020 2020 203c 2f74 643e 3c2f t; 10 \n-000f2e30: 7472 3e0a 3c74 7220 636c 6173 733d 226d tr>.. .<\n-000f2e80: 3b20 3130 3c2f 636f 6465 3e20 2020 3c2f ; 10
\n-000f2e90: 7464 3e3c 7464 2063 6c61 7373 3d22 6d61 td>x < 10 \n-000f2ec0: 2020 3c2f 7464 3e3c 2f74 723e 0a3c 7472 .<\n-000f2ef0: 7464 2063 6c61 7373 3d22 6d61 726b 646f td class=\"markdo\n-000f2f00: 776e 5461 626c 6542 6f64 794e 6f6e 6522 wnTableBodyNone\"\n-000f2f10: 3e3c 636f 6465 3e31 2026 6c74 3b20 3a3c > .1 < :<\n-000f2f20: 2f63 6f64 653e 2020 203c 2f74 643e 3c74 /code>
. .\n-000f2fb0: 3120 266c 743b 3c2f 636f 6465 3e20 2020 1 <
\n-000f2fc0: 3c2f 7464 3e3c 7464 2063 6c61 7373 3d22 1 < x \n-000f2ff0: 2020 203c 2f74 643e 3c2f 7472 3e0a 3c74 1 < :\n-000f3050: 2031 303c 2f63 6f64 653e 2020 203c 2f74 10
1 < x <\n-000f3090: 3b3d 2031 3020 2020 3c2f 7464 3e3c 2f74 ;= 10 #SOAP\n+000f2560: 5f58 4d4c 5f53 5452 4943 543c 2f63 6f64 _XML_STRICT mode flag to \n+000f2580: 656e 6162 6c65 2074 6865 2076 616c 6964 enable the valid\n+000f2590: 6174 696f 6e20 6f66 2076 616c 7565 206c ation of value l\n+000f25a0: 656e 6774 6820 636f 6e73 7472 6169 6e74 ength constraint\n+000f25b0: 732e 3c2f 703e 0a3c 703e 5365 6520 616c s.
.V\n+000f26a0: 616c 7565 2072 616e 6765 2072 6573 7472 alue range restr\n+000f26b0: 6963 7469 6f6e 733c 2f68 333e 0a3c 703e ictions
.\n+000f2780: 6c6f 7720 3a20 6869 6768 3c2f 636f 6465 low : high
, where l\n+000f27a0: 6f77 3c2f 636f 6465 3e20 616e 6420 3c63 ow
and < on either s\n+000f2850: 6964 6520 6f66 2074 6865 203c 636f 6465 ide of the
:
range \n+000f2870: 6f70 6572 6174 6f72 3a3c 2f70 3e0a 3c74 operator:. .ran\n+000f28e0: 6765 2020 203c 2f74 683e 3c74 6820 636c ge vali\n+000f2910: 6461 7469 6f6e 2063 6865 636b 2020 2020 dation check \n+000f2920: 3c2f 7468 3e3c 2f74 723e 0a3c 7472 2063 . .1 <= x \n+000f29b0: 2020 203c 2f74 643e 3c2f 7472 3e0a 3c74 1 :
1 &l\n+000f2a40: 743b 3d20 7820 2020 203c 2f74 643e 3c2f t;= x \n+000f2a50: 7472 3e0a 3c74 7220 636c 6173 733d 226d tr>.. . \n+000f2ab0: 3c74 6420 636c 6173 733d 226d 6172 6b64 : 1\n+000f2aa0: 303c 2f63 6f64 653e 2020 203c 2f74 643e 0
x <= 10 \n+000f2ae0: 3c2f 7464 3e3c 2f74 723e 0a3c 7472 2063 . .<\n+000f2b30: 636f 6465 3e31 203a 2031 303c 2f63 6f64 code>1 : 10 1 &l\n+000f2b70: 743b 3d20 7820 266c 743b 3d20 3130 2020 t;= x <= 10 \n+000f2b80: 2020 3c2f 7464 3e3c 2f74 723e 0a3c 7472 . .1 < : &\n+000f2be0: 6c74 3b20 3130 3c2f 636f 6465 3e20 2020 lt; 10
\n+000f2bf0: 3c2f 7464 3e3c 7464 2063 6c61 7373 3d22 1 < x \n+000f2c20: 266c 743b 2031 3020 2020 203c 2f74 643e < 10 \n+000f2c30: 3c2f 7472 3e0a 3c74 7220 636c 6173 733d . .\n+000f2c80: 3120 266c 743b 2031 303c 2f63 6f64 653e 1 < 10
\n+000f2c90: 2020 203c 2f74 643e 3c74 6420 636c 6173 1 <\n+000f2cc0: 2078 2026 6c74 3b20 3130 2020 2020 3c2f x < 10 \n+000f2cd0: 7464 3e3c 2f74 723e 0a3c 7472 2063 6c61 td> . .1 \n+000f2d60: 266c 743b 3d20 7820 266c 743b 2031 3020 <= x < 10 \n+000f2d70: 2020 203c 2f74 643e 3c2f 7472 3e0a 3c74 \n+000f2de0: 3c74 6420 636c 6173 733d 226d 6172 6b64 : < 1\n+000f2dd0: 303c 2f63 6f64 653e 2020 203c 2f74 643e 0
x < 10 <\n+000f2e10: 2f74 643e 3c2f 7472 3e0a 3c74 7220 636c /td>. . x <\n+000f2ea0: 3b20 3130 2020 2020 3c2f 7464 3e3c 2f74 ; 10 .. .1 &\n+000f2f00: 6c74 3b20 3a3c 2f63 6f64 653e 2020 203c lt; :
<\n+000f2f10: 2f74 643e 3c74 6420 636c 6173 733d 226d /td>1 < x \n+000f2f40: 2020 3c2f 7464 3e3c 2f74 723e 0a3c 7472 . 1 <
\n-000f3e40: 656d 3e20 6172 6520 6769 7665 6e20 696e em> are given in\n-000f3e50: 2061 2058 5344 2066 696c 652c 2074 6865 a XSD file, the\n-000f3e60: 6e20 6120 4320 666f 726d 6174 2073 7472 n a C format str\n-000f3e70: 696e 6720 6973 2070 726f 6475 6365 6420 ing is produced \n-000f3e80: 746f 206f 7574 7075 7420 666c 6f61 7469 to output floati\n-000f3e90: 6e67 2070 6f69 6e74 2076 616c 7565 7320 ng point values \n-000f3ea0: 7769 7468 2074 6865 2070 726f 7065 7220 with the proper \n-000f3eb0: 7072 6563 6973 696f 6e20 616e 6420 7363 precision and sc\n-000f3ec0: 616c 652e 2046 6f72 2065 7861 6d70 6c65 ale. For example\n-000f3ed0: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 :.1 &\n+000f2fd0: 6c74 3b20 7820 2020 203c 2f74 643e 3c2f lt; x \n+000f2fe0: 7472 3e0a 3c74 7220 636c 6173 733d 226d tr>.. ..1 \n+000f3030: 266c 743b 203a 2031 303c 2f63 6f64 653e < : 10
\n+000f3040: 2020 203c 2f74 643e 3c74 6420 636c 6173 1 <\n+000f3070: 2078 2026 6c74 3b3d 2031 3020 2020 3c2f x <= 10 \n+000f3080: 7464 3e3c 2f74 723e 0a3c 2f74 6162 6c65 td> typedef int\n+000f3110: 3c2f 7370 616e 3e20 6e73 5f5f 696e 7431 ns__int1\n+000f3120: 3020 303a 3130 3b20 3c73 7061 6e20 636c 0 0:10; //\n+000f3140: 2073 696d 706c 6554 7970 6520 7265 7374 simpleType rest\n+000f3150: 7269 6374 696f 6e20 6f66 2069 6e74 2030 riction of int 0\n+000f3160: 2e2e 3130 203c 2f73 7061 6e3e 3c2f 6469 ..10 .typedef flo\n+000f32d0: 6174 3c2f 7370 616e 3e20 6e73 5f5f 666c at ns__fl\n+000f32e0: 6f61 7420 2d31 2e30 2026 6c74 3b3a 266c oat -1.0 <:&l\n+000f32f0: 743b 2031 302e 353b 203c 7370 616e 2063 t; 10.5; /\n+000f3310: 2f20 7369 6d70 6c65 5479 7065 2072 6573 / simpleType res\n+000f3320: 7472 6963 7469 6f6e 206f 6620 666c 6f61 triction of floa\n+000f3330: 7420 696e 2028 2d31 2c31 302e 3529 203c t in (-1,10.5) <\n+000f3340: 2f73 7061 6e3e 3c2f 6469 763e 0a3c 6469 /span>// required \n-000f34f0: 6e61 6d65 2061 7474 7269 6275 7465 203c name attribute <\n-000f3500: 2f73 7061 6e3e 3c2f 6469 763e 0a3c 6469 /span>\n-000f3550: 2353 4f41 505f 584d 4c5f 5354 5249 4354 #SOAP_XML_STRICT\n-000f3560: 3c2f 636f 6465 3e20 6d6f 6465 2066 6c61
mode fla\n-000f3570: 6720 746f 2065 6e61 626c 6520 7468 6520 g to enable the \n-000f3580: 7661 6c69 6461 7469 6f6e 206f 6620 7661 validation of va\n-000f3590: 6c75 6520 7261 6e67 6520 636f 6e73 7472 lue range constr\n-000f35a0: 6169 6e74 732e 3c2f 703e 0a3c 703e 5365 aints...\n-000f3690: 5061 7474 6572 6e20 7265 7374 7269 6374 Pattern restrict\n-000f36a0: 696f 6e73 3c2f 6833 3e0a 3c70 3e50 6174 ions
.\n-000f37b0: 736f 6170 3a3a 6673 7661 6c69 6461 7465 soap::fsvalidate\n-000f37c0: 3c2f 613e 3c2f 636f 6465 3e20 616e 6420
and \n-000f37d0: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 soap::fwvalidat\n-000f3880: 653c 2f61 3e3c 2f63 6f64 653e 2063 616c e
cal\n-000f3890: 6c62 6163 6b73 2061 7265 2073 6574 2074 lbacks are set t\n-000f38a0: 6f20 6120 7265 6765 7820 6d61 7463 6865 o a regex matche\n-000f38b0: 722e 3c2f 703e 0a3c 703e 546f 2061 7373 r.typ\n-000f3910: 6564 6566 3c2f 636f 6465 3e20 616e 6420 edef
and \n-000f3920: 6120 7061 7474 6572 6e20 7374 7269 6e67 a pattern string\n-000f3930: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 :typedef int\n-000f39a0: 3c2f 7370 616e 3e20 7469 6d65 5f5f 7365 time__se\n-000f39b0: 636f 6e64 203c 7370 616e 2063 6c61 7373 cond "[1-5]?[0-\n-000f39e0: 395d 7c36 3026 7175 6f74 3b3c 2f73 7061 9]|60";xsd:t\n-000f3e00: 6f74 616c 4469 6769 7473 3c2f 636f 6465 otalDigits
and <\n-000f3e20: 636f 6465 3e78 7364 3a66 7261 6374 696f code>xsd:fractio\n-000f3e30: 6e44 6967 6974 733c 2f63 6f64 653e 3c2f nDigitsfraction\n-000f4130: 4469 6769 7473 3c2f 7370 616e 3e20 3c73 Digits value\n-000f4160: 3d3c 7370 616e 2063 6c61 7373 3d22 7374 =&qu\n-000f4180: 6f74 3b32 2671 756f 743b 3c2f 7370 616e ot;2"/> \n-000f4470: 0a45 6c65 6d65 6e74 2061 6e64 2061 7474 .Element and att\n-000f4480: 7269 6275 7465 2071 7561 6c69 6669 6564 ribute qualified\n-000f4490: 2f75 6e71 7561 6c69 6669 6564 2066 6f72 /unqualified for\n-000f44a0: 6d73 3c2f 6832 3e0a 3c70 3e53 7472 7563 ms
.#S\n-000f4650: 4f41 505f 584d 4c5f 5354 5249 4354 3c2f OAP_XML_STRICT\n-000f4660: 636f 6465 3e20 6973 2074 7572 6e65 6420 code> is turned \n-000f4670: 6f66 6629 2e3c 2f70 3e0a 3c70 3e43 6f6e off).
//gsoap ns s\n-000f4740: 6368 656d 6120 6174 7472 6962 7574 6546 chema attributeF\n-000f4750: 6f72 6d3a 2075 6e71 7561 6c69 6669 6564 orm: unqualified\n-000f4760: 203c 2f73 7061 6e3e 3c2f 6469 763e 0a3c #SOAP_XML_\n+000f3540: 5354 5249 4354 3c2f 636f 6465 3e20 6d6f STRICT
mo\n+000f3550: 6465 2066 6c61 6720 746f 2065 6e61 626c de flag to enabl\n+000f3560: 6520 7468 6520 7661 6c69 6461 7469 6f6e e the validation\n+000f3570: 206f 6620 7661 6c75 6520 7261 6e67 6520 of value range \n+000f3580: 636f 6e73 7472 6169 6e74 732e 3c2f 703e constraints..Pattern re\n+000f3680: 7374 7269 6374 696f 6e73 3c2f 6833 3e0a strictions
.\n+000f3690: 3c70 3e50 6174 7465 726e 7320 6361 6e20 \n+000f3700: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap::fsva\n+000f37a0: 6c69 6461 7465 3c2f 613e 3c2f 636f 6465 lidate
and soap::fwv\n+000f3860: 616c 6964 6174 653c 2f61 3e3c 2f63 6f64 alidate callbacks are\n+000f3880: 2073 6574 2074 6f20 6120 7265 6765 7820 set to a regex \n+000f3890: 6d61 7463 6865 722e 3c2f 703e 0a3c 703e matcher.
ti\n+000f3a30: 6d65 2e78 7364 3c2f 636f 6465 3e3c 2f65 me.xsd
:xsd:totalDigits\n+000f3df0: 3c2f 636f 6465 3e3c 2f65 6d3e 2061 6e64
and\n+000f3e00: 203c 656d 3e3c 636f 6465 3e78 7364 3a66 xsd:f\n+000f3e10: 7261 6374 696f 6e44 6967 6974 733c 2f63 ractionDigits
are gi\n+000f3e30: 7665 6e20 696e 2061 2058 5344 2066 696c ven in a XSD fil\n+000f3e40: 652c 2074 6865 6e20 6120 4320 666f 726d e, then a C form\n+000f3e50: 6174 2073 7472 696e 6720 6973 2070 726f at string is pro\n+000f3e60: 6475 6365 6420 746f 206f 7574 7075 7420 duced to output \n+000f3e70: 666c 6f61 7469 6e67 2070 6f69 6e74 2076 floating point v\n+000f3e80: 616c 7565 7320 7769 7468 2074 6865 2070 alues with the p\n+000f3e90: 726f 7065 7220 7072 6563 6973 696f 6e20 roper precision \n+000f3ea0: 616e 6420 7363 616c 652e 2046 6f72 2065 and scale. For e\n+000f3eb0: 7861 6d70 6c65 3a3c 2f70 3e0a 3c64 6976 xample:float time__ratio\n+000f42d0: 203c 7370 616e 2063 6c61 7373 3d22 7374 &qu\n+000f42f0: 6f74 3b25 352e 3266 2671 756f 743b 3c2f ot;%5.2f"\n+000f4300: 7370 616e 3e3b 3c2f 6469 763e 0a3c 2f64 span>;.Element a\n+000f4460: 6e64 2061 7474 7269 6275 7465 2071 7561 nd attribute qua\n+000f4470: 6c69 6669 6564 2f75 6e71 7561 6c69 6669 lified/unqualifi\n+000f4480: 6564 2066 6f72 6d73 3c2f 6832 3e0a 3c70 ed forms
.ns__\n-000f48b0: 7265 636f 7264 3c2f 636f 6465 3e20 7374 record
st\n-000f48c0: 7275 6374 2069 7320 7365 7269 616c 697a ruct is serializ\n-000f48d0: 6564 2077 6974 6820 7175 616c 6966 6965 ed with qualifie\n-000f48e0: 6420 656c 656d 656e 7420 3c63 6f64 653e d element \n-000f48f0: 6e61 6d65 3c2f 636f 6465 3e20 616e 6420 name
and \n-000f4900: 756e 7175 616c 6966 6965 6420 6174 7472 unqualified attr\n-000f4910: 6962 7574 6520 3c63 6f64 653e 7479 7065 ibute type\n-000f4920: 3c2f 636f 6465 3e3a 3c2f 703e 0a3c 6469
:ns:name<\n-000f4a30: 2f73 7061 6e3e 2667 743b 2e2e 2e26 6c74 /span>>...<\n-000f4a40: 3b2f 3c73 7061 6e20 636c 6173 733d 226b ;/ns:n\n-000f4a60: 616d 653c 2f73 7061 6e3e 2667 743b 203c ame> <\n-000f4a70: 2f64 6976 3e0a 3c64 6976 2063 6c61 7373 /div>.name
and unqualifie\n+000f48f0: 6420 6174 7472 6962 7574 6520 3c63 6f64 d attribute "\n+000f49c0: 2e2e 2e26 7175 6f74 3b3c 2f73 7061 6e3e ..."\n+000f49d0: 2667 743b 203c 2f64 6976 3e0a 3c64 6976 > name\n-000f4e10: 636f 6465 3e20 6973 2075 6e71 7561 6c69 code> is unquali\n-000f4e20: 6669 6564 2061 6e64 203c 636f 6465 3e74 fied and
t\n-000f4e30: 7970 653c 2f63 6f64 653e 2069 7320 7175 ype
is qu\n-000f4e40: 616c 6966 6965 643a 3c2f 703e 0a3c 6469 alified:\n-000f55e0: 6e61 6d65 3c2f 636f 6465 3e20 656c 656d name
elem\n-000f55f0: 656e 7420 6465 6669 6e69 7469 6f6e 2074 ent definition t\n-000f5600: 6861 7420 6973 2072 6566 6572 656e 6365 hat is reference\n-000f5610: 6420 6279 2074 6865 206c 6f63 616c 2065 d by the local e\n-000f5620: 6c65 6d65 6e74 2e3c 2f70 3e0a 3c70 3e4d lement."\n-000f5d40: 756e 7175 616c 6966 6965 6426 7175 6f74 unqualified"\n-000f5d50: 3b3c 2f73 7061 6e3e 2f26 6774 3b20 3c2f ;/> \n-000f5d60: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.y.xsd
schema define\n-000f6460: 7320 636f 6e74 6169 6e73 3a3c 2f70 3e0a s contains:element<\n-000f64d0: 2f73 7061 6e3e 203c 7370 616e 2063 6c61 /span> nam\n-000f64f0: 653c 2f73 7061 6e3e 3d3c 7370 616e 2063 e="zip&q\n-000f6520: 756f 743b 3c2f 7370 616e 3e20 3c73 7061 uot; "\n-000f6570: 7873 643a 7374 7269 6e67 2671 756f 743b xsd:string"\n-000f6580: 3c2f 7370 616e 3e2f 2667 743b 3c2f 6469 />..XML n\n-000f6690: 616d 6573 7061 6365 7320 616e 6420 7468 amespaces and th\n-000f66a0: 6520 6e61 6d65 7370 6163 6520 6d61 7070 e namespace mapp\n-000f66b0: 696e 6720 7461 626c 653c 2f68 313e 0a3c ing table
.<\n-000f66c0: 703e 4120 6e61 6d65 7370 6163 6520 6d61 p>A namespace ma\n-000f66d0: 7070 696e 6720 7461 626c 6520 7368 6f75 pping table shou\n-000f66e0: 6c64 2062 6520 696e 636c 7564 6564 2069 ld be included i\n-000f66f0: 6e20 7468 6520 736f 7572 6365 2063 6f64 n the source cod\n-000f6700: 6520 6f66 2063 6c69 656e 7420 616e 6420 e of client and \n-000f6710: 7365 7276 6963 6520 6170 706c 6963 6174 service applicat\n-000f6720: 696f 6e73 2e20 5468 6520 6d61 7070 696e ions. The mappin\n-000f6730: 6720 7461 626c 6520 6973 2075 7365 6420 g table is used \n-000f6740: 6279 2074 6865 2073 6572 6961 6c69 7a65 by the serialize\n-000f6750: 7273 2061 6e64 2064 6573 6572 6961 6c69 rs and deseriali\n-000f6760: 7a65 7273 206f 6620 7468 6520 7374 7562 zers of the stub\n-000f6770: 2061 6e64 2073 6b65 6c65 746f 6e20 6675 and skeleton fu\n-000f6780: 6e63 7469 6f6e 7320 746f 2070 726f 6475 nctions to produ\n-000f6790: 6365 2076 616c 6964 2058 4d4c 206d 6573 ce valid XML mes\n-000f67a0: 7361 6765 7320 616e 6420 746f 2070 6172 sages and to par\n-000f67b0: 7365 2061 6e64 2076 616c 6964 6174 6520 se and validate \n-000f67c0: 584d 4c20 6d65 7373 6167 6573 2e20 4120 XML messages. A \n-000f67d0: 7479 7069 6361 6c20 6d61 7070 696e 6720 typical mapping \n-000f67e0: 7461 626c 6520 6973 2073 686f 776e 2062 table is shown b\n-000f67f0: 656c 6f77 3a3c 2f70 3e0a 3c64 6976 2063 elow:.name
element defini\n+000f55e0: 7469 6f6e 2074 6861 7420 6973 2072 6566 tion that is ref\n+000f55f0: 6572 656e 6365 6420 6279 2074 6865 206c erenced by the l\n+000f5600: 6f63 616c 2065 6c65 6d65 6e74 2e3c 2f70 ocal element.x.xsd\n+000f59b0: 3c2f 636f 6465 3e3c 2f65 6d3e 7363 6865
sche\n+000f59c0: 6d61 3a3c 2f70 3e0a 3c64 6976 2063 6c61 ma:sequence\n+000f5ad0: 3c2f 7370 616e 3e26 6774 3b20 3c2f 6469 > ."\n+000f5bc0: 7873 643a 7374 7269 6e67 2671 756f 743b xsd:string"\n+000f5bd0: 3c2f 7370 616e 3e20 3c73 7061 6e20 636c mi\n+000f5bf0: 6e4f 6363 7572 733c 2f73 7061 6e3e 3d3c nOccurs=<\n+000f5c00: 7370 616e 2063 6c61 7373 3d22 7374 7269 span class=\"stri\n+000f5c10: 6e67 6c69 7465 7261 6c22 3e26 7175 6f74 ngliteral\">"\n+000f5c20: 3b30 2671 756f 743b 3c2f 7370 616e 3e20 ;0" \n+000f5c30: 3c73 7061 6e20 636c 6173 733d 226b 6579 maxOccurs<\n+000f5c50: 2f73 7061 6e3e 3d3c 7370 616e 2063 6c61 /span>="1"\n+000f5c80: 3c2f 7370 616e 3e20 3c73 7061 6e20 636c ni\n+000f5ca0: 6c6c 6162 6c65 3c2f 7370 616e 3e3d 3c73 llable="\n+000f5cd0: 7472 7565 2671 756f 743b 3c2f 7370 616e true" formname=\n+000f5db0: 3c73 7061 6e20 636c 6173 733d 2273 7472 &quo\n+000f5dd0: 743b 7068 6f6e 6526 7175 6f74 3b3c 2f73 t;phone" type<\n+000f5e00: 2f73 7061 6e3e 3d3c 7370 616e 2063 6c61 /span>="xsd:str\n+000f5e30: 696e 6726 7175 6f74 3b3c 2f73 7061 6e3e ing"\n+000f5e40: 203c 7370 616e 2063 6c61 7373 3d22 6b65 minOccurs\n+000f5e60: 3c2f 7370 616e 3e3d 3c73 7061 6e20 636c ="0"\n+000f5e90: 3b3c 2f73 7061 6e3e 203c 7370 616e 2063 ; m\n+000f5eb0: 6178 4f63 6375 7273 3c2f 7370 616e 3e3d axOccurs=\n+000f5ec0: 3c73 7061 6e20 636c 6173 733d 2273 7472 &quo\n+000f5ee0: 743b 3126 7175 6f74 3b3c 2f73 7061 6e3e t;1"\n+000f5ef0: 203c 7370 616e 2063 6c61 7373 3d22 6b65 nillable<\n+000f5f10: 2f73 7061 6e3e 3d3c 7370 616e 2063 6c61 /span>="true&qu\n+000f5f40: 6f74 3b3c 2f73 7061 6e3e 203c 7370 616e ot; form=y.xsd
schema \n+000f6440: 6465 6669 6e65 7320 636f 6e74 6169 6e73 defines contains\n+000f6450: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 :\n+000f6670: 0a58 4d4c 206e 616d 6573 7061 6365 7320 .XML namespaces \n+000f6680: 616e 6420 7468 6520 6e61 6d65 7370 6163 and the namespac\n+000f6690: 6520 6d61 7070 696e 6720 7461 626c 653c e mapping table<\n+000f66a0: 2f68 313e 0a3c 703e 4120 6e61 6d65 7370 /h1>.
// must be f\n-000f6a60: 6972 7374 203c 2f73 7061 6e3e 3c2f 6469 irst .// must be s\n-000f6b40: 6563 6f6e 6420 3c2f 7370 616e 3e3c 2f64 econd .__) in an ident\n-000f7070: 6966 6965 7220 6f72 2062 7920 7573 696e ifier or by usin\n-000f7080: 6720 636f 6c6f 6e20 6e6f 7461 7469 6f6e g colon notation\n-000f7090: 2c20 7365 6520 5365 6374 696f 6e20 3c61 , see Section C/C++ iden\n-000f70d0: 7469 6669 6572 206e 616d 6520 746f 2058 tifier name to X\n-000f70e0: 4d4c 2074 6167 206e 616d 6520 7472 616e ML tag name tran\n-000f70f0: 736c 6174 696f 6e3c 2f61 3e2e 3c2f 703e slation.
-) are single\n-000f7200: 2d63 6861 7261 6374 6572 2077 696c 6463 -character wildc\n-000f7210: 6172 6473 2061 6e64 2061 7374 6572 6973 ards and asteris\n-000f7220: 6b73 2028 3c63 6f64 653e 2a3c 2f63 6f64 ks (
*) are multi-ch\n-000f7240: 6172 6163 7465 7220 7769 6c64 6361 7264 aracter wildcard\n-000f7250: 732e 2046 6f72 2065 7861 6d70 6c65 2c20 s. For example, \n-000f7260: 746f 2061 6363 6570 7420 616c 7465 726e to accept altern\n-000f7270: 6174 6976 6520 7665 7273 696f 6e73 206f ative versions o\n-000f7280: 6620 584d 4c20 7363 6865 6d61 7320 7769 f XML schemas wi\n-000f7290: 7468 2064 6966 6665 7265 6e74 2061 7574 th different aut\n-000f72a0: 686f 7269 6e67 2064 6174 6573 2c20 666f horing dates, fo\n-000f72b0: 7572 2064 6173 6865 7320 6361 6e20 6265 ur dashes can be\n-000f72c0: 2075 7365 6420 696e 2070 6c61 6365 206f used in place o\n-000f72d0: 6620 7468 6520 7370 6563 6966 6963 2064 f the specific d\n-000f72e0: 6174 6573 2069 6e20 7468 6520 6e61 6d65 ates in the name\n-000f72f0: 7370 6163 6520 6d61 7070 696e 6720 7461 space mapping ta\n-000f7300: 626c 6520 7061 7474 6572 6e3a 3c2f 703e ble pattern:
// binds &qu\n+000f6db0: 6f74 3b6e 7326 7175 6f74 3b20 6e61 6d65 ot;ns" name\n+000f6dc0: 7370 6163 6520 7072 6566 6978 2074 6f20 space prefix to \n+000f6dd0: 7363 6865 6d61 2055 5249 3c2f 7370 616e schema URI/\n-000f8030: 2f67 736f 6170 2026 6c74 3b70 7265 6669 /gsoap <prefi\n-000f8040: 7826 6774 3b20 7363 6865 6d61 206e 616d x> schema nam\n-000f8050: 6573 7061 6365 3a3c 2f63 6f64 653e 2064 espace:
d\n-000f8060: 6972 6563 7469 7665 7320 696e 2074 6865 irectives in the\n-000f8070: 2069 6e74 6572 6661 6365 2068 6561 6465 interface heade\n-000f8080: 7220 6669 6c65 2c20 7365 6520 5365 6374 r file, see Sect\n-000f8090: 696f 6e20 3c61 2063 6c61 7373 3d22 656c ion D\n-000f80c0: 6972 6563 7469 7665 733c 2f61 3e2e 2049 irectives. I\n-000f80d0: 6620 6469 7265 6374 6976 6573 2061 7265 f directives are\n-000f80e0: 206e 6f74 2070 726f 7669 6465 6420 696e not provided in\n-000f80f0: 2074 6865 2068 6561 6465 7220 6669 6c65 the header file\n-000f8100: 2074 6865 6e20 6465 6661 756c 7420 5552 then default UR\n-000f8110: 4973 206f 6620 7468 6520 666f 726d 203c Is of the form <\n-000f8120: 656d 3e3c 636f 6465 3e3c 6120 6872 6566 em>http://tempuri.\n-000f8160: 6f72 672f 7072 6566 6978 2e78 7364 3c2f org/prefix.xsd\n-000f8170: 613e 3c2f 636f 6465 3e3c 2f65 6d3e 2066 a>
f\n-000f8180: 6f72 2065 6163 6820 6e61 6d65 7370 6163 or each namespac\n-000f8190: 6520 3c65 6d3e 3c63 6f64 653e 7072 6566 e pref\n-000f81a0: 6978 3c2f 636f 6465 3e3c 2f65 6d3e 2e20 ix
. \n-000f81b0: 5468 6520 736f 6170 6370 7032 2074 6f6f The soapcpp2 too\n-000f81c0: 6c20 616c 736f 2067 656e 6572 6174 6573 l also generates\n-000f81d0: 2061 2057 5344 4c20 616e 6420 6f6e 6520 a WSDL and one \n-000f81e0: 6f72 206d 6f72 6520 5853 4420 6669 6c65 or more XSD file\n-000f81f0: 732c 206f 6e65 2066 6f72 2065 6163 6820 s, one for each \n-000f8200: 584d 4c20 6e61 6d65 7370 6163 652e 3c2f XML namespace.\n-000f8210: 703e 0a3c 703e 5768 656e 2070 6172 7369 p>._QN\n-000f8540: 616d 653c 2f63 6f64 653e 2074 7970 6520 ame
type \n-000f8550: 6f72 2061 2051 4e61 6d65 2064 6563 6c61 or a QName decla\n-000f8560: 7265 6420 7769 7468 203c 636f 6465 3e74 red with t\n-000f8570: 7970 6564 6566 2073 7464 3a3a 7374 7269 ypedef std::stri\n-000f8580: 6e67 2078 7364 5f5f 514e 616d 653c 2f63 ng xsd__QName, then this \n-000f85a0: 514e 616d 6520 7374 7269 6e67 2077 696c QName string wil\n-000f85b0: 6c20 616c 7761 7973 2063 6f6e 7461 696e l always contain\n-000f85c0: 2071 7561 6c69 6669 6564 206e 616d 6573 qualified names\n-000f85d0: 2077 6974 6820 6e6f 726d 616c 697a 6564 with normalized\n-000f85e0: 2070 7265 6669 7865 732c 2069 2e65 2e20 prefixes, i.e. \n-000f85f0: 7072 6566 6978 6573 2064 6566 696e 6564 prefixes defined\n-000f8600: 2069 6e20 7468 6520 6e61 6d65 7370 6163 in the namespac\n-000f8610: 6520 6d61 7070 696e 6720 7461 626c 652c e mapping table,\n-000f8620: 2075 6e6c 6573 7320 7468 6520 7461 626c unless the tabl\n-000f8630: 6520 6861 7320 6e6f 2065 6e74 7279 2c20 e has no entry, \n-000f8640: 7365 6520 5365 6374 696f 6e20 3c61 2063 see Section How to use QNa\n-000f8680: 6d65 2061 7474 7269 6275 7465 7320 616e me attributes an\n-000f8690: 6420 656c 656d 656e 7473 3c2f 613e 2e3c d elements.<\n-000f86a0: 2f70 3e0a 3c70 3e46 6f72 2065 7861 6d70 /p>.
//.<\n+000f8110: 6120 6872 6566 3d22 6874 7470 3a2f 2f74 a href=\"http://t\n+000f8120: 656d 7075 7269 2e6f 7267 2f70 7265 6669 empuri.org/prefi\n+000f8130: 782e 7873 6422 3e68 7474 703a 2f2f 7465 x.xsd\">http://te\n+000f8140: 6d70 7572 692e 6f72 672f 7072 6566 6978 mpuri.org/prefix\n+000f8150: 2e78 7364 3c2f 613e 3c2f 636f 6465 3e3c .xsd
<\n+000f8160: 2f65 6d3e 2066 6f72 2065 6163 6820 6e61 /em> for each na\n+000f8170: 6d65 7370 6163 6520 3c65 6d3e 3c63 6f64 mespace "\n-000f8e80: 6874 7470 3a2f 2f74 656d 7075 7269 2e6f http://tempuri.o\n-000f8e90: 7267 2f62 2e78 7364 2671 756f 743b 3c2f rg/b.xsd"\n-000f8ea0: 7370 616e 3e26 6774 3b2e 2e2e 266c 743b span>>...<\n-000f8eb0: 2f3c 7370 616e 2063 6c61 7373 3d22 6b65 /elt\n-000f8ed0: 7370 616e 3e26 6774 3b3c 2f64 6976 3e0a span>>\n-000f9870: 3c61 2063 6c61 7373 3d22 656c 2220 6872 \n-000f9930: 736f 6170 5f73 6574 5f6e 616d 6573 7061 soap_set_namespa\n-000f9940: 6365 733c 2f61 3e3c 2f63 6f64 653e 2062 ces
b\n-000f9950: 6566 6f72 6520 6361 6c6c 696e 6720 3c63 efore calling xmlsn namesp\n-000f9a90: 6163 6520 6269 6e64 696e 6773 2069 6e20 ace bindings in \n-000f9aa0: 7468 6520 726f 6f74 2065 6c65 6d65 6e74 the root element\n-000f9ab0: 2c20 7768 6963 6820 6973 2067 656e 6572 , which is gener\n-000f9ac0: 616c 6c79 206d 6f72 6520 6566 6669 6369 ally more effici\n-000f9ad0: 656e 7420 666f 7220 6c61 7267 6572 2058 ent for larger X\n-000f9ae0: 4d4c 2064 6f63 756d 656e 7473 2069 6e20 ML documents in \n-000f9af0: 7768 6963 6820 6f74 6865 7277 6973 6520 which otherwise \n-000f9b00: 7468 6520 3c65 6d3e 3c63 6f64 653e 786d the
xm\n-000f9b10: 6c73 6e3c 2f63 6f64 653e 3c2f 656d 3e20 lsn
\n-000f9b20: 6e61 6d65 7370 6163 6520 6269 6e64 696e namespace bindin\n-000f9b30: 6773 2077 696c 6c20 6265 2073 7072 696e gs will be sprin\n-000f9b40: 6b6c 6564 2074 6872 6f75 6768 6f75 742e kled throughout.\n-000f9b50: 2042 7920 636f 6e74 7261 7374 2c20 6361 By contrast, ca\n-000f9b60: 6e6f 6e69 6361 6c20 584d 4c20 7265 7175 nonical XML requ\n-000f9b70: 6972 6573 203c 656d 3e3c 636f 6465 3e78 ires x\n-000f9b80: 6d6c 736e 3c2f 636f 6465 3e3c 2f65 6d3e mlsn
\n-000f9b90: 206e 616d 6573 7061 6365 2062 696e 6469 namespace bindi\n-000f9ba0: 6e67 7320 6f6e 6c79 2074 6f20 6265 2069 ngs only to be i\n-000f9bb0: 6e63 6c75 6465 6420 7768 656e 2075 7469 ncluded when uti\n-000f9bc0: 6c69 7a65 642e 2054 6865 7265 666f 7265 lized. Therefore\n-000f9bd0: 2c20 7468 6520 3c63 6f64 653e 2353 4f41 , the #SOA\n-000f9be0: 505f 584d 4c5f 4341 4e4f 4e49 4341 4c3c P_XML_CANONICAL<\n-000f9bf0: 2f63 6f64 653e 2063 6f6e 7465 7874 2066 /code> context f\n-000f9c00: 6c61 6720 7072 6f64 7563 6573 2043 3134 lag produces C14\n-000f9c10: 4e20 6578 636c 7573 6976 6520 584d 4c20 N exclusive XML \n-000f9c20: 6d65 7373 6167 6573 2061 6e64 2064 6f63 messages and doc\n-000f9c30: 756d 656e 7473 2c20 7768 6963 6820 656c uments, which el\n-000f9c40: 696d 696e 6174 6573 2075 6e75 7365 6420 iminates unused \n-000f9c50: 3c65 6d3e 3c63 6f64 653e 786d 6c73 6e3c
xmlsn<\n-000f9c60: 2f63 6f64 653e 3c2f 656d 3e20 6e61 6d65 /code>
name\n-000f9c70: 7370 6163 6520 6269 6e64 696e 6773 2066 space bindings f\n-000f9c80: 726f 6d20 584d 4c2e 2055 6e66 6f72 7475 rom XML. Unfortu\n-000f9c90: 6e61 7465 6c79 2c20 7468 6520 6375 7272 nately, the curr\n-000f9ca0: 656e 7420 4331 344e 2073 7461 6e64 6172 ent C14N standar\n-000f9cb0: 6420 6973 2062 7567 6779 2077 6974 6820 d is buggy with \n-000f9cc0: 7265 7370 6563 7420 746f 2058 5344 2051 respect to XSD Q\n-000f9cd0: 4e61 6d65 2063 6f6e 7465 6e74 2c20 6265 Name content, be\n-000f9ce0: 6361 7573 6520 7072 6566 6978 6573 2075 cause prefixes u\n-000f9cf0: 7365 6420 696e 2051 4e61 6d65 2063 6f6e sed in QName con\n-000f9d00: 7465 6e74 2061 7265 206e 6f74 2063 6f6e tent are not con\n-000f9d10: 7369 6465 7265 6420 7574 696c 697a 6564 sidered utilized\n-000f9d20: 2e20 5468 6520 6753 4f41 5020 656e 6769 . The gSOAP engi\n-000f9d30: 6e65 2063 6f6e 7369 6465 7273 2051 4e61 ne considers QNa\n-000f9d40: 6d65 2063 6f6e 7465 6e74 2070 7265 6669 me content prefi\n-000f9d50: 7865 7320 7574 696c 697a 6564 2061 6e64 xes utilized and\n-000f9d60: 2074 6865 7265 666f 7265 2070 726f 6475 therefore produ\n-000f9d70: 6365 7320 636f 7272 6563 7465 6420 6361 ces corrected ca\n-000f9d80: 6e6f 6e69 6361 6c69 7a65 6420 584d 4c20 nonicalized XML \n-000f9d90: 6f75 7470 7574 2074 6861 7420 7072 6576 output that prev\n-000f9da0: 656e 7473 2074 6865 206c 6f73 7320 6f66 ents the loss of\n-000f9db0: 206e 616d 6573 7061 6365 2069 6e66 6f72 namespace infor\n-000f9dc0: 6d61 7469 6f6e 2066 6f72 2051 4e61 6d65 mation for QName\n-000f9dd0: 732e 3c2f 703e 0a3c 703e f09f 949d 203c s.<\n-000f9e30: 2f61 3e0a 534f 4150 2048 6561 6465 7220 /a>.SOAP Header \n-000f9e40: 7072 6f63 6573 7369 6e67 3c2f 6831 3e0a processing
.\n-000f9e50: 3c70 3e41 2062 7569 6c74 2d69 6e20 534f <\n-000f9e80: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-000f9e90: 663d 2273 7472 7563 745f 735f 6f5f 615f f=\"struct_s_o_a_\n-000f9ea0: 705f 5f5f 655f 6e5f 765f 5f5f 5f5f 6865 p___e_n_v_____he\n-000f9eb0: 6164 6572 2e68 746d 6c22 2074 6974 6c65 ader.html\" title\n-000f9ec0: 3d22 534f 4150 2048 6561 6465 7220 7374 =\"SOAP Header st\n-000f9ed0: 7275 6374 7572 652e 223e 534f 4150 5f45 ructure.\">SOAP_E\n-000f9ee0: 4e56 5f5f 4865 6164 6572 3c2f 613e 3c2f NV__Header\n-000f9ef0: 636f 6465 3e20 6973 2067 656e 6572 6174 code> is generat\n-000f9f00: 6564 2062 7920 7468 6520 736f 6170 6370 ed by the soapcp\n-000f9f10: 7032 2074 6f6f 6c20 666f 7220 6578 6368 p2 tool for exch\n-000f9f20: 616e 6769 6e67 2053 4f41 5020 6865 6164 anging SOAP head\n-000f9f30: 6572 7320 696e 2053 4f41 5020 6d65 7373 ers in SOAP mess\n-000f9f40: 6167 6573 2e20 5468 6973 2073 7472 7563 ages. This struc\n-000f9f50: 7475 7265 2069 7320 656d 7074 7920 756e ture is empty un\n-000f9f60: 6c65 7373 2068 6561 6465 7273 2061 7265 less headers are\n-000f9f70: 2061 6464 6564 2062 7920 706c 7567 696e added by plugin\n-000f9f80: 7320 616e 6420 6865 6164 6572 7320 7370 s and headers sp\n-000f9f90: 6563 6966 6965 6420 6279 2057 5344 4c20 ecified by WSDL \n-000f9fa0: 7370 6563 6966 6963 6174 696f 6e73 2028 specifications (\n-000f9fb0: 692e 652e 2077 7364 6c32 6820 6164 6473 i.e. wsdl2h adds\n-000f9fc0: 2053 4f41 5020 4865 6164 6572 7329 2e3c SOAP Headers).<\n-000f9fd0: 2f70 3e0a 3c70 3e59 6f75 2063 616e 2063 /p>.
struct N\n+000f9420: 616d 6573 7061 6365 3c2f 613e 202a 3c61 amespace *namespaces<\n+000f9490: 2f61 3e3b 203c 2f64 6976 3e0a 3c64 6976 /a>; soap_set_n\n+000f9920: 616d 6573 7061 6365 733c 2f61 3e3c 2f63 amespaces before call\n+000f9940: 696e 6720 3c63 6f64 653e 3c61 2063 6c61 ing
soap_se\n+000f99c0: 7276 653c 2f61 3e3c 2f63 6f64 653e 2e20 rve
. \n+000f99d0: 4368 616e 6769 6e67 2074 6865 206e 616d Changing the nam\n+000f99e0: 6573 7061 6365 7320 7461 626c 6520 696e espaces table in\n+000f99f0: 2073 6572 7669 6365 206f 7065 7261 7469 service operati\n+000f9a00: 6f6e 7320 6861 7320 6e6f 2065 6666 6563 ons has no effec\n+000f9a10: 742e 3c2f 703e 0a3c 703e 5468 6520 584d t.xm\n+000f9a60: 6c73 6e3c 2f63 6f64 653e 3c2f 656d 3e20 lsn
\n+000f9a70: 6e61 6d65 7370 6163 6520 6269 6e64 696e namespace bindin\n+000f9a80: 6773 2069 6e20 7468 6520 726f 6f74 2065 gs in the root e\n+000f9a90: 6c65 6d65 6e74 2c20 7768 6963 6820 6973 lement, which is\n+000f9aa0: 2067 656e 6572 616c 6c79 206d 6f72 6520 generally more \n+000f9ab0: 6566 6669 6369 656e 7420 666f 7220 6c61 efficient for la\n+000f9ac0: 7267 6572 2058 4d4c 2064 6f63 756d 656e rger XML documen\n+000f9ad0: 7473 2069 6e20 7768 6963 6820 6f74 6865 ts in which othe\n+000f9ae0: 7277 6973 6520 7468 6520 3c65 6d3e 3c63 rwise the \n+000f9c40: 786d 6c73 6e3c 2f63 6f64 653e 3c2f 656d xmlsn
namespace bind\n+000f9c60: 696e 6773 2066 726f 6d20 584d 4c2e 2055 ings from XML. U\n+000f9c70: 6e66 6f72 7475 6e61 7465 6c79 2c20 7468 nfortunately, th\n+000f9c80: 6520 6375 7272 656e 7420 4331 344e 2073 e current C14N s\n+000f9c90: 7461 6e64 6172 6420 6973 2062 7567 6779 tandard is buggy\n+000f9ca0: 2077 6974 6820 7265 7370 6563 7420 746f with respect to\n+000f9cb0: 2058 5344 2051 4e61 6d65 2063 6f6e 7465 XSD QName conte\n+000f9cc0: 6e74 2c20 6265 6361 7573 6520 7072 6566 nt, because pref\n+000f9cd0: 6978 6573 2075 7365 6420 696e 2051 4e61 ixes used in QNa\n+000f9ce0: 6d65 2063 6f6e 7465 6e74 2061 7265 206e me content are n\n+000f9cf0: 6f74 2063 6f6e 7369 6465 7265 6420 7574 ot considered ut\n+000f9d00: 696c 697a 6564 2e20 5468 6520 6753 4f41 ilized. The gSOA\n+000f9d10: 5020 656e 6769 6e65 2063 6f6e 7369 6465 P engine conside\n+000f9d20: 7273 2051 4e61 6d65 2063 6f6e 7465 6e74 rs QName content\n+000f9d30: 2070 7265 6669 7865 7320 7574 696c 697a prefixes utiliz\n+000f9d40: 6564 2061 6e64 2074 6865 7265 666f 7265 ed and therefore\n+000f9d50: 2070 726f 6475 6365 7320 636f 7272 6563 produces correc\n+000f9d60: 7465 6420 6361 6e6f 6e69 6361 6c69 7a65 ted canonicalize\n+000f9d70: 6420 584d 4c20 6f75 7470 7574 2074 6861 d XML output tha\n+000f9d80: 7420 7072 6576 656e 7473 2074 6865 206c t prevents the l\n+000f9d90: 6f73 7320 6f66 206e 616d 6573 7061 6365 oss of namespace\n+000f9da0: 2069 6e66 6f72 6d61 7469 6f6e 2066 6f72 information for\n+000f9db0: 2051 4e61 6d65 732e 3c2f 703e 0a3c 703e QNames..SOAP H\n+000f9e20: 6561 6465 7220 7072 6f63 6573 7369 6e67 eader processing\n+000f9e30: 3c2f 6831 3e0a 3c70 3e41 2062 7569 6c74
.mustUnd\n-000fa4e0: 6572 7374 616e 643c 2f63 6f64 653e 2071 erstand
q\n-000fa4f0: 7561 6c69 6669 6572 2073 7065 6369 6669 ualifier specifi\n-000fa500: 6573 2074 6861 7420 7468 6520 656c 656d es that the elem\n-000fa510: 656e 7420 6d75 7374 2062 6520 7072 6f63 ent must be proc\n-000fa520: 6573 7365 6420 6279 2074 6865 2053 4f41 essed by the SOA\n-000fa530: 5020 7072 6f63 6573 736f 7220 616e 6420 P processor and \n-000fa540: 6361 6e6e 6f74 2062 6520 6967 6e6f 7265 cannot be ignore\n-000fa550: 6420 6966 2074 6865 2070 726f 6365 7373 d if the process\n-000fa560: 6f72 2068 6173 206e 6f20 6c6f 6769 6320 or has no logic \n-000fa570: 696e 2070 6c61 6365 2066 6f72 2074 6869 in place for thi\n-000fa580: 7320 534f 4150 2068 6561 6465 722c 2077 s SOAP header, w\n-000fa590: 6869 6368 2069 7320 646f 6e65 2062 7920 hich is done by \n-000fa5a0: 6164 6469 6e67 2061 203c 656d 3e3c 636f adding a t:trans\n-000fa600: 6163 7469 6f6e 3c2f 636f 6465 3e3c 2f65 action
element. The \n-000fa620: 736f 6170 6370 7032 2d67 656e 6572 6174 soapcpp2-generat\n-000fa630: 6564 2073 6572 6961 6c69 7a65 7273 206f ed serializers o\n-000fa640: 6265 7920 7468 6973 2073 6166 6574 7920 bey this safety \n-000fa650: 7072 696e 6369 706c 652e 3c2f 703e 0a3c principle.t__trans\n-000fa6c0: 6163 7469 6f6e 3c2f 636f 6465 3e2c 2061 action
, a\n-000fa6d0: 7320 6361 6e20 6265 2073 6565 6e20 696e s can be seen in\n-000fa6e0: 2074 6865 2067 656e 6572 6174 6564 2057 the generated W\n-000fa6f0: 5344 4c20 6269 6e64 696e 673a 3c2f 703e SDL binding:\n-000fa700: 0a3c 6469 7620 636c 6173 733d 2261 6c74 .binding<\n-000fafe0: 2f73 7061 6e3e 2667 743b 3c2f 6469 763e /span>>\n-000fb070: 2f2f 6773 6f61 7020 6e73 2073 6572 7669 //gsoap ns servi\n-000fb080: 6365 206d 6574 686f 642d 6865 6164 6572 ce method-header\n-000fb090: 2d70 6172 743a 3c2f 636f 6465 3e20 6f72 -part:
or\n-000fb0a0: 2074 6865 206f 7574 7075 7420 6d65 7373 the output mess\n-000fb0b0: 6167 6520 6861 7320 6120 6865 6164 6572 age has a header\n-000fb0c0: 2077 6974 6820 3c63 6f64 653e 2f2f 6773 with //gs\n-000fb0d0: 6f61 7020 6e73 2073 6572 7669 6365 206d oap ns service m\n-000fb0e0: 6574 686f 642d 6f75 7470 7574 2d68 6561 ethod-output-hea\n-000fb0f0: 6465 722d 7061 7274 3a3c 2f63 6f64 653e der-part:
\n-000fb100: 2e20 4d75 6c74 6970 6c65 2068 6561 6465 . Multiple heade\n-000fb110: 7273 2063 616e 2062 6520 7370 6563 6966 rs can be specif\n-000fb120: 6965 6420 7468 6973 2077 6179 2e3c 2f70 ied this way..t__trans\n-000fb180: 6163 7469 6f6e 3c2f 636f 6465 3e20 6d65 action
me\n-000fb190: 6d62 6572 3a3c 2f70 3e0a 3c64 6976 2063 mber:\n-000fc0b0: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap::he\n-000fc170: 6164 6572 3c2f 613e 3c2f 636f 6465 3e2e ader
.\n-000fc180: 3c2f 703e 0a3c 646c 2063 6c61 7373 3d22 soap::h\n-000fc2b0: 6561 6465 723c 2f61 3e3c 2f63 6f64 653e eader
\n-000fc2c0: 2074 6f20 4e55 4c4c 2077 6865 6e20 6e6f to NULL when no\n-000fc2d0: 2053 4f41 5020 4865 6164 6572 2073 686f SOAP Header sho\n-000fc2e0: 756c 6420 6265 2073 656e 742c 206f 7468 uld be sent, oth\n-000fc2f0: 6572 7769 7365 2061 6e79 2053 4f41 5020 erwise any SOAP \n-000fc300: 4865 6164 6572 7320 6375 7272 656e 746c Headers currentl\n-000fc310: 7920 7072 6573 656e 7420 696e 2074 6865 y present in the\n-000fc320: 203c 636f 6465 3e3c 6120 636c 6173 733d SOAP_ENV__Head\n-000fc390: 6572 3c2f 613e 3c2f 636f 6465 3e20 7374 er
st\n-000fc3a0: 7275 6374 2070 6f69 6e74 6564 2074 6f20 ruct pointed to \n-000fc3b0: 6279 203c 636f 6465 3e3c 6120 636c 6173 by soap::header
will be\n-000fc490: 2069 6e63 6c75 6465 6420 696e 2074 6865 included in the\n-000fc4a0: 206d 6573 7361 6765 2e3c 2f64 643e 3c2f message.SOAP-EN\n-000fc5e0: 563a 6163 746f 723c 2f63 6f64 653e 3c2f V:actor
\n-000fc5f0: 656d 3e20 6174 7472 6962 7574 652e 2054 em> attribute. T\n-000fc600: 6865 203c 656d 3e3c 636f 6465 3e53 4f41 he SOA\n-000fc610: 502d 454e 563a 6d75 7374 556e 6465 7273 P-ENV:mustUnders\n-000fc620: 7461 6e64 3d22 7472 7565 223c 2f63 6f64 tand=\"true\"
attribut\n-000fc640: 6520 7468 656e 2069 6e64 6963 6174 6573 e then indicates\n-000fc650: 2074 6865 2072 6571 7569 7265 6d65 6e74 the requirement\n-000fc660: 2074 6861 7420 7468 6520 7265 6369 7069 that the recipi\n-000fc670: 656e 7420 636f 7272 6573 706f 6e64 696e ent correspondin\n-000fc680: 6720 746f 2074 6865 203c 656d 3e3c 636f g to the SOAP_EN\n-000fc7e0: 565f 5f48 6561 6465 723c 2f61 3e3c 2f63 V__Header is declared\n-000fc800: 203c 636f 6465 3e6d 7574 6162 6c65 3c2f
mutable\n-000fc810: 636f 6465 3e2c 2077 6869 6368 206d 6561 code>, which mea\n-000fc820: 6e73 2074 6861 7420 7265 2d64 6563 6c61 ns that re-decla\n-000fc830: 7261 7469 6f6e 7320 6f66 2074 6865 2073 rations of the s\n-000fc840: 7472 7563 7475 7265 7320 6172 6520 7065 tructures are pe\n-000fc850: 726d 6974 7465 6420 616e 6420 6164 6469 rmitted and addi\n-000fc860: 7469 6f6e 616c 206d 656d 6265 7273 2061 tional members a\n-000fc870: 7265 2063 6f6c 6c65 6374 6564 2069 6e74 re collected int\n-000fc880: 6f20 6f6e 6520 6669 6e61 6c20 7374 7275 o one final stru\n-000fc890: 6374 7572 6520 6279 2074 6865 2073 6f61 cture by the soa\n-000fc8a0: 7063 7070 3220 746f 6f6c 2e3c 2f70 3e0a pcpp2 tool.
ns__\n-000fcc60: 7365 6172 6368 3c2f 636f 6465 3e20 7573 search
us\n-000fcc70: 6573 206f 6e6c 7920 7468 6520 6669 7273 es only the firs\n-000fcc80: 7420 6865 6164 6572 2070 6172 742c 2074 t header part, t\n-000fcc90: 6865 6e20 7468 6973 2069 7320 6465 636c hen this is decl\n-000fcca0: 6172 6564 2061 733a 3c2f 703e 0a3c 6469 ared as://gsoap ns\n+000fb060: 2073 6572 7669 6365 206d 6574 686f 642d service method-\n+000fb070: 6865 6164 6572 2d70 6172 743a 3c2f 636f header-part: or the outpu\n+000fb090: 7420 6d65 7373 6167 6520 6861 7320 6120 t message has a \n+000fb0a0: 6865 6164 6572 2077 6974 6820 3c63 6f64 header with
t_\n+000fb160: 5f74 7261 6e73 6163 7469 6f6e 3c2f 636f _transaction member:
number\n+000fbcd0: 7370 616e 3e26 6774 3b3c 2f64 6976 3e0a span>>so\n+000fc150: 6170 3a3a 6865 6164 6572 3c2f 613e 3c2f ap::header\n+000fc160: 636f 6465 3e2e 3c2f 703e 0a3c 646c 2063 code>.
.s\n+000fc290: 6f61 703a 3a68 6561 6465 723c 2f61 3e3c oap::header<\n+000fc2a0: 2f63 6f64 653e 2074 6f20 4e55 4c4c 2077 /code> to NULL w\n+000fc2b0: 6865 6e20 6e6f 2053 4f41 5020 4865 6164 hen no SOAP Head\n+000fc2c0: 6572 2073 686f 756c 6420 6265 2073 656e er should be sen\n+000fc2d0: 742c 206f 7468 6572 7769 7365 2061 6e79 t, otherwise any\n+000fc2e0: 2053 4f41 5020 4865 6164 6572 7320 6375 SOAP Headers cu\n+000fc2f0: 7272 656e 746c 7920 7072 6573 656e 7420 rrently present \n+000fc300: 696e 2074 6865 203c 636f 6465 3e3c 6120 in the
SOAP_ENV\n+000fc370: 5f5f 4865 6164 6572 3c2f 613e 3c2f 636f __Header struct point\n+000fc390: 6564 2074 6f20 6279 203c 636f 6465 3e3c ed to by
<\n+000fc3a0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+000fc3b0: 663d 2273 7472 7563 7473 6f61 702e 6874 f=\"structsoap.ht\n+000fc3c0: 6d6c 2361 6330 3931 6466 6534 6530 3162 ml#ac091dfe4e01b\n+000fc3d0: 3661 3038 3264 3931 3663 3338 3165 3730 6a082d916c381e70\n+000fc3e0: 3036 6261 2220 7469 746c 653d 2254 6865 06ba\" title=\"The\n+000fc3f0: 2073 6f61 703a 3a68 6561 6465 7220 706f soap::header po\n+000fc400: 696e 7473 2074 6f20 6120 534f 4150 5f45 ints to a SOAP_E\n+000fc410: 4e56 5f5f 4865 6164 6572 2073 7472 7563 NV__Header struc\n+000fc420: 7475 7265 2077 6974 6820 7468 6520 534f ture with the SO\n+000fc430: 4150 2048 6561 6465 7220 7468 6174 2077 AP Header that w\n+000fc440: 6173 2072 6563 6569 7665 6420 6f72 2074 as received or t\n+000fc450: 6861 2e2e 2e22 3e73 6f61 703a 3a68 6561 ha...\">soap::hea\n+000fc460: 6465 723c 2f61 3e3c 2f63 6f64 653e 2077 der
w\n+000fc470: 696c 6c20 6265 2069 6e63 6c75 6465 6420 ill be included \n+000fc480: 696e 2074 6865 206d 6573 7361 6765 2e3c in the message.<\n+000fc490: 2f64 643e 3c2f 646c 3e0a 3c70 3e41 7420 /dd>soap::actor\n+000fc580: 613e 3c2f 636f 6465 3e20 7374 7269 6e67 a>
string\n+000fc590: 2076 6172 6961 626c 6520 6361 6e20 6265 variable can be\n+000fc5a0: 2073 6574 2074 6f20 7365 7420 7468 6520 set to set the \n+000fc5b0: 534f 4150 203c 656d 3e3c 636f 6465 3e53 SOAP S\n+000fc5c0: 4f41 502d 454e 563a 6163 746f 723c 2f63 OAP-ENV:actor
attrib\n+000fc5e0: 7574 652e 2054 6865 203c 656d 3e3c 636f ute. The SOAP-EN\n+000fc680: 563a 6163 746f 723c 2f63 6f64 653e 3c2f V:actor
\n+000fc690: 656d 3e20 6174 7472 6962 7574 6520 7661 em> attribute va\n+000fc6a0: 6c75 6520 6973 2072 6573 706f 6e73 6962 lue is responsib\n+000fc6b0: 6c65 2074 6f20 7072 6f63 6573 7320 7468 le to process th\n+000fc6c0: 6520 534f 4150 2048 6561 6465 7220 656c e SOAP Header el\n+000fc6d0: 656d 656e 742e 2054 6865 2064 6574 6169 ement. The detai\n+000fc6e0: 6c73 206f 6620 7768 6963 6820 6361 6e20 ls of which can \n+000fc6f0: 6265 2066 6f75 6e64 2069 6e20 7468 6520 be found in the \n+000fc700: 534f 4150 2031 2e31 2f31 2e32 2073 7065 SOAP 1.1/1.2 spe\n+000fc710: 6369 6669 6361 7469 6f6e 7320 7468 6174 cifications that\n+000fc720: 2074 6865 2067 534f 4150 2074 6f6f 6c73 the gSOAP tools\n+000fc730: 2063 6f6e 666f 726d 2074 6f2e 3c2f 703e conform to.ns__logi\n+000fca80: 6e3c 2f63 6f64 653e 2075 7365 7320 626f n
uses bo\n+000fca90: 7468 2068 6561 6465 7220 7061 7274 7320 th header parts \n+000fcaa0: 2861 7420 6d6f 7374 292c 2074 6865 6e20 (at most), then \n+000fcab0: 7468 6973 2069 7320 6465 636c 6172 6564 this is declared\n+000fcac0: 2061 733a 3c2f 703e 0a3c 6469 7620 636c as:int ns__search(..\n+000fcd60: 2e29 3b3c 2f64 6976 3e0a 3c2f 6469 763e .);//gsoap ns s\n-000fd260: 6572 7669 6365 206d 6574 686f 642d 696e ervice method-in\n-000fd270: 7075 742d 6865 6164 6572 2d70 6172 743a put-header-part:\n-000fd280: 206c 6f67 696e 2068 5f5f 6175 7468 656e login h__authen\n-000fd290: 7469 6361 7469 6f6e 203c 2f73 7061 6e3e tication \n-000fd2a0: 3c2f 6469 763e 0a3c 6469 7620 636c 6173 .SOAP Fa\n-000fd530: 756c 7420 7072 6f63 6573 7369 6e67 3c2f ult processing\n-000fd540: 6831 3e0a 3c70 3e41 2062 7569 6c74 2d69 h1>.
struct UserAuth *h__a\n+000fd1e0: 7574 6865 6e74 6963 6174 696f 6e3b 203c uthentication; <\n+000fd1f0: 2f64 6976 3e0a 3c64 6976 2063 6c61 7373 /div>. ns__login(.\n+000fd3c0: 2e2e 293b 3c2f 6469 763e 0a3c 2f64 6976 ..);class\n-00100160: 636f 6465 3e20 666f 7220 7468 6520 3c63 code> for the
and add \n-001001f0: 6d65 7468 6f64 7320 666f 7220 636f 6e76 methods for conv\n-00100200: 656e 6965 6e63 652e 3c2f 703e 0a3c 703e enience.SOAP_\n-00100280: 454e 565f 5f44 6574 6169 6c3c 2f61 3e3c ENV__Detail<\n-00100290: 2f63 6f64 653e 2073 7472 7563 7475 7265 /code> structure\n-001002a0: 2063 616e 2062 6520 6368 616e 6765 6420 can be changed \n-001002b0: 746f 2074 6865 206e 6565 6473 206f 6620 to the needs of \n-001002c0: 5765 6220 7365 7276 6963 6520 6170 706c Web service appl\n-001002d0: 6963 6174 696f 6e20 746f 2063 6f6d 6d75 ication to commu\n-001002e0: 6e69 6361 7465 2073 7065 6369 6669 6320 nicate specific \n-001002f0: 6661 756c 7420 6461 7461 2073 7472 7563 fault data struc\n-00100300: 7475 7265 732c 2062 7574 2074 6869 7320 tures, but this \n-00100310: 6973 2067 656e 6572 616c 6c79 206e 6f74 is generally not\n-00100320: 206e 6563 6573 7361 7279 2062 6563 6175 necessary becau\n-00100330: 7365 2074 6865 2061 7070 6c69 6361 7469 se the applicati\n-00100340: 6f6e 2d73 7065 6369 6669 6320 534f 4150 on-specific SOAP\n-00100350: 2046 6175 6c74 2064 6574 6169 6c73 2063 Fault details c\n-00100360: 616e 2062 6520 7365 7269 616c 697a 6564 an be serialized\n-00100370: 2076 6961 2074 6865 203c 636f 6465 3e5f via the
_\n-00100380: 5f74 7970 653c 2f63 6f64 653e 2061 6e64 _type
and\n-00100390: 203c 636f 6465 3e66 6175 6c74 3c2f 636f fault members in t\n-001003b0: 6865 203c 636f 6465 3e3c 6120 636c 6173 he
SOAP_E\n-00100420: 4e56 5f5f 4465 7461 696c 3c2f 613e 3c2f NV__Detail\n-00100430: 636f 6465 3e20 6d65 6d62 6572 2c20 7365 code> member, se\n-00100440: 6520 5365 6374 696f 6e20 3c61 2063 6c61 e Section V\n-00100470: 6f69 6420 706f 696e 7465 7220 7365 7269 oid pointer seri\n-00100480: 616c 697a 6174 696f 6e3c 2f61 3e20 6f6e alization on\n-00100490: 2074 6865 2073 6572 6961 6c69 7a61 7469 the serializati\n-001004a0: 6f6e 206f 6620 6461 7461 2072 6566 6572 on of data refer\n-001004b0: 7265 6420 746f 2062 7920 3c63 6f64 653e red to by
\n-001004c0: 5f5f 7479 7065 3c2f 636f 6465 3e20 616e __type
an\n-001004d0: 6420 3c63 6f64 653e 6661 756c 743c 2f63 d fault.
soap_sender\n-001005e0: 5f66 6175 6c74 3c2f 613e 3c2f 636f 6465 _fault
or soap_\n-001006a0: 7265 6365 6976 6572 5f66 6175 6c74 3c2f receiver_fault\n-001006b0: 613e 3c2f 636f 6465 3e2c 2074 6865 6e20 a>
, then \n-001006c0: 7468 6520 534f 4150 2046 6175 6c74 2073 the SOAP Fault s\n-001006d0: 7472 7563 7475 7265 2069 7320 706f 7075 tructure is popu\n-001006e0: 6c61 7465 6420 616e 6420 3c63 6f64 653e lated and \n-001006f0: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap::fa\n-001007b0: 756c 743c 2f61 3e3c 2f63 6f64 653e 2070 ult
p\n-001007c0: 6f69 6e74 7320 746f 2074 6869 7320 534f oints to this SO\n-001007d0: 4150 2046 6175 6c74 2e20 5468 6520 534f AP Fault. The SO\n-001007e0: 4150 2046 6175 6c74 2069 7320 7365 6e74 AP Fault is sent\n-001007f0: 2074 6f20 7468 6520 636c 6965 6e74 2e20 to the client. \n-00100800: 5468 6520 636c 6965 6e74 2070 6f70 756c The client popul\n-00100810: 6174 6573 2061 2053 4f41 5020 4661 756c ates a SOAP Faul\n-00100820: 7420 7374 7275 6374 7572 6520 7468 6174 t structure that\n-00100830: 2063 6f6e 7461 696e 7320 7468 6520 534f contains the SO\n-00100840: 4150 2046 6175 6c74 206d 6573 7361 6765 AP Fault message\n-00100850: 2077 6974 6820 6465 7461 696c 732e 3c2f with details.\n-00100860: 703e 0a3c 703e 5365 7276 6572 2d73 6964 p>.<\n-00100890: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-001008a0: 663d 2267 726f 7570 5f5f 6772 6f75 705f f=\"group__group_\n-001008b0: 5f66 6175 6c74 2e68 746d 6c23 6761 6332 _fault.html#gac2\n-001008c0: 3063 3835 3639 3833 3330 3533 3331 3831 0c85698330533181\n-001008d0: 3936 6438 3938 6665 3235 3636 6166 2220 96d898fe2566af\" \n-001008e0: 7469 746c 653d 2253 6574 2053 4f41 5020 title=\"Set SOAP \n-001008f0: 312e 3120 636c 6965 6e74 2066 6175 6c74 1.1 client fault\n-00100900: 202f 2053 4f41 5020 312e 3220 7365 6e64 / SOAP 1.2 send\n-00100910: 6572 2066 6175 6c74 2073 7472 696e 6720 er fault string \n-00100920: 616e 6420 6465 7461 696c 2e22 3e73 6f61 and detail.\">soa\n-00100930: 705f 7365 6e64 6572 5f66 6175 6c74 3c2f p_sender_fault\n-00100940: 613e 3c2f 636f 6465 3e20 6f72 203c 636f a>
or soap_\n-00100ac0: 7365 6e64 6572 5f66 6175 6c74 3c2f 613e sender_fault\n-00100ad0: 3c2f 636f 6465 3e20 6361 6c6c 2073 686f
call sho\n-00100ae0: 756c 6420 6265 2075 7365 6420 746f 2069 uld be used to i\n-00100af0: 6e66 6f72 6d20 7468 6174 2074 6865 2073 nform that the s\n-00100b00: 656e 6465 7220 6973 2061 7420 6661 756c ender is at faul\n-00100b10: 7420 616e 6420 7468 6520 7365 6e64 6572 t and the sender\n-00100b20: 2028 636c 6965 6e74 2920 7368 6f75 6c64 (client) should\n-00100b30: 206e 6f74 2072 652d 7365 6e64 2074 6865 not re-send the\n-00100b40: 2072 6571 7565 7374 2e20 5468 6520 3c63 request. The void *fault; \n+000fe460: 3c73 7061 6e20 636c 6173 733d 2263 6f6d // pointer\n+000fe480: 2074 6f20 7468 6520 6661 756c 7420 6f62 to the fault ob\n+000fe490: 6a65 6374 2c20 6f72 204e 554c 4c20 3c2f ject, or NULL \n+000fe4a0: 7370 616e 3e3c 2f64 6976 3e0a 3c64 6976 span>SOAP_ENV__Faul\n+00100080: 743c 2f61 3e3c 2f63 6f64 653e 2061 7265 t
are\n+00100090: 2053 4f41 5020 312e 3120 7370 6563 6966 SOAP 1.1 specif\n+001000a0: 6963 2e20 5468 6520 6c61 7374 2066 6976 ic. The last fiv\n+001000b0: 6520 6d65 6d62 6572 7320 6172 6520 534f e members are SO\n+001000c0: 4150 2031 2e32 2073 7065 6369 6669 632e AP 1.2 specific.\n+001000d0: 2059 6f75 2063 616e 2072 6564 6566 696e You can redefin\n+001000e0: 6520 7468 6573 6520 7374 7275 6374 7572 e these structur\n+001000f0: 6573 2069 6e20 7468 6520 696e 7465 7266 es in the interf\n+00100100: 6163 6520 6865 6164 6572 2066 696c 6520 ace header file \n+00100110: 666f 7220 736f 6170 6370 7032 2e20 466f for soapcpp2. Fo\n+00100120: 7220 6578 616d 706c 652c 2079 6f75 2063 r example, you c\n+00100130: 616e 2075 7365 2061 203c 636f 6465 3e63 an use a c\n+00100140: 6c61 7373 3c2f 636f 6465 3e20 666f 7220 lass
for \n+00100150: 7468 6520 3c63 6f64 653e 3c61 2063 6c61 the SOAP_ENV__Fau\n+001001c0: 6c74 3c2f 613e 3c2f 636f 6465 3e20 616e lt
an\n+001001d0: 6420 6164 6420 6d65 7468 6f64 7320 666f d add methods fo\n+001001e0: 7220 636f 6e76 656e 6965 6e63 652e 3c2f r convenience.\n+001001f0: 703e 0a3c 703e 5468 6520 3c63 6f64 653e p>.\n+00100200: 3c61 2063 6c61 7373 3d22 656c 2220 6872 SOAP_ENV__Detai\n+00100270: 6c3c 2f61 3e3c 2f63 6f64 653e 2073 7472 l
str\n+00100280: 7563 7475 7265 2063 616e 2062 6520 6368 ucture can be ch\n+00100290: 616e 6765 6420 746f 2074 6865 206e 6565 anged to the nee\n+001002a0: 6473 206f 6620 5765 6220 7365 7276 6963 ds of Web servic\n+001002b0: 6520 6170 706c 6963 6174 696f 6e20 746f e application to\n+001002c0: 2063 6f6d 6d75 6e69 6361 7465 2073 7065 communicate spe\n+001002d0: 6369 6669 6320 6661 756c 7420 6461 7461 cific fault data\n+001002e0: 2073 7472 7563 7475 7265 732c 2062 7574 structures, but\n+001002f0: 2074 6869 7320 6973 2067 656e 6572 616c this is general\n+00100300: 6c79 206e 6f74 206e 6563 6573 7361 7279 ly not necessary\n+00100310: 2062 6563 6175 7365 2074 6865 2061 7070 because the app\n+00100320: 6c69 6361 7469 6f6e 2d73 7065 6369 6669 lication-specifi\n+00100330: 6320 534f 4150 2046 6175 6c74 2064 6574 c SOAP Fault det\n+00100340: 6169 6c73 2063 616e 2062 6520 7365 7269 ails can be seri\n+00100350: 616c 697a 6564 2076 6961 2074 6865 203c alized via the <\n+00100360: 636f 6465 3e5f 5f74 7970 653c 2f63 6f64 code>__type and fau\n+00100380: 6c74 3c2f 636f 6465 3e20 6d65 6d62 6572 lt
member\n+00100390: 7320 696e 2074 6865 203c 636f 6465 3e3c s in the <\n+001003a0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+001003b0: 663d 2273 7472 7563 745f 735f 6f5f 615f f=\"struct_s_o_a_\n+001003c0: 705f 5f5f 655f 6e5f 765f 5f5f 5f5f 6465 p___e_n_v_____de\n+001003d0: 7461 696c 2e68 746d 6c22 2074 6974 6c65 tail.html\" title\n+001003e0: 3d22 534f 4150 2046 6175 6c74 2044 6574 =\"SOAP Fault Det\n+001003f0: 6169 6c20 7374 7275 6374 7572 652e 223e ail structure.\">\n+00100400: 534f 4150 5f45 4e56 5f5f 4465 7461 696c SOAP_ENV__Detail\n+00100410: 3c2f 613e 3c2f 636f 6465 3e20 6d65 6d62
memb\n+00100420: 6572 2c20 7365 6520 5365 6374 696f 6e20 er, see Section \n+00100430: 3c61 2063 6c61 7373 3d22 656c 2220 6872 Void pointe\n+00100460: 7220 7365 7269 616c 697a 6174 696f 6e3c r serialization<\n+00100470: 2f61 3e20 6f6e 2074 6865 2073 6572 6961 /a> on the seria\n+00100480: 6c69 7a61 7469 6f6e 206f 6620 6461 7461 lization of data\n+00100490: 2072 6566 6572 7265 6420 746f 2062 7920 referred to by \n+001004a0: 3c63 6f64 653e 5f5f 7479 7065 3c2f 636f __type and
fa\n+001004c0: 756c 743c 2f63 6f64 653e 2e3c 2f70 3e0a ult
.soap_\n+001005c0: 7365 6e64 6572 5f66 6175 6c74 3c2f 613e sender_fault\n+001005d0: 3c2f 636f 6465 3e20 6f72 203c 636f 6465
or soap_receiver_f\n+00100690: 6175 6c74 3c2f 613e 3c2f 636f 6465 3e2c ault
,\n+001006a0: 2074 6865 6e20 7468 6520 534f 4150 2046 then the SOAP F\n+001006b0: 6175 6c74 2073 7472 7563 7475 7265 2069 ault structure i\n+001006c0: 7320 706f 7075 6c61 7465 6420 616e 6420 s populated and \n+001006d0: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 so\n+00100790: 6170 3a3a 6661 756c 743c 2f61 3e3c 2f63 ap::fault points to t\n+001007b0: 6869 7320 534f 4150 2046 6175 6c74 2e20 his SOAP Fault. \n+001007c0: 5468 6520 534f 4150 2046 6175 6c74 2069 The SOAP Fault i\n+001007d0: 7320 7365 6e74 2074 6f20 7468 6520 636c s sent to the cl\n+001007e0: 6965 6e74 2e20 5468 6520 636c 6965 6e74 ient. The client\n+001007f0: 2070 6f70 756c 6174 6573 2061 2053 4f41 populates a SOA\n+00100800: 5020 4661 756c 7420 7374 7275 6374 7572 P Fault structur\n+00100810: 6520 7468 6174 2063 6f6e 7461 696e 7320 e that contains \n+00100820: 7468 6520 534f 4150 2046 6175 6c74 206d the SOAP Fault m\n+00100830: 6573 7361 6765 2077 6974 6820 6465 7461 essage with deta\n+00100840: 696c 732e 3c2f 703e 0a3c 703e 5365 7276 ils.
soap_re\n+001009e0: 6365 6976 6572 5f66 6175 6c74 3c2f 613e ceiver_fault\n+001009f0: 3c2f 636f 6465 3e2e 2054 6865 203c 636f
. The soap_r\n+00100be0: 6563 6569 7665 725f 6661 756c 743c 2f61 eceiver_fault
call sh\n+00100c00: 6f75 6c64 2062 6520 7573 6564 2074 6f20 ould be used to \n+00100c10: 696e 6469 6361 7465 2061 2074 656d 706f indicate a tempo\n+00100c20: 7261 7279 2073 6572 7665 722d 7369 6465 rary server-side\n+00100c30: 2070 726f 626c 656d 2c20 736f 2061 2073 problem, so a s\n+00100c40: 656e 6465 7220 2863 6c69 656e 7429 2063 ender (client) c\n+00100c50: 616e 2072 652d 7365 6e64 2074 6865 2072 an re-send the r\n+00100c60: 6571 7565 7374 206c 6174 6572 2e20 466f equest later. Fo\n+00100c70: 7220 6578 616d 706c 653a 3c2f 703e 0a3c r example:// return fa\n-00100f30: 756c 7420 746f 2073 656e 6465 7220 3c2f ult to sender \n-00100f40: 7370 616e 3e3c 2f64 6976 3e0a 3c64 6976 span>"\n-00101590: 4572 726f 7220 6d65 7373 6167 6526 7175 Error message&qu\n-001015a0: 6f74 3b3c 2f73 7061 6e3e 2c20 4e55 4c4c ot;, NULL\n-001015b0: 293b 203c 2f64 6976 3e0a 3c64 6976 2063 ); //.\n+001013d0: 736f 6170 3a3a 6661 756c 743c 2f61 3e3c soap::fault<\n+001013e0: 2f63 6f64 653e 206d 656d 6265 7220 6f66 /code> member of\n+001013f0: 2074 6865 2063 7572 7265 6e74 2072 6566 the current ref\n+00101400: 6572 656e 6365 2074 6f20 7468 6520 636f erence to the co\n+00101410: 6e74 6578 7420 7769 7468 2061 7070 726f ntext with appro\n+00101420: 7072 6961 7465 2064 6174 6120 6173 736f priate data asso\n+00101430: 6369 6174 6564 2077 6974 6820 7468 6520 ciated with the \n+00101440: 6578 6365 7074 696f 6e20 616e 6420 6279 exception and by\n+00101450: 2072 6574 7572 6e69 6e67 2074 6865 2065 returning the e\n+00101460: 7272 6f72 203c 636f 6465 3e23 534f 4150 rror
#SOAP\n+00101470: 5f46 4155 4c54 3c2f 636f 6465 3e2e 2046 _FAULT
. F\n+00101480: 6f72 2065 7861 6d70 6c65 3a3c 2f70 3e0a or example:so\n-00102850: 6170 5f72 6563 6569 7665 725f 6661 756c ap_receiver_faul\n-00102860: 743c 2f61 3e3c 2f63 6f64 653e 2061 6c6c t
all\n-00102870: 6f63 6174 6573 2061 2066 6175 6c74 2073 ocates a fault s\n-00102880: 7472 7563 7420 7468 656e 2077 6520 7365 truct then we se\n-00102890: 7420 7468 6520 534f 4150 2046 6175 6c74 t the SOAP Fault\n-001028a0: 2064 6574 6169 6c73 2061 7320 7368 6f77 details as show\n-001028b0: 6e2e 3c2f 703e 0a3c 703e 4e6f 7465 2074 n..char*)"ter:Inval\n-00102cf0: 6964 4172 6773 2671 756f 743b 3c2f 7370 idArgs"; // a \n-00102d20: 514e 616d 6520 7661 6c75 653c 2f73 7061 QName valueSOAP-ENV\n-00103650: 3a53 7562 636f 6465 3c2f 7370 616e 3e26 :Subcode&\n-00103660: 6774 3b3c 2f64 6976 3e0a 3c64 6976 2063 gt;"\n-001037a0: 656e 2671 756f 743b 3c2f 7370 616e 3e26 en"&\n-001037b0: 6774 3b3c 7370 616e 2063 6c61 7373 3d22 gt;The reques\n-001037f0: 7465 643c 2f73 7061 6e3e 203c 7370 616e ted profile \n-00103820: 3c73 7061 6e20 636c 6173 733d 226b 6579 token Profile\n-00103860: 546f 6b65 6e3c 2f73 7061 6e3e 203c 7370 Token mut\n-00103a80: 6162 6c65 3c2f 636f 6465 3e2c 2077 6869 able
, whi\n-00103a90: 6368 206d 6561 6e73 2074 6861 7420 7265 ch means that re\n-00103aa0: 2d64 6563 6c61 7261 7469 6f6e 7320 6f66 -declarations of\n-00103ab0: 2074 6865 2073 7472 7563 7475 7265 7320 the structures \n-00103ac0: 6172 6520 7065 726d 6974 7465 6420 616e are permitted an\n-00103ad0: 6420 6164 6469 7469 6f6e 616c 206d 656d d additional mem\n-00103ae0: 6265 7273 2061 7265 2063 6f6c 6c65 6374 bers are collect\n-00103af0: 6564 2069 6e74 6f20 6f6e 6520 6669 6e61 ed into one fina\n-00103b00: 6c20 7374 7275 6374 7572 6520 6279 2074 l structure by t\n-00103b10: 6865 2073 6f61 7063 7070 3220 746f 6f6c he soapcpp2 tool\n-00103b20: 2e3c 2f70 3e0a 3c70 3e46 6f72 2061 6e20 .claim__f\n-00106f70: 6f72 6d3c 2f63 6f64 653e 2073 7472 7563 orm
struc\n-00106f80: 7420 6973 2064 6563 6c61 7265 6420 696e t is declared in\n-00106f90: 2074 6865 2069 6e74 6572 6661 6365 2068 the interface h\n-00106fa0: 6561 6465 7220 6669 6c65 2061 733a 3c2f eader file as:\n-00106fb0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.// return fr\n+001025d0: 6f6d 2073 6572 7669 6365 206f 7065 7261 om service opera\n+001025e0: 7469 6f6e 2063 616c 6c20 7769 7468 2074 tion call with t\n+001025f0: 6865 2066 6175 6c74 3c2f 7370 616e 3e3c he fault<\n+00102600: 2f64 6976 3e0a 3c64 6976 2063 6c61 7373 /div>.struct SO\n+00102a60: 4150 5f45 4e56 5f5f 436f 6465 3c2f 613e AP_ENV__Code\n+00102a70: 202a 7375 6263 6f64 6532 203d 2073 6f61 *subcode2 = soa\n+00102a80: 705f 6e65 775f 534f 4150 5f45 4e56 5f5f p_new_SOAP_ENV__\n+00102a90: 436f 6465 283c 6120 636c 6173 733d 2263 Code(soap\n+00102ac0: 3c2f 613e 293b 3c2f 6469 763e 0a3c 6469 );xml:lang=\n+00103780: 2671 756f 743b 656e 2671 756f 743b 3c2f "en"\n+00103790: 7370 616e 3e26 6774 3b3c 7370 616e 2063 span>>T\n+001037b0: 6865 3c2f 7370 616e 3e20 3c73 7061 6e20 he \n+001037d0: 7265 7175 6573 7465 643c 2f73 7061 6e3e requested\n+001037e0: 203c 7370 616e 2063 6c61 7373 3d22 6b65 profile\n+00103800: 7370 616e 3e20 3c73 7061 6e20 636c 6173 span> toke\n+00103820: 6e3c 2f73 7061 6e3e 203c 7370 616e 2063 n P\n+00103840: 726f 6669 6c65 546f 6b65 6e3c 2f73 7061 rofileToken does not\n+00103890: 7370 616e 3e20 3c73 7061 6e20 636c 6173 span> exis\n+001038b0: 742e 3c2f 7370 616e 3e26 6c74 3b2f 3c73 t.</SOAP-ENV\n+001038e0: 3a54 6578 743c 2f73 7061 6e3e 2667 743b :Text>\n+001038f0: 3c2f 6469 763e 0a3c 6469 7620 636c 6173 .MIME\n+00104160: 2061 7474 6163 686d 656e 7473 3c2f 6831 attachments
.\n+001046f0: 736f 6170 5f73 6574 5f6d 696d 655f 6174 soap_set_mime_at\n+00104700: 7461 6368 6d65 6e74 3c2f 613e 3c2f 636f tachment. The first f\n+00104720: 756e 6374 696f 6e20 6973 2066 6f72 2069 unction is for i\n+00104730: 6e69 7469 616c 697a 6174 696f 6e20 7075 nitialization pu\n+00104740: 7270 6f73 6573 2061 6e64 2074 6865 206c rposes and the l\n+00104750: 6174 7465 7220 6675 6e63 7469 6f6e 2069 atter function i\n+00104760: 7320 7573 6564 2074 6f20 7370 6563 6966 s used to specif\n+00104770: 7920 6d65 7461 2064 6174 6120 616e 6420 y meta data and \n+00104780: 636f 6e74 656e 7420 6461 7461 2066 6f72 content data for\n+00104790: 2065 6163 6820 6174 7461 6368 6d65 6e74 each attachment\n+001047a0: 2e3c 2f70 3e0a 3c70 3e53 6565 2061 6c73 .
.Send\n+00104880: 696e 6720 6120 636f 6c6c 6563 7469 6f6e ing a collection\n+00104890: 206f 6620 4d49 4d45 2061 7474 6163 686d of MIME attachm\n+001048a0: 656e 7473 2028 5377 4129 3c2f 6832 3e0a ents (SwA)
.\n+001048b0: 3c70 3e54 6865 2066 6f6c 6c6f 7769 6e67 .
.void soap_set_\n+001049d0: 6d69 6d65 2873 7472 7563 7420 736f 6170 mime(struct soap\n+001049e0: 202a 736f 6170 2c20 636f 6e73 7420 6368 *soap, const ch\n+001049f0: 6172 202a 626f 756e 6461 7279 2c20 636f ar *boundary, co\n+00104a00: 6e73 7420 6368 6172 202a 7374 6172 7429 nst char *start)\n+00104a10: 3c2f 613e 3c2f 636f 6465 3e20 5468 6973
This\n+00104a20: 2066 756e 6374 696f 6e20 656e 6162 6c65 function enable\n+00104a30: 7320 7365 6e64 696e 6720 4d49 4d45 2061 s sending MIME a\n+00104a40: 7474 6163 686d 656e 7473 2e20 5468 6973 ttachments. This\n+00104a50: 2066 756e 6374 696f 6e20 6973 2067 656e function is gen\n+00104a60: 6572 616c 6c79 206e 6f74 2072 6571 7569 erally not requi\n+00104a70: 7265 6420 7768 656e 2074 6865 2063 6f6e red when the con\n+00104a80: 7465 7874 2069 7320 696e 6974 6961 6c69 text is initiali\n+00104a90: 7a65 6420 7769 7468 203c 636f 6465 3e23 zed with #\n+00104aa0: 534f 4150 5f45 4e43 5f4d 494d 453c 2f63 SOAP_ENC_MIME, because MI\n+00104ac0: 4d45 2061 7474 6163 686d 656e 7473 2061 ME attachments a\n+00104ad0: 7265 2061 7574 6f6d 6174 6963 616c 6c79 re automatically\n+00104ae0: 2064 6574 6563 7465 6420 6173 203c 636f detected as
an\n+00104b80: 6420 3c63 6f64 653e 3c61 2063 6c61 7373 d _x\n+00104bf0: 6f70 5f5f 496e 636c 7564 653c 2f61 3e3c op__Include<\n+00104c00: 2f63 6f64 653e 2073 7472 7563 7475 7265 /code> structure\n+00104c10: 7320 696e 2074 6865 2064 6174 6120 746f s in the data to\n+00104c20: 2073 6572 6961 6c69 7a65 2061 7320 616e serialize as an\n+00104c30: 2058 4d4c 206d 6573 7361 6765 2077 6974 XML message wit\n+00104c40: 6820 7468 6520 6174 7461 6368 6d65 6e74 h the attachment\n+00104c50: 7320 6175 746f 6d61 7469 6361 6c6c 7920 s automatically \n+00104c60: 6164 6465 6420 6f72 204d 494d 4520 6174 added or MIME at\n+00104c70: 7461 6368 6d65 6e74 7320 6361 6e20 6265 tachments can be\n+00104c80: 2065 7870 6c69 6369 746c 7920 6164 6465 explicitly adde\n+00104c90: 6420 7769 7468 203c 636f 6465 3e3c 6120 d with
soap_set_mim\n+00104d30: 655f 6174 7461 6368 6d65 6e74 3c2f 613e e_attachment\n+00104d40: 3c2f 636f 6465 3e2e 2050 6172 616d 6574
. Paramet\n+00104d50: 6572 203c 636f 6465 3e62 6f75 6e64 6172 er boundar\n+00104d60: 793c 2f63 6f64 653e 2073 7065 6369 6669 y
specifi\n+00104d70: 6573 2061 204d 494d 4520 626f 756e 6461 es a MIME bounda\n+00104d80: 7279 2073 7472 696e 6720 6f72 204e 554c ry string or NUL\n+00104d90: 4c20 746f 2068 6176 6520 7468 6520 656e L to have the en\n+00104da0: 6769 6e65 2067 656e 6572 6174 6520 6120 gine generate a \n+00104db0: 4d49 4d45 2062 6f75 6e64 6172 7920 7374 MIME boundary st\n+00104dc0: 7269 6e67 2e20 5061 7261 6d65 7465 7220 ring. Parameter \n+00104dd0: 3c63 6f64 653e 7374 6172 743c 2f63 6f64 start specifies the\n+00104df0: 2073 7461 7274 2063 6f6e 7465 6e74 2049 start content I\n+00104e00: 4420 666f 7220 7468 6520 6669 7273 7420 D for the first \n+00104e10: 4d49 4d45 2062 6f64 7920 636f 6e74 6169 MIME body contai\n+00104e20: 6e69 6e67 2074 6865 2053 4f41 5020 6f72 ning the SOAP or\n+00104e30: 2058 4d4c 206d 6573 7361 6765 2e20 5768 XML message. Wh\n+00104e40: 656e 204e 554c 4c2c 2074 6865 2073 7461 en NULL, the sta\n+00104e50: 7274 2049 4420 6f66 2074 6865 2053 4f41 rt ID of the SOA\n+00104e60: 5020 6d65 7373 6167 6520 6973 203c 656d P message is
<SOAP-\n+00104e80: 454e 563a 456e 7665 6c6f 7065 2667 743b ENV:Envelope>\n+00104e90: 3c2f 636f 6465 3e3c 2f65 6d3e 2e3c 2f6c
..int\n+00104eb0: 2073 6f61 705f 7365 745f 6d69 6d65 5f61 soap_set_mime_a\n+00104ec0: 7474 6163 686d 656e 7428 7374 7275 6374 ttachment(struct\n+00104ed0: 2073 6f61 7020 2a73 6f61 702c 2063 6861 soap *soap, cha\n+00104ee0: 7220 2a70 7472 2c20 7369 7a65 5f74 2073 r *ptr, size_t s\n+00104ef0: 697a 652c 2065 6e75 6d20 736f 6170 5f6d ize, enum soap_m\n+00104f00: 696d 655f 656e 636f 6469 6e67 2065 6e63 ime_encoding enc\n+00104f10: 6f64 696e 672c 2063 6f6e 7374 2063 6861 oding, const cha\n+00104f20: 7220 2a74 7970 652c 2063 6f6e 7374 2063 r *type, const c\n+00104f30: 6861 7220 2a69 642c 2063 6f6e 7374 2063 har *id, const c\n+00104f40: 6861 7220 2a6c 6f63 6174 696f 6e2c 2063 har *location, c\n+00104f50: 6f6e 7374 2063 6861 7220 2a64 6573 6372 onst char *descr\n+00104f60: 6970 7469 6f6e 293c 2f63 6f64 653e 2054 iption)
T\n+00104f70: 6869 7320 6675 6e63 7469 6f6e 2061 6464 his function add\n+00104f80: 7320 6120 4d49 4d45 2061 7474 6163 686d s a MIME attachm\n+00104f90: 656e 7420 746f 2061 2053 4f41 502f 584d ent to a SOAP/XM\n+00104fa0: 4c20 6d65 7373 6167 6520 746f 2073 656e L message to sen\n+00104fb0: 642e 2054 6865 2073 7065 6369 6669 6564 d. The specified\n+00104fc0: 203c 636f 6465 3e70 7472 3c2f 636f 6465 ptr
points to the \n+00104fe0: 6461 7461 2074 6f20 7365 6e64 206f 6620 data to send of \n+00104ff0: 6c65 6e67 7468 2073 7065 6369 6669 6564 length specified\n+00105000: 2062 7920 3c63 6f64 653e 7369 7a65 3c2f by size\n+00105010: 636f 6465 3e2e 2054 6865 203c 636f 6465 code>. The
encoding
\n+00105030: 2070 6172 616d 6574 6572 2069 7320 6120 parameter is a \n+00105040: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 soap_mime\n+001050d0: 5f65 6e63 6f64 696e 673c 2f61 3e3c 2f63 _encoding value that \n+001050f0: 6973 2072 6563 6f6d 6d65 6e64 6564 2074 is recommended t\n+00105100: 6f20 6265 2073 7065 6369 6669 6564 2061 o be specified a\n+00105110: 7320 3c63 6f64 653e 2353 4f41 505f 4d49 s
#SOAP_MI\n+00105120: 4d45 5f4e 4f4e 453c 2f63 6f64 653e 2074 ME_NONE
t\n+00105130: 6f20 7370 6563 6966 7920 7468 6174 2074 o specify that t\n+00105140: 6865 204d 494d 4520 6461 7461 2063 6f6e he MIME data con\n+00105150: 7465 6e74 2069 7320 6e6f 7420 656e 636f tent is not enco\n+00105160: 6465 6420 696e 2061 6e79 2077 6179 2028 ded in any way (\n+00105170: 7468 6520 4d49 4d45 2061 7474 6163 686d the MIME attachm\n+00105180: 656e 7420 6675 6e63 7469 6f6e 2073 696d ent function sim\n+00105190: 706c 7920 636f 7069 6573 2074 6865 2072 ply copies the r\n+001051a0: 6177 2064 6174 6120 746f 2074 6865 204d aw data to the M\n+001051b0: 494d 4520 626c 6f63 6b20 7769 7468 6f75 IME block withou\n+001051c0: 7420 656e 636f 6469 6e67 292e 2054 6865 t encoding). The\n+001051d0: 203c 636f 6465 3e74 7970 653c 2f63 6f64 type parameter is \n+001051f0: 7265 7175 6972 6564 2061 6e64 2069 6e64 required and ind\n+00105200: 6963 6174 6573 2074 6865 204d 494d 4520 icates the MIME \n+00105210: 7479 7065 206f 6620 7468 6520 6461 7461 type of the data\n+00105220: 2c20 7375 6368 2061 7320 2269 6d61 6765 , such as \"image\n+00105230: 2f6a 7067 222e 2054 6865 203c 636f 6465 /jpg\". The
id
param\n+00105250: 6574 6572 2075 6e69 7175 656c 7920 6964 eter uniquely id\n+00105260: 656e 7469 6669 6573 2074 6865 2061 7474 entifies the att\n+00105270: 6163 686d 656e 7420 696e 2074 6865 206d achment in the m\n+00105280: 6573 7361 6765 2c20 7768 6963 6820 6361 essage, which ca\n+00105290: 6e20 6265 206f 6d69 7474 6564 2062 7920 n be omitted by \n+001052a0: 7370 6563 6966 7969 6e67 204e 554c 4c2e specifying NULL.\n+001052b0: 2054 6865 203c 636f 6465 3e6c 6f63 6174 The locat\n+001052c0: 696f 6e3c 2f63 6f64 653e 2070 6172 616d ion
param\n+001052d0: 6574 6572 2073 7065 6369 6669 6573 2061 eter specifies a\n+001052e0: 206c 6f63 6174 696f 6e20 7374 7269 6e67 location string\n+001052f0: 206f 7220 4e55 4c4c 2e20 5468 6520 3c63 or NULL. The #SOA\n+00105360: 505f 4f4b 3c2f 636f 6465 3e20 6f72 2061 P_OK
or a\n+00105370: 203c 636f 6465 3e3c 6120 636c 6173 733d soap_sta\n+00105430: 7475 733c 2f61 3e3c 2f63 6f64 653e 2065 tus
e\n+00105440: 7272 6f72 2063 6f64 652e 3c2f 6c69 3e0a rror code.void <\n+00105460: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+00105470: 663d 2267 726f 7570 5f5f 6772 6f75 705f f=\"group__group_\n+00105480: 5f6d 696d 652e 6874 6d6c 2367 6138 3163 _mime.html#ga81c\n+00105490: 6564 6232 3436 3730 6562 6461 3438 6137 edb24670ebda48a7\n+001054a0: 3936 3739 6434 3638 3232 3131 6622 2074 9679d4682211f\" t\n+001054b0: 6974 6c65 3d22 4469 7361 626c 6520 4d49 itle=\"Disable MI\n+001054c0: 4d45 2061 7474 6163 686d 656e 7473 2e22 ME attachments.\"\n+001054d0: 3e73 6f61 705f 636c 725f 6d69 6d65 2873 >soap_clr_mime(s\n+001054e0: 7472 7563 7420 736f 6170 202a 736f 6170 truct soap *soap\n+001054f0: 293c 2f61 3e3c 2f63 6f64 653e 2054 6869 )
Thi\n+00105500: 7320 6675 6e63 7469 6f6e 2064 6973 6162 s function disab\n+00105510: 6c65 7320 4d49 4d45 2061 7474 6163 686d les MIME attachm\n+00105520: 656e 7473 2073 7563 6820 6173 2061 6674 ents such as aft\n+00105530: 6572 2073 656e 6469 6e67 2061 206d 756c er sending a mul\n+00105540: 7469 7061 7274 2d72 656c 6174 6564 206d tipart-related m\n+00105550: 6573 7361 6765 2077 6974 6820 6174 7461 essage with atta\n+00105560: 6368 6d65 6e74 7320 746f 2073 7769 7463 chments to switc\n+00105570: 6820 6261 636b 2074 6f20 6e6f 6e2d 6d75 h back to non-mu\n+00105580: 6c74 6970 6172 742d 7265 6c61 7465 6420 ltipart-related \n+00105590: 6d65 7373 6167 696e 672c 2075 6e6c 6573 messaging, unles\n+001055a0: 7320 7468 6520 6461 7461 2074 6f20 7365 s the data to se\n+001055b0: 7269 616c 697a 6520 6173 2061 206d 6573 rialize as a mes\n+001055c0: 7361 6765 2063 6f6e 7461 696e 7320 6174 sage contains at\n+001055d0: 7461 6368 6d65 6e74 7320 7375 6368 2061 tachments such a\n+001055e0: 7320 3c63 6f64 653e 3c61 2063 6c61 7373 s xsd__base6\n+00105660: 3442 696e 6172 793c 2f61 3e3c 2f63 6f64 4Binary for MIME atta\n+00105680: 6368 6d65 6e74 7320 616e 6420 3c63 6f64 chments and
\n+00105710: 2066 6f72 204d 544f 4d20 6174 7461 6368 for MTOM attach\n+00105720: 6d65 6e74 732e 3c2f 6c69 3e0a 3c2f 756c ments.<\n+00105760: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+00105770: 663d 2267 726f 7570 5f5f 6772 6f75 705f f=\"group__group_\n+00105780: 5f6d 696d 652e 6874 6d6c 2367 6139 3138 _mime.html#ga918\n+00105790: 3065 3562 6136 3334 6232 3033 3035 6237 0e5ba634b20305b7\n+001057a0: 3535 6234 3130 3034 3564 3965 6522 2074 55b410045d9ee\" t\n+001057b0: 6974 6c65 3d22 456e 6162 6c65 204d 494d itle=\"Enable MIM\n+001057c0: 4520 6174 7461 6368 6d65 6e74 732e 223e E attachments.\">\n+001057d0: 736f 6170 5f73 6574 5f6d 696d 653c 2f61 soap_set_mime
, you ha\n+001057f0: 7665 2074 6f20 6d61 6b65 2073 7572 6520 ve to make sure \n+00105800: 7468 6520 626f 756e 6461 7279 2063 616e the boundary can\n+00105810: 6e6f 7420 6d61 7463 6820 616e 7920 7061 not match any pa\n+00105820: 7274 7320 6f66 2074 6865 206d 6573 7361 rts of the messa\n+00105830: 6765 2061 6e64 2061 7474 6163 686d 656e ge and attachmen\n+00105840: 7473 2074 6861 7420 796f 7520 6172 6520 ts that you are \n+00105850: 7365 6e64 696e 672c 2062 6563 6175 7365 sending, because\n+00105860: 2074 6865 2062 6f75 6e64 6172 7920 6465 the boundary de\n+00105870: 6c69 6e65 6174 6573 2074 6865 2061 7474 lineates the att\n+00105880: 6163 686d 656e 7473 2e3c 2f70 3e0a 3c70 achments.so\n+00105950: 6170 5f73 6574 5f6d 696d 655f 6174 7461 ap_set_mime_atta\n+00105960: 6368 6d65 6e74 3c2f 613e 3c2f 636f 6465 chment
is destroyed w\n+00105980: 6974 6820 3c63 6f64 653e 3c61 2063 6c61 ith so\n+00105a50: 6170 5f65 6e64 3c2f 613e 3c2f 636f 6465 ap_end
or when a mess\n+00105a70: 6167 6520 6973 2072 6563 6569 7665 642e age is received.\n+00105a80: 2054 6865 7265 666f 7265 2c20 6361 6c6c Therefore, call\n+00105a90: 203c 636f 6465 3e3c 6120 636c 6173 733d so\n+00105b20: 6170 5f73 6574 5f6d 696d 655f 6174 7461 ap_set_mime_atta\n+00105b30: 6368 6d65 6e74 3c2f 613e 3c2f 636f 6465 chment
to set attachm\n+00105b50: 656e 7473 2062 6566 6f72 6520 7365 6e64 ents before send\n+00105b60: 696e 6720 6120 6d65 7373 6167 652e 3c2f ing a message.\n+00105b70: 703e 0a3c 703e 5468 6520 666f 6c6c 6f77 p>.h\n+00105c50: 7265 663c 2f63 6f64 653e 3c2f 656d 3e20 ref
\n+00105c60: 6174 7472 6962 7574 6573 2e20 5468 6520 attributes. The \n+00105c70: 3c63 6f64 653e 7374 7275 6374 2063 6c61 struct cla\n+00105c80: 696d 5f5f 666f 726d 3c2f 636f 6465 3e20 im__form
\n+00105c90: 6461 7461 2074 7970 6520 696e 636c 7564 data type includ\n+00105ca0: 6573 2061 2064 6566 696e 6974 696f 6e20 es a definition \n+00105cb0: 6f66 2061 203c 636f 6465 3e68 7265 663c of a href<\n+00105cc0: 2f63 6f64 653e 2061 7474 7269 6275 7465 /code> attribute\n+00105cd0: 2066 6f72 2074 6869 7320 7075 7270 6f73 for this purpos\n+00105ce0: 652e 3c2f 703e 0a3c 6469 7620 636c 6173 e.
/* initializ\n+00105e80: 6520 616e 6420 656e 6162 6c65 204d 494d e and enable MIM\n+00105e90: 4520 2a2f 3c2f 7370 616e 3e20 3c2f 6469 E */ .if (soap_call_cla\n+00106550: 696d 5f5f 696e 7375 7261 6e63 655f 636c im__insurance_cl\n+00106560: 6169 6d5f 6175 746f 283c 6120 636c 6173 aim_auto(\n+00106590: 736f 6170 3c2f 613e 2c20 666f 726d 312c soap, form1,\n+001065a0: 2066 6f72 6d32 2c20 2e2e 2e29 2920 3c2f form2, ...)) \n+001065b0: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.h\n-001070e0: 7265 663c 2f63 6f64 653e 3c2f 656d 3e73 ref
s\n-001070f0: 2074 6f20 7468 6520 636c 6169 6d20 666f to the claim fo\n-00107100: 726d 7320 6174 7461 6368 6564 2e20 5468 rms attached. Th\n-00107110: 6520 7573 6520 6f66 203c 656d 3e3c 636f e use of hr\n-001071d0: 6566 3c2f 636f 6465 3e3c 2f65 6d3e 2077 ef
w\n-001071e0: 6974 6820 584f 5020 656c 656d 656e 7473 ith XOP elements\n-001071f0: 2e3c 2f70 3e0a 3c70 3e54 6f20 6173 736f .// add a HTM\n-00107620: 4c20 646f 6375 6d65 6e74 2028 6874 6d6c L document (html\n-00107630: 446f 6320 706f 696e 7473 2074 6f20 6461 Doc points to da\n-00107640: 7461 2c20 7768 6572 6520 7468 6520 4854 ta, where the HT\n-00107650: 4d4c 2064 6f63 2069 7320 7374 6f72 6564 ML doc is stored\n-00107660: 2069 6e20 636f 6d70 6c69 616e 6365 2077 in compliance w\n-00107670: 6974 6820 3762 6974 2065 6e63 6f64 696e ith 7bit encodin\n-00107680: 6720 5246 4332 3034 3529 203c 2f73 7061 g RFC2045) "\n-00107870: 266c 743b 636c 6169 6d30 3631 3430 3061 <claim061400a\n-00107880: 2e68 746d 6c40 636c 6169 6d69 6e67 2d69 .html@claiming-i\n-00107890: 742e 636f 6d26 6774 3b26 7175 6f74 3b3c t.com>"<\n-001078a0: 2f73 7061 6e3e 2c20 4e55 4c4c 2c20 4e55 /span>, NULL, NU\n-001078b0: 4c4c 2929 203c 2f64 6976 3e0a 3c64 6976 LL)) .Retrieving a c\n-00107da0: 6f6c 6c65 6374 696f 6e20 6f66 204d 494d ollection of MIM\n-00107db0: 452f 4d54 4f4d 2061 7474 6163 686d 656e E/MTOM attachmen\n-00107dc0: 7473 2028 5377 4129 3c2f 6832 3e0a 3c70 ts (SwA)
."\n-001084b0: 7369 7a65 2020 2020 2020 203d 2575 6c5c size =%ul\\\n-001084c0: 6e26 7175 6f74 3b3c 2f73 7061 6e3e 2c20 n", \n-001084d0: 6174 7461 6368 6d65 6e74 2d26 6774 3b3c attachment-><\n-001084e0: 6120 636c 6173 733d 2263 6f64 6522 2068 a class=\"code\" h\n-001084f0: 7265 663d 2273 7472 7563 7473 6f61 705f ref=\"structsoap_\n-00108500: 5f6d 756c 7469 7061 7274 2e68 746d 6c23 _multipart.html#\n-00108510: 6166 6334 6236 3966 3565 3961 6465 3635 afc4b69f5e9ade65\n-00108520: 3236 6232 3336 3831 6331 3035 6435 6361 26b23681c105d5ca\n-00108530: 3522 3e73 697a 653c 2f61 3e29 3b3c 2f64 5\">size);."\n-00108b00: 2671 756f 743b 3c2f 7370 616e 3e29 3b3c ");<\n+00107020: 6e65 223e 2020 4020 3c73 7061 6e20 636c ne\"> @ char *h\n+00107050: 7265 663b 203c 2f64 6976 3e0a 3c64 6976 ref; href or oth\n+00107120: 6572 2061 7474 7269 6275 7465 7320 666f er attributes fo\n+00107130: 7220 7265 6665 7272 696e 6720 746f 2074 r referring to t\n+00107140: 6865 204d 494d 4520 6174 7461 6368 6d65 he MIME attachme\n+00107150: 6e74 7320 6973 206f 7074 696f 6e61 6c20 nts is optional \n+00107160: 6163 636f 7264 696e 6720 746f 2074 6865 according to the\n+00107170: 2053 7741 2073 7461 6e64 6172 642e 204d SwA standard. M\n+00107180: 544f 4d20 6f6e 2074 6865 206f 7468 6572 TOM on the other\n+00107190: 2068 616e 6420 6d61 6e64 6174 6573 2074 hand mandates t\n+001071a0: 6865 2075 7365 206f 6620 3c65 6d3e 3c63 he use of
<\n+001071c0: 2f65 6d3e 2077 6974 6820 584f 5020 656c /em> with XOP el\n+001071d0: 656d 656e 7473 2e3c 2f70 3e0a 3c70 3e54 ements.// enable MI\n+001075c0: 4d45 3c2f 7370 616e 3e3c 2f64 6976 3e0a ME<\n+00107d50: 6120 636c 6173 733d 2261 6e63 686f 7222 a class=\"anchor\"\n+00107d60: 2069 643d 2253 5741 7265 6365 6976 696e id=\"SWAreceivin\n+00107d70: 6722 3e3c 2f61 3e0a 5265 7472 6965 7669 g\">.Retrievi\n+00107d80: 6e67 2061 2063 6f6c 6c65 6374 696f 6e20 ng a collection \n+00107d90: 6f66 204d 494d 452f 4d54 4f4d 2061 7474 of MIME/MTOM att\n+00107da0: 6163 686d 656e 7473 2028 5377 4129 3c2f achments (SwA)\n+00107db0: 6832 3e0a 3c70 3e4d 494d 4520 6174 7461 h2>.
soap<\n+00107e60: 2f63 6f64 653e 2063 6f6e 7465 7874 2e20 /code> context. \n+00107e70: 4166 7465 7220 7265 6365 6976 696e 6720 After receiving \n+00107e80: 6120 7365 7420 6f66 204d 494d 452f 4d54 a set of MIME/MT\n+00107e90: 4f4d 2061 7474 6163 686d 656e 7473 2c20 OM attachments, \n+00107ea0: 6569 7468 6572 2061 7420 7468 6520 636c either at the cl\n+00107eb0: 6965 6e74 2d73 6964 6520 6f72 2074 6865 ient-side or the\n+00107ec0: 2073 6572 7665 722d 7369 6465 2c20 7468 server-side, th\n+00107ed0: 6520 6c69 7374 206f 6620 4d49 4d45 2f4d e list of MIME/M\n+00107ee0: 544f 4d20 6174 7461 6368 6d65 6e74 7320 TOM attachments \n+00107ef0: 6361 6e20 6265 2074 7261 7665 7273 6564 can be traversed\n+00107f00: 2074 6f20 6578 7472 6163 7420 6d65 7461 to extract meta\n+00107f10: 2064 6174 6120 616e 6420 7468 6520 6174 data and the at\n+00107f20: 7461 6368 6d65 6e74 2063 6f6e 7465 6e74 tachment content\n+00107f30: 2e20 5468 6520 6669 7273 7420 6174 7461 . The first atta\n+00107f40: 6368 6d65 6e74 2069 6e20 7468 6520 636f chment in the co\n+00107f50: 6c6c 6563 7469 6f6e 206f 6620 4d49 4d45 llection of MIME\n+00107f60: 2f4d 544f 4d20 6174 7461 6368 6d65 6e74 /MTOM attachment\n+00107f70: 7320 616c 7761 7973 2063 6f6e 7461 696e s always contain\n+00107f80: 7320 6d65 7461 2064 6174 6120 6162 6f75 s meta data abou\n+00107f90: 7420 7468 6520 534f 4150 206d 6573 7361 t the SOAP messa\n+00107fa0: 6765 2069 7473 656c 6620 2862 6563 6175 ge itself (becau\n+00107fb0: 7365 2074 6865 2053 4f41 5020 6d65 7373 se the SOAP mess\n+00107fc0: 6167 6520 7761 7320 7072 6f63 6573 7365 age was processe\n+00107fd0: 6420 7468 6520 6174 7461 6368 6d65 6e74 d the attachment\n+00107fe0: 2064 6f65 7320 6e6f 7420 636f 6e74 6169 does not contai\n+00107ff0: 6e20 616e 7920 7573 6566 756c 2064 6174 n any useful dat\n+00108000: 6129 2e3c 2f70 3e0a 3c70 3e54 6f20 7472 a).
"\n+00108680: 2671 756f 743b 3c2f 7370 616e 3e29 3b3c ");<\n+00108690: 2f64 6976 3e0a 3c64 6976 2063 6c61 7373 /div>."\n+001087f0: 2671 756f 743b 3c2f 7370 616e 3e29 3b3c ");<\n+00108800: 2f64 6976 3e0a 3c64 6976 2063 6c61 7373 /div>.\n+0010a3c0: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap_unlink<\n+0010a490: 2f61 3e3c 2f63 6f64 653e 206f 6e20 7468 /a>
on th\n+0010a4a0: 6520 3c63 6f64 653e 7074 723c 2f63 6f64 e ptr
soap_multi\n+0010a540: 7061 7274 3c2f 613e 3c2f 636f 6465 3e20 part
\n+0010a550: 7374 7275 6374 2e20 5468 6520 3c63 6f64 struct. The .D\n+0010a6e0: 494d 4520 6174 7461 6368 6d65 6e74 733c IME attachments<\n+0010a6f0: 2f68 313e 0a3c 703e 4170 706c 6963 6174 /h1>.
#SOAP_M\n+0010a820: 4158 4449 4d45 5349 5a45 3c2f 636f 6465 AXDIMESIZE
. This limit ca\n+0010a840: 6e20 6265 2063 6861 6e67 6564 2061 7320 n be changed as \n+0010a850: 6e65 6564 6564 2e20 5769 7468 2073 7472 needed. With str\n+0010a860: 6561 6d69 6e67 2044 494d 4520 7573 696e eaming DIME usin\n+0010a870: 6720 6361 6c6c 6261 636b 2066 756e 6374 g callback funct\n+0010a880: 696f 6e73 2c20 6461 7461 2068 616e 646c ions, data handl\n+0010a890: 6572 7320 6172 6520 7573 6564 2074 6f20 ers are used to \n+0010a8a0: 7061 7373 2074 6865 2064 6174 6120 746f pass the data to\n+0010a8b0: 2061 6e64 2066 726f 6d20 6120 7265 736f and from a reso\n+0010a8c0: 7572 6365 2066 726f 6d20 7768 6963 6820 urce from which \n+0010a8d0: 746f 2066 6574 6368 2074 6865 2064 6174 to fetch the dat\n+0010a8e0: 6120 746f 2073 656e 6420 6f72 2064 6174 a to send or dat\n+0010a8f0: 6120 746f 2073 746f 7265 2c20 7375 6368 a to store, such\n+0010a900: 2061 7320 6120 6669 6c65 206f 7220 6465 as a file or de\n+0010a910: 7669 6365 2e20 5365 6520 5365 6374 696f vice. See Sectio\n+0010a920: 6e20 3c61 2063 6c61 7373 3d22 656c 2220 n \n+0010a950: 5374 7265 616d 696e 6720 4449 4d45 3c2f Streaming DIME\n+0010a960: 613e 202e 3c2f 703e 0a3c 703e 466f 7220 a> ..Se\n+0010ab20: 6e64 696e 6720 6120 636f 6c6c 6563 7469 nding a collecti\n+0010ab30: 6f6e 206f 6620 4449 4d45 2061 7474 6163 on of DIME attac\n+0010ab40: 686d 656e 7473 3c2f 6832 3e0a 3c70 3e54 hments
..
void soa\n+0010ad20: 705f 7365 745f 6469 6d65 2873 7472 7563 p_set_dime(struc\n+0010ad30: 7420 736f 6170 202a 736f 6170 293c 2f61 t soap *soap)
This fu\n+0010ad50: 6e63 7469 6f6e 2065 6e61 626c 6573 2073 nction enables s\n+0010ad60: 656e 6469 6e67 2044 494d 4520 6174 7461 ending DIME atta\n+0010ad70: 6368 6d65 6e74 732e 2054 6869 7320 6675 chments. This fu\n+0010ad80: 6e63 7469 6f6e 2069 7320 6765 6e65 7261 nction is genera\n+0010ad90: 6c6c 7920 6e6f 7420 7265 7175 6972 6564 lly not required\n+0010ada0: 2062 6563 6175 7365 2044 494d 4520 6174 because DIME at\n+0010adb0: 7461 6368 6d65 6e74 7320 6172 6520 6175 tachments are au\n+0010adc0: 746f 6d61 7469 6361 6c6c 7920 6465 7465 tomatically dete\n+0010add0: 6374 6564 2061 7320 3c63 6f64 653e 3c61 cted as xsd_\n+0010ae50: 5f62 6173 6536 3442 696e 6172 793c 2f61 _base64Binary
and s\n+0010b010: 6f61 705f 7365 745f 6469 6d65 5f61 7474 oap_set_dime_att\n+0010b020: 6163 686d 656e 743c 2f61 3e3c 2f63 6f64 achment
size. The
para\n+0010b1f0: 6d65 7465 7220 756e 6971 7565 6c79 2069 meter uniquely i\n+0010b200: 6465 6e74 6966 6965 7320 7468 6520 6174 dentifies the at\n+0010b210: 7461 6368 6d65 6e74 2069 6e20 7468 6520 tachment in the \n+0010b220: 6d65 7373 6167 652c 2077 6869 6368 2063 message, which c\n+0010b230: 616e 2062 6520 6f6d 6974 7465 6420 6279 an be omitted by\n+0010b240: 2073 7065 6369 6679 696e 6720 4e55 4c4c specifying NULL\n+0010b250: 2e20 5468 6520 3c63 6f64 653e 6f70 7469 . The ty\n+0010b190: 7065 3c2f 636f 6465 3e20 7061 7261 6d65 pe
parame\n+0010b1a0: 7465 7220 696e 6469 6361 7465 7320 7468 ter indicates th\n+0010b1b0: 6520 4d49 4d45 2074 7970 6520 6f66 2074 e MIME type of t\n+0010b1c0: 6865 2064 6174 6120 6f72 2063 616e 2062 he data or can b\n+0010b1d0: 6520 4e55 4c4c 2e20 5468 6520 3c63 6f64 e NULL. The opti\n+0010b260: 6f6e 3c2f 636f 6465 3e20 7061 7261 6d65 on
parame\n+0010b270: 7465 7220 6973 2061 6e20 6f70 7469 6f6e ter is an option\n+0010b280: 2073 7563 6820 6173 2061 2064 6573 6372 such as a descr\n+0010b290: 6970 7469 6f6e 206f 6620 7468 6520 6461 iption of the da\n+0010b2a0: 7461 2061 6e64 203c 636f 6465 3e6f 7074 ta and opt\n+0010b2b0: 7970 653c 2f63 6f64 653e 2069 7320 6120 ype
is a \n+0010b2c0: 7573 6572 2d64 6566 696e 6564 206f 7074 user-defined opt\n+0010b2d0: 696f 6e20 7479 7065 2028 6173 2070 6572 ion type (as per\n+0010b2e0: 2044 494d 4520 6f70 7469 6f6e 2073 7065 DIME option spe\n+0010b2f0: 6369 6669 6361 7469 6f6e 2066 6f72 6d61 cification forma\n+0010b300: 7429 2e20 5468 6520 3c63 6f64 653e 7074 t). The pt\n+0010b310: 723c 2f63 6f64 653e 2070 6172 616d 6574 r
paramet\n+0010b320: 6572 206d 7573 7420 6265 2070 6572 7369 er must be persi\n+0010b330: 7374 656e 742e 2054 6865 203c 636f 6465 stent. The ptr
para\n+0010b350: 6d65 7465 7220 7061 7373 6564 2074 6f20 meter passed to \n+0010b360: 7468 6973 2066 756e 6374 696f 6e20 6d75 this function mu\n+0010b370: 7374 2062 6520 7065 7273 6973 7465 6e74 st be persistent\n+0010b380: 2069 6e20 6d65 6d6f 7279 2075 6e74 696c in memory until\n+0010b390: 2074 6865 2061 7474 6163 686d 656e 7420 the attachment \n+0010b3a0: 7761 7320 7365 6e74 2e20 5265 7475 726e was sent. Return\n+0010b3b0: 7320 3c63 6f64 653e 2353 4f41 505f 4f4b s #SOAP_OK\n+0010b3c0: 3c2f 636f 6465 3e20 6f72 2061 203c 636f
or a void soa\n+0010b530: 705f 636c 725f 6469 6d65 2873 7472 7563 p_clr_dime(struc\n+0010b540: 7420 736f 6170 202a 736f 6170 293c 2f61 t soap *soap)
This fu\n+0010b560: 6e63 7469 6f6e 2064 6973 6162 6c65 7320 nction disables \n+0010b570: 4449 4d45 2061 7474 6163 686d 656e 7473 DIME attachments\n+0010b580: 2c20 756e 6c65 7373 2074 6865 2064 6174 , unless the dat\n+0010b590: 6120 746f 2073 6572 6961 6c69 7a65 2061 a to serialize a\n+0010b5a0: 7320 616e 2058 4d4c 206d 6573 7361 6765 s an XML message\n+0010b5b0: 2063 6f6e 7461 696e 7320 6174 7461 6368 contains attach\n+0010b5c0: 6d65 6e74 7320 6465 6669 6e65 6420 6279 ments defined by\n+0010b5d0: 203c 636f 6465 3e3c 6120 636c 6173 733d xsd__base64\n+0010b650: 4269 6e61 7279 3c2f 613e 3c2f 636f 6465 Binary
and _xop__Include<\n+0010b6e0: 2f61 3e3c 2f63 6f64 653e 2073 7472 7563 /a>
struc\n+0010b6f0: 7475 7265 732e 3c2f 6c69 3e0a 3c2f 756c tures..Retrieving\n+0010b980: 2061 2063 6f6c 6c65 6374 696f 6e20 6f66 a collection of\n+0010b990: 2044 494d 4520 6174 7461 6368 6d65 6e74 DIME attachment\n+0010b9a0: 733c 2f68 323e 0a3c 703e 4449 4d45 2061 s
.options
\n-0010cd40: 6d65 6d62 6572 2069 7320 6176 6169 6c61 member is availa\n-0010cd50: 626c 6520 6173 2077 656c 6c2c 2062 7574 ble as well, but\n-0010cd60: 206e 6f74 2073 686f 776e 2069 6e20 7468 not shown in th\n-0010cd70: 6520 636f 6465 2061 626f 7665 2e20 5468 e code above. Th\n-0010cd80: 6520 3c63 6f64 653e 6f70 7469 6f6e 733c e options<\n-0010cd90: 2f63 6f64 653e 2063 6f6e 7465 6e74 2069 /code> content i\n-0010cda0: 7320 666f 726d 6174 7465 6420 6163 636f s formatted acco\n-0010cdb0: 7264 696e 6720 746f 2074 6865 2044 494d rding to the DIM\n-0010cdc0: 4520 7370 6563 6966 6963 6174 696f 6e3a E specification:\n-0010cdd0: 2074 6865 2066 6972 7374 2074 776f 2062 the first two b\n-0010cde0: 7974 6573 2061 7265 2072 6573 6572 7665 ytes are reserve\n-0010cdf0: 6420 666f 7220 7468 6520 6f70 7469 6f6e d for the option\n-0010ce00: 2074 7970 652c 2074 6865 206e 6578 7420 type, the next \n-0010ce10: 7477 6f20 6279 7465 7320 7374 6f72 6520 two bytes store \n-0010ce20: 7468 6520 7369 7a65 206f 6620 7468 6520 the size of the \n-0010ce30: 6f70 7469 6f6e 2064 6174 612c 2066 6f6c option data, fol\n-0010ce40: 6c6f 7765 6420 6279 2074 6865 2028 6269 lowed by the (bi\n-0010ce50: 6e61 7279 2920 6f70 7469 6f6e 2064 6174 nary) option dat\n-0010ce60: 612e 3c2f 703e 0a3c 703e 4120 6361 6c6c a.
so\n-0010cf40: 6170 5f65 6e64 3c2f 613e 3c2f 636f 6465 ap_end
removes all of\n-0010cf60: 2074 6865 2072 6563 6569 7665 6420 4449 the received DI\n-0010cf70: 4d45 2064 6174 612e 2054 6f20 7072 6573 ME data. To pres\n-0010cf80: 6572 7665 2061 6e20 6174 7461 6368 6d65 erve an attachme\n-0010cf90: 6e74 2069 6e20 6d65 6d6f 7279 2c20 7573 nt in memory, us\n-0010cfa0: 6520 3c63 6f64 653e 3c61 2063 6c61 7373 e soap\n-0010d070: 5f75 6e6c 696e 6b3c 2f61 3e3c 2f63 6f64 _unlink on the
\n-0010d090: 7074 723c 2f63 6f64 653e 206d 656d 6265 ptr
membe\n-0010d0a0: 7220 6f66 2074 6865 203c 636f 6465 3e3c r of the <\n-0010d0b0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-0010d0c0: 663d 2273 7472 7563 7473 6f61 705f 5f6d f=\"structsoap__m\n-0010d0d0: 756c 7469 7061 7274 2e68 746d 6c22 2074 ultipart.html\" t\n-0010d0e0: 6974 6c65 3d22 4449 4d45 2f4d 494d 452f itle=\"DIME/MIME/\n-0010d0f0: 4d54 4f4d 2061 7474 6163 686d 656e 7420 MTOM attachment \n-0010d100: 6461 7461 2072 6563 6569 7665 6420 6279 data received by\n-0010d110: 2074 6865 2065 6e67 696e 652e 223e 736f the engine.\">so\n-0010d120: 6170 5f6d 756c 7469 7061 7274 3c2f 613e ap_multipart\n-0010d130: 3c2f 636f 6465 3e20 7374 7275 6374 2e20
struct. \n-0010d140: 5468 6520 3c63 6f64 653e 3c61 2063 6c61 The so\n-0010d210: 6170 5f75 6e6c 696e 6b3c 2f61 3e3c 2f63 ap_unlink function ca\n-0010d230: 6e20 6265 2075 7365 6420 746f 2070 7265 n be used to pre\n-0010d240: 7665 6e74 2064 6561 6c6c 6f63 6174 696f vent deallocatio\n-0010d250: 6e20 6f66 2064 6573 6572 6961 6c69 7a65 n of deserialize\n-0010d260: 6420 6461 7461 2e3c 2f70 3e0a 3c70 3ef0 d data.
.Ser\n-0010d2d0: 6961 6c69 7a69 6e67 2062 696e 6172 7920 ializing binary \n-0010d2e0: 6461 7461 2077 6974 6820 4449 4d45 2061 data with DIME a\n-0010d2f0: 7474 6163 686d 656e 7473 3c2f 6832 3e0a ttachments
.\n-0010d300: 3c70 3e42 696e 6172 7920 6461 7461 2073 xsd__base6\n-0010d3a0: 3442 696e 6172 793c 2f61 3e3c 2f63 6f64 4Binary and
xsd__hexBin\n-0010d430: 6172 793c 2f61 3e3c 2f63 6f64 653e 2074 ary
t\n-0010d440: 7970 6573 2063 616e 2062 6520 7365 7269 ypes can be seri\n-0010d450: 616c 697a 6564 2061 6e64 2064 6573 6572 alized and deser\n-0010d460: 6961 6c69 7a65 6420 6173 2044 494d 4520 ialized as DIME \n-0010d470: 6174 7461 6368 6d65 6e74 7320 7768 656e attachments when\n-0010d480: 206f 6e65 206f 7220 6d6f 7265 206f 6620 one or more of \n-0010d490: 7468 6520 6578 7472 6120 6d65 6d62 6572 the extra member\n-0010d4a0: 7320 3c63 6f64 653e 6964 3c2f 636f 6465 s id
, type, and
a\n-0010d620: 7320 6578 706c 6169 6e65 6420 696e 2074 s explained in t\n-0010d630: 6865 2070 7265 7669 6f75 7320 7365 6374 he previous sect\n-0010d640: 696f 6e2e 2054 6865 2073 6572 6961 6c69 ion. The seriali\n-0010d650: 7a61 7469 6f6e 2070 726f 6365 7373 2069 zation process i\n-0010d660: 7320 6175 746f 6d61 7465 6420 666f 7220 s automated for \n-0010d670: 534f 4150 2065 6e63 6f64 6564 206d 6573 SOAP encoded mes\n-0010d680: 7361 6765 7320 616e 6420 4449 4d45 2061 sages and DIME a\n-0010d690: 7474 6163 686d 656e 7473 2077 696c 6c20 ttachments will \n-0010d6a0: 6265 2073 656e 6420 6576 656e 2077 6865 be send even whe\n-0010d6b0: 6e20 3c63 6f64 653e 3c61 2063 6c61 7373 n \n-0010d4d0: 6f70 7469 6f6e 733c 2f63 6f64 653e 2061 options
a\n-0010d4e0: 7265 206e 6f6e 2d4e 554c 4c2e 2054 6865 re non-NULL. The\n-0010d4f0: 7365 2061 7474 6163 686d 656e 7473 2077 se attachments w\n-0010d500: 696c 6c20 6265 2061 7574 6f6d 6174 6963 ill be automatic\n-0010d510: 616c 6c79 2074 7261 6e73 6d69 7474 6564 ally transmitted\n-0010d520: 2070 7269 6f72 2074 6f20 7468 6520 7365 prior to the se\n-0010d530: 7175 656e 6365 206f 6620 7365 636f 6e64 quence of second\n-0010d540: 6172 7920 4449 4d45 2061 7474 6163 686d ary DIME attachm\n-0010d550: 656e 7473 2064 6566 696e 6564 2062 7920 ents defined by \n-0010d560: 7468 6520 7573 6572 2077 6974 6820 3c63 the user with soap_se\n-0010d730: 745f 6469 6d65 3c2f 613e 3c2f 636f 6465 t_dime
or soap_set_dime_\n-0010d7e0: 6174 7461 6368 6d65 6e74 3c2f 613e 3c2f attachment\n-0010d7f0: 636f 6465 3e20 6172 6520 6e6f 7420 7573 code> are not us\n-0010d800: 6564 2e20 466f 7220 6e6f 6e2d 534f 4150 ed. For non-SOAP\n-0010d810: 2d65 6e63 6f64 6564 206d 6573 7361 6765 -encoded message\n-0010d820: 7320 7375 6368 2061 7320 646f 6375 6d65 s such as docume\n-0010d830: 6e74 2f6c 6974 6572 616c 206d 6573 7361 nt/literal messa\n-0010d840: 6765 7320 796f 7520 6d75 7374 2073 7469 ges you must sti\n-0010d850: 6c6c 2063 616c 6c20 3c63 6f64 653e 3c61 ll call
s\n-0010d8d0: 6f61 705f 7365 745f 6469 6d65 3c2f 613e oap_set_dime\n-0010d8e0: 3c2f 636f 6465 3e20 746f 2065 6e61 626c
to enabl\n-0010d8f0: 6520 7365 6e64 696e 6720 6d65 7373 6167 e sending messag\n-0010d900: 6573 2077 6974 6820 6174 7461 6368 6d65 es with attachme\n-0010d910: 6e74 732e 3c2f 703e 0a3c 703e 546f 2065 nts.options\n+0010cd20: 636f 6465 3e20 6d65 6d62 6572 2069 7320 code> member is \n+0010cd30: 6176 6169 6c61 626c 6520 6173 2077 656c available as wel\n+0010cd40: 6c2c 2062 7574 206e 6f74 2073 686f 776e l, but not shown\n+0010cd50: 2069 6e20 7468 6520 636f 6465 2061 626f in the code abo\n+0010cd60: 7665 2e20 5468 6520 3c63 6f64 653e 6f70 ve. The
op\n+0010cd70: 7469 6f6e 733c 2f63 6f64 653e 2063 6f6e tions
con\n+0010cd80: 7465 6e74 2069 7320 666f 726d 6174 7465 tent is formatte\n+0010cd90: 6420 6163 636f 7264 696e 6720 746f 2074 d according to t\n+0010cda0: 6865 2044 494d 4520 7370 6563 6966 6963 he DIME specific\n+0010cdb0: 6174 696f 6e3a 2074 6865 2066 6972 7374 ation: the first\n+0010cdc0: 2074 776f 2062 7974 6573 2061 7265 2072 two bytes are r\n+0010cdd0: 6573 6572 7665 6420 666f 7220 7468 6520 eserved for the \n+0010cde0: 6f70 7469 6f6e 2074 7970 652c 2074 6865 option type, the\n+0010cdf0: 206e 6578 7420 7477 6f20 6279 7465 7320 next two bytes \n+0010ce00: 7374 6f72 6520 7468 6520 7369 7a65 206f store the size o\n+0010ce10: 6620 7468 6520 6f70 7469 6f6e 2064 6174 f the option dat\n+0010ce20: 612c 2066 6f6c 6c6f 7765 6420 6279 2074 a, followed by t\n+0010ce30: 6865 2028 6269 6e61 7279 2920 6f70 7469 he (binary) opti\n+0010ce40: 6f6e 2064 6174 612e 3c2f 703e 0a3c 703e on data.\n+0010ce60: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap_end\n+0010cf30: 3c2f 636f 6465 3e20 7265 6d6f 7665 7320
removes \n+0010cf40: 616c 6c20 6f66 2074 6865 2072 6563 6569 all of the recei\n+0010cf50: 7665 6420 4449 4d45 2064 6174 612e 2054 ved DIME data. T\n+0010cf60: 6f20 7072 6573 6572 7665 2061 6e20 6174 o preserve an at\n+0010cf70: 7461 6368 6d65 6e74 2069 6e20 6d65 6d6f tachment in memo\n+0010cf80: 7279 2c20 7573 6520 3c63 6f64 653e 3c61 ry, use soap_unlink
on the \n+0010d070: 3c63 6f64 653e 7074 723c 2f63 6f64 653e ptr
\n+0010d080: 206d 656d 6265 7220 6f66 2074 6865 203c member of the <\n+0010d090: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>soap_multipa\n+0010d110: 7274 3c2f 613e 3c2f 636f 6465 3e20 7374 rt st\n+0010d120: 7275 6374 2e20 5468 6520 3c63 6f64 653e ruct. The \n+0010d130: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap_unlink<\n+0010d200: 2f61 3e3c 2f63 6f64 653e 2066 756e 6374 /a>
funct\n+0010d210: 696f 6e20 6361 6e20 6265 2075 7365 6420 ion can be used \n+0010d220: 746f 2070 7265 7665 6e74 2064 6561 6c6c to prevent deall\n+0010d230: 6f63 6174 696f 6e20 6f66 2064 6573 6572 ocation of deser\n+0010d240: 6961 6c69 7a65 6420 6461 7461 2e3c 2f70 ialized data.\n+0010d2b0: 613e 0a53 6572 6961 6c69 7a69 6e67 2062 a>.Serializing b\n+0010d2c0: 696e 6172 7920 6461 7461 2077 6974 6820 inary data with \n+0010d2d0: 4449 4d45 2061 7474 6163 686d 656e 7473 DIME attachments\n+0010d2e0: 3c2f 6832 3e0a 3c70 3e42 696e 6172 7920
.xsd_\n+0010d380: 5f62 6173 6536 3442 696e 6172 793c 2f61 _base64Binary
and id\n+0010d490: 3c2f 636f 6465 3e2c 203c 636f 6465 3e74
, t\n+0010d4a0: 7970 653c 2f63 6f64 653e 2c20 616e 6420 ype
, and \n+0010d4b0: 3c63 6f64 653e 6f70 7469 6f6e 733c 2f63 options are non-NUL\n+0010d4d0: 4c2e 2054 6865 7365 2061 7474 6163 686d L. These attachm\n+0010d4e0: 656e 7473 2077 696c 6c20 6265 2061 7574 ents will be aut\n+0010d4f0: 6f6d 6174 6963 616c 6c79 2074 7261 6e73 omatically trans\n+0010d500: 6d69 7474 6564 2070 7269 6f72 2074 6f20 mitted prior to \n+0010d510: 7468 6520 7365 7175 656e 6365 206f 6620 the sequence of \n+0010d520: 7365 636f 6e64 6172 7920 4449 4d45 2061 secondary DIME a\n+0010d530: 7474 6163 686d 656e 7473 2064 6566 696e ttachments defin\n+0010d540: 6564 2062 7920 7468 6520 7573 6572 2077 ed by the user w\n+0010d550: 6974 6820 3c63 6f64 653e 3c61 2063 6c61 ith
soap_set_dime_a\n+0010d5f0: 7474 6163 686d 656e 743c 2f61 3e3c 2f63 ttachment as explaine\n+0010d610: 6420 696e 2074 6865 2070 7265 7669 6f75 d in the previou\n+0010d620: 7320 7365 6374 696f 6e2e 2054 6865 2073 s section. The s\n+0010d630: 6572 6961 6c69 7a61 7469 6f6e 2070 726f erialization pro\n+0010d640: 6365 7373 2069 7320 6175 746f 6d61 7465 cess is automate\n+0010d650: 6420 666f 7220 534f 4150 2065 6e63 6f64 d for SOAP encod\n+0010d660: 6564 206d 6573 7361 6765 7320 616e 6420 ed messages and \n+0010d670: 4449 4d45 2061 7474 6163 686d 656e 7473 DIME attachments\n+0010d680: 2077 696c 6c20 6265 2073 656e 6420 6576 will be send ev\n+0010d690: 656e 2077 6865 6e20 3c63 6f64 653e 3c61 en when
to\n+0010d8d0: 2065 6e61 626c 6520 7365 6e64 696e 6720 enable sending \n+0010d8e0: 6d65 7373 6167 6573 2077 6974 6820 6174 messages with at\n+0010d8f0: 7461 6368 6d65 6e74 732e 3c2f 703e 0a3c tachments.s\n+0010d710: 6f61 705f 7365 745f 6469 6d65 3c2f 613e oap_set_dime\n+0010d720: 3c2f 636f 6465 3e20 6f72 203c 636f 6465
or soap_set\n+0010d7c0: 5f64 696d 655f 6174 7461 6368 6d65 6e74 _dime_attachment\n+0010d7d0: 3c2f 613e 3c2f 636f 6465 3e20 6172 6520
are \n+0010d7e0: 6e6f 7420 7573 6564 2e20 466f 7220 6e6f not used. For no\n+0010d7f0: 6e2d 534f 4150 2d65 6e63 6f64 6564 206d n-SOAP-encoded m\n+0010d800: 6573 7361 6765 7320 7375 6368 2061 7320 essages such as \n+0010d810: 646f 6375 6d65 6e74 2f6c 6974 6572 616c document/literal\n+0010d820: 206d 6573 7361 6765 7320 796f 7520 6d75 messages you mu\n+0010d830: 7374 2073 7469 6c6c 2063 616c 6c20 3c63 st still call xsd__base6\n+0010d9e0: 3442 696e 6172 793c 2f61 3e3c 2f63 6f64 4Binary type with thr\n+0010da00: 6565 2061 6464 6974 696f 6e61 6c20 6d65 ee additional me\n+0010da10: 6d62 6572 733a 3c2f 703e 0a3c 6469 7620 mbers:.
id member is f\n-0010e380: 6f72 2061 7474 6163 686d 656e 7420 7265 or attachment re\n-0010e390: 6665 7265 6e63 696e 672c 2074 7970 6963 ferencing, typic\n-0010e3a0: 616c 6c79 2061 2063 6f6e 7465 6e74 2069 ally a content i\n-0010e3b0: 6420 2843 4944 2920 6f72 2061 2055 5549 d (CID) or a UUI\n-0010e3c0: 4420 7768 6963 6820 6361 6e20 6265 206f D which can be o\n-0010e3d0: 6274 6169 6e65 6420 7769 7468 203c 636f btained with
, a\n-0010e480: 203c 636f 6465 3e74 7970 653c 2f63 6f64 type member is use\n-0010e4a0: 6420 746f 2073 7065 6369 6679 2074 6865 d to specify the\n-0010e4b0: 204d 494d 4520 7479 7065 206f 6620 7468 MIME type of th\n-0010e4c0: 6520 6461 7461 2c20 7468 6520 3c63 6f64 e data, the
\n-0010e4e0: 206d 656d 6265 7220 6973 2075 7365 6420 member is used \n-0010e4f0: 746f 2070 6967 6779 2d62 6163 6b20 6164 to piggy-back ad\n-0010e500: 6469 7469 6f6e 616c 2069 6e66 6f72 6d61 ditional informa\n-0010e510: 7469 6f6e 2077 6974 6820 6120 4449 4d45 tion with a DIME\n-0010e520: 2061 7474 6163 686d 656e 742e 2054 6865 attachment. The\n-0010e530: 206f 7264 6572 206f 6620 7468 6520 6465 order of the de\n-0010e540: 636c 6172 6174 696f 6e20 6f66 2074 6865 claration of the\n-0010e550: 206d 656d 6265 7273 2069 7320 7369 676e members is sign\n-0010e560: 6966 6963 616e 742e 2049 6e20 6164 6469 ificant. In addi\n-0010e570: 7469 6f6e 2c20 6e6f 206f 7468 6572 206d tion, no other m\n-0010e580: 656d 6265 7273 206f 7220 6d65 7468 6f64 embers or method\n-0010e590: 7320 6d61 7920 6265 2064 6563 6c61 7265 s may be declare\n-0010e5a0: 6420 6265 666f 7265 2061 6e79 206f 6620 d before any of \n-0010e5b0: 7468 6573 6520 6d65 6d62 6572 7320 696e these members in\n-0010e5c0: 2074 6865 2073 7472 7563 742f 636c 6173 the struct/clas\n-0010e5d0: 732c 2062 7574 2061 6464 6974 696f 6e61 s, but additiona\n-0010e5e0: 6c20 6d65 6d62 6572 7320 616e 6420 6d65 l members and me\n-0010e5f0: 7468 6f64 7320 6d61 7920 6170 7065 6172 thods may appear\n-0010e600: 2061 6674 6572 2074 6865 206d 656d 6265 after the membe\n-0010e610: 7220 6465 636c 6172 6174 696f 6e73 2e20 r declarations. \n-0010e620: 5468 6520 6578 7465 6e64 6564 203c 636f The extended id
\n-0010e6e0: 2061 6e64 203c 636f 6465 3e74 7970 653c and type<\n-0010e6f0: 2f63 6f64 653e 206d 656d 6265 7273 2063 /code> members c\n-0010e700: 6f6e 7461 696e 2074 6578 742e 2054 6865 ontain text. The\n-0010e710: 2073 6574 2074 6865 2044 494d 452d 7370 set the DIME-sp\n-0010e720: 6563 6966 6963 206f 7074 696f 6e73 206d ecific options m\n-0010e730: 656d 6265 722c 2079 6f75 2063 616e 2075 ember, you can u\n-0010e740: 7365 2074 6865 203c 636f 6465 3e3c 6120 se the
soap\n-0010e7c0: 5f64 696d 655f 6f70 7469 6f6e 3c2f 613e _dime_option\n-0010e7d0: 3c2f 636f 6465 3e20 6675 6e63 7469 6f6e
function\n-0010e7e0: 203c 636f 6465 3e63 6861 7220 2a73 6f61 char *soa\n-0010e7f0: 705f 6469 6d65 5f6f 7074 696f 6e28 7374 p_dime_option(st\n-0010e800: 7275 6374 2073 6f61 7020 2a73 6f61 702c ruct soap *soap,\n-0010e810: 2075 6e73 6967 6e65 6420 7368 6f72 7420 unsigned short \n-0010e820: 7479 7065 2c20 636f 6e73 7420 6368 6172 type, const char\n-0010e830: 202a 6f70 7469 6f6e 293c 2f63 6f64 653e *option)
\n-0010e840: 2e3c 2f70 3e0a 3c70 3e54 6869 7320 6675 .id or
type\n-0010ed80: 3c2f 636f 6465 3e20 6d65 6d62 6572 2076
member v\n-0010ed90: 616c 7565 7320 6172 6520 6e6f 6e2d 4e55 alues are non-NU\n-0010eda0: 4c4c 2061 7420 7275 6e20 7469 6d65 2c20 LL at run time, \n-0010edb0: 7468 6520 6461 7461 2077 696c 6c20 6265 the data will be\n-0010edc0: 2073 6572 6961 6c69 7a65 6420 6173 2061 serialized as a\n-0010edd0: 2044 494d 4520 6174 7461 6368 6d65 6e74 DIME attachment\n-0010ede0: 2e3c 2f70 3e0a 3c70 3e54 6865 2053 4f41 .href attribu\n-0010ee40: 7465 732e 2054 6869 7320 6765 6e65 7261 tes. This genera\n-0010ee50: 6c6c 7920 776f 726b 7320 7769 6c6c 2077 lly works will w\n-0010ee60: 6974 6820 534f 4150 2052 5043 2065 6e63 ith SOAP RPC enc\n-0010ee70: 6f64 6564 206d 6573 7361 6769 6e67 2c20 oded messaging, \n-0010ee80: 6265 6361 7573 6520 3c65 6d3e 3c63 6f64 because
id
membe\n+0010e360: 7220 6973 2066 6f72 2061 7474 6163 686d r is for attachm\n+0010e370: 656e 7420 7265 6665 7265 6e63 696e 672c ent referencing,\n+0010e380: 2074 7970 6963 616c 6c79 2061 2063 6f6e typically a con\n+0010e390: 7465 6e74 2069 6420 2843 4944 2920 6f72 tent id (CID) or\n+0010e3a0: 2061 2055 5549 4420 7768 6963 6820 6361 a UUID which ca\n+0010e3b0: 6e20 6265 206f 6274 6169 6e65 6420 7769 n be obtained wi\n+0010e3c0: 7468 203c 636f 6465 3e3c 6120 636c 6173 th soap_r\n+0010e450: 616e 645f 7575 6964 3c2f 613e 3c2f 636f and_uuid, a
typ\n+0010e470: 653c 2f63 6f64 653e 206d 656d 6265 7220 e
member \n+0010e480: 6973 2075 7365 6420 746f 2073 7065 6369 is used to speci\n+0010e490: 6679 2074 6865 204d 494d 4520 7479 7065 fy the MIME type\n+0010e4a0: 206f 6620 7468 6520 6461 7461 2c20 7468 of the data, th\n+0010e4b0: 6520 3c63 6f64 653e 6f70 7469 6f6e 733c e options<\n+0010e4c0: 2f63 6f64 653e 206d 656d 6265 7220 6973 /code> member is\n+0010e4d0: 2075 7365 6420 746f 2070 6967 6779 2d62 used to piggy-b\n+0010e4e0: 6163 6b20 6164 6469 7469 6f6e 616c 2069 ack additional i\n+0010e4f0: 6e66 6f72 6d61 7469 6f6e 2077 6974 6820 nformation with \n+0010e500: 6120 4449 4d45 2061 7474 6163 686d 656e a DIME attachmen\n+0010e510: 742e 2054 6865 206f 7264 6572 206f 6620 t. The order of \n+0010e520: 7468 6520 6465 636c 6172 6174 696f 6e20 the declaration \n+0010e530: 6f66 2074 6865 206d 656d 6265 7273 2069 of the members i\n+0010e540: 7320 7369 676e 6966 6963 616e 742e 2049 s significant. I\n+0010e550: 6e20 6164 6469 7469 6f6e 2c20 6e6f 206f n addition, no o\n+0010e560: 7468 6572 206d 656d 6265 7273 206f 7220 ther members or \n+0010e570: 6d65 7468 6f64 7320 6d61 7920 6265 2064 methods may be d\n+0010e580: 6563 6c61 7265 6420 6265 666f 7265 2061 eclared before a\n+0010e590: 6e79 206f 6620 7468 6573 6520 6d65 6d62 ny of these memb\n+0010e5a0: 6572 7320 696e 2074 6865 2073 7472 7563 ers in the struc\n+0010e5b0: 742f 636c 6173 732c 2062 7574 2061 6464 t/class, but add\n+0010e5c0: 6974 696f 6e61 6c20 6d65 6d62 6572 7320 itional members \n+0010e5d0: 616e 6420 6d65 7468 6f64 7320 6d61 7920 and methods may \n+0010e5e0: 6170 7065 6172 2061 6674 6572 2074 6865 appear after the\n+0010e5f0: 206d 656d 6265 7220 6465 636c 6172 6174 member declarat\n+0010e600: 696f 6e73 2e20 5468 6520 6578 7465 6e64 ions. The extend\n+0010e610: 6564 203c 636f 6465 3e3c 6120 636c 6173 ed
xsd__hexBinary<\n+0010e690: 2f61 3e3c 2f63 6f64 653e 2074 7970 6520 /a>
type \n+0010e6a0: 6973 2073 696d 696c 6172 2e3c 2f70 3e0a is similar.id<\n+0010e6c0: 2f63 6f64 653e 2061 6e64 203c 636f 6465 /code> and
fu\n+0010e7c0: 6e63 7469 6f6e 203c 636f 6465 3e63 6861 nction type
mem\n+0010e6e0: 6265 7273 2063 6f6e 7461 696e 2074 6578 bers contain tex\n+0010e6f0: 742e 2054 6865 2073 6574 2074 6865 2044 t. The set the D\n+0010e700: 494d 452d 7370 6563 6966 6963 206f 7074 IME-specific opt\n+0010e710: 696f 6e73 206d 656d 6265 722c 2079 6f75 ions member, you\n+0010e720: 2063 616e 2075 7365 2074 6865 203c 636f can use the cha\n+0010e7d0: 7220 2a73 6f61 705f 6469 6d65 5f6f 7074 r *soap_dime_opt\n+0010e7e0: 696f 6e28 7374 7275 6374 2073 6f61 7020 ion(struct soap \n+0010e7f0: 2a73 6f61 702c 2075 6e73 6967 6e65 6420 *soap, unsigned \n+0010e800: 7368 6f72 7420 7479 7065 2c20 636f 6e73 short type, cons\n+0010e810: 7420 6368 6172 202a 6f70 7469 6f6e 293c t char *option)<\n+0010e820: 2f63 6f64 653e 2e3c 2f70 3e0a 3c70 3e54 /code>.
i\n+0010ed50: 643c 2f63 6f64 653e 206f 7220 3c63 6f64 d
or hr\n+0010ee10: 6566 3c2f 636f 6465 3e3c 2f65 6d3e 2061 ef
a\n+0010ee20: 7474 7269 6275 7465 732e 2054 6869 7320 ttributes. This \n+0010ee30: 6765 6e65 7261 6c6c 7920 776f 726b 7320 generally works \n+0010ee40: 7769 6c6c 2077 6974 6820 534f 4150 2052 will with SOAP R\n+0010ee50: 5043 2065 6e63 6f64 6564 206d 6573 7361 PC encoded messa\n+0010ee60: 6769 6e67 2c20 6265 6361 7573 6520 3c65 ging, because href attribu\n+0010ee90: 7465 7320 6172 6520 7065 726d 6974 7465 tes are permitte\n+0010eea0: 642e 2048 6f77 6576 6572 2c20 7769 7468 d. However, with\n+0010eeb0: 2064 6f63 756d 656e 742f 6c69 7465 7261 document/litera\n+0010eec0: 6c20 7374 796c 6520 7468 6520 7265 6665 l style the refe\n+0010eed0: 7265 6e63 696e 6720 6d65 6368 616e 6973 rencing mechanis\n+0010eee0: 6d20 6d75 7374 2062 6520 6578 706c 6963 m must be explic\n+0010eef0: 6974 6c79 2064 6566 696e 6564 2069 6e20 itly defined in \n+0010ef00: 7468 6520 7363 6865 6d61 206f 6620 7468 the schema of th\n+0010ef10: 6520 6269 6e61 7279 2074 7970 652e 2054 e binary type. T\n+0010ef20: 6865 7265 666f 7265 2c20 4d54 4f4d 2069 herefore, MTOM i\n+0010ef30: 7320 7468 6520 7072 6566 6572 7265 6420 s the preferred \n+0010ef40: 6174 7461 6368 6d65 6e74 206d 6563 6861 attachment mecha\n+0010ef50: 6e69 736d 2066 6f72 2064 6f63 756d 656e nism for documen\n+0010ef60: 742f 6c69 7465 7261 6c20 7374 796c 6520 t/literal style \n+0010ef70: 6d65 7373 6167 696e 672e 3c2f 703e 0a3c messaging.
char *id; href\n-0010f7c0: 636f 6465 3e3c 2f65 6d3e 2061 7474 7269 code>
attri\n-0010f7d0: 6275 7465 7320 666f 7220 7265 6665 7265 butes for refere\n-0010f7e0: 6e63 696e 672e 2057 6865 6e20 6120 6469 ncing. When a di\n-0010f7f0: 6666 6572 656e 7420 6174 7472 6962 7574 fferent attribut\n-0010f800: 6520 6973 2074 6f20 6265 2075 7365 642c e is to be used,\n-0010f810: 2074 6869 7320 6d75 7374 2062 6520 6578 this must be ex\n-0010f820: 706c 6963 6974 6c79 2064 6566 696e 6564 plicitly defined\n-0010f830: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 ://gsoap WSre\n-0010f880: 6620 7363 6865 6d61 2069 6d70 6f72 743a f schema import:\n-0010f890: 2068 7474 703a 2f2f 7363 6865 6d61 732e http://schemas.\n-0010f8a0: 786d 6c73 6f61 702e 6f72 672f 7773 2f32 xmlsoap.org/ws/2\n-0010f8b0: 3030 322f 3034 2f72 6566 6572 656e 6365 002/04/reference\n-0010f8c0: 2f20 3c2f 7370 616e 3e3c 2f64 6976 3e0a / char *type; xsd:bas\n+0010f740: 6536 3442 696e 6172 793c 2f63 6f64 653e e64Binary
\n+0010f750: 3c2f 656d 3e2c 2073 7563 6820 7468 6174 , such that\n+0010f760: 2074 6865 2064 6174 6120 6361 6e20 6265 the data can be\n+0010f770: 2073 6572 6961 6c69 7a65 6420 6173 2044 serialized as D\n+0010f780: 494d 4520 6174 7461 6368 6d65 6e74 7320 IME attachments \n+0010f790: 7573 696e 6720 3c65 6d3e 3c63 6f64 653e using \n+0010f7a0: 6872 6566 3c2f 636f 6465 3e3c 2f65 6d3e href
\n+0010f7b0: 2061 7474 7269 6275 7465 7320 666f 7220 attributes for \n+0010f7c0: 7265 6665 7265 6e63 696e 672e 2057 6865 referencing. Whe\n+0010f7d0: 6e20 6120 6469 6666 6572 656e 7420 6174 n a different at\n+0010f7e0: 7472 6962 7574 6520 6973 2074 6f20 6265 tribute is to be\n+0010f7f0: 2075 7365 642c 2074 6869 7320 6d75 7374 used, this must\n+0010f800: 2062 6520 6578 706c 6963 6974 6c79 2064 be explicitly d\n+0010f810: 6566 696e 6564 3a3c 2f70 3e0a 3c64 6976 efined:..Streamin\n-00110740: 6720 4449 4d45 3c2f 6832 3e0a 3c70 3e53 g DIME
..
.void *(*soap.fd\n-00110840: 696d 6572 6561 646f 7065 6e29 2873 7472 imereadopen)(str\n-00110850: 7563 7420 736f 6170 202a 736f 6170 2c20 uct soap *soap, \n-00110860: 766f 6964 202a 6861 6e64 6c65 2c20 636f void *handle, co\n-00110870: 6e73 7420 6368 6172 202a 6964 2c20 636f nst char *id, co\n-00110880: 6e73 7420 6368 6172 202a 7479 7065 2c20 nst char *type, \n-00110890: 636f 6e73 7420 6368 6172 202a 6f70 7469 const char *opti\n-001108a0: 6f6e 7329 3c2f 636f 6465 3e20 5468 6973 ons)
This\n-001108b0: 2063 616c 6c62 6163 6b20 6973 2063 616c callback is cal\n-001108c0: 6c65 6420 6279 2074 6865 2065 6e67 696e led by the engin\n-001108d0: 6520 746f 2073 7461 7274 2073 656e 6469 e to start sendi\n-001108e0: 6e67 2061 2073 7472 6561 6d69 6e67 2044 ng a streaming D\n-001108f0: 494d 4520 6174 7461 6368 6d65 6e74 2e20 IME attachment. \n-00110900: 5468 6973 2063 616c 6c62 6163 6b20 6f70 This callback op\n-00110910: 656e 7320 6120 7374 7265 616d 2074 6f20 ens a stream to \n-00110920: 7374 6172 7420 7265 6164 696e 6720 7468 start reading th\n-00110930: 6520 6174 7461 6368 6d65 6e74 2064 6174 e attachment dat\n-00110940: 6120 746f 2073 656e 642e 2054 6865 2061 a to send. The a\n-00110950: 6374 7561 6c20 6461 7461 2073 7472 6561 ctual data strea\n-00110960: 6d20 7769 6c6c 2062 6520 7265 6164 2069 m will be read i\n-00110970: 6e20 6368 756e 6b73 2075 7369 6e67 2074 n chunks using t\n-00110980: 6865 203c 636f 6465 3e3c 6120 636c 6173 he soap::f\n-00110a20: 6469 6d65 7265 6164 3c2f 613e 3c2f 636f dimeread callback unt\n-00110a40: 696c 206e 6f20 6d6f 7265 2064 6174 6120 il no more data \n-00110a50: 6973 2061 7661 696c 6162 6c65 2061 6e64 is available and\n-00110a60: 2074 6865 203c 636f 6465 3e3c 6120 636c the
parameter cont\n-00110b70: 6169 6e73 2074 6865 2076 616c 7565 206f ains the value o\n-00110b80: 6620 7468 6520 3c63 6f64 653e 5f5f 7074 f the soap::fdimerea\n-00110b10: 6463 6c6f 7365 3c2f 613e 3c2f 636f 6465 dclose
callback is ca\n-00110b30: 6c6c 6564 2074 6f20 636c 6f73 6520 7468 lled to close th\n-00110b40: 6520 7374 7265 616d 2e20 5468 6520 3c63 e stream. The __pt\n-00110b90: 723c 2f63 6f64 653e 206d 656d 6265 7220 r
member \n-00110ba0: 7661 7269 6162 6c65 206f 6620 7468 6520 variable of the \n-00110bb0: 6174 7461 6368 6d65 6e74 2073 7472 7563 attachment struc\n-00110bc0: 742f 636c 6173 7320 7769 7468 2064 6174 t/class with dat\n-00110bd0: 6120 2865 2e67 2e20 3c63 6f64 653e 3c61 a (e.g. xsd_\n-00110c50: 5f62 6173 6536 3442 696e 6172 793c 2f61 _base64Binary
or __pt\n-00110d00: 723c 2f63 6f64 653e 2c20 3c63 6f64 653e r
, \n-00110d10: 5f5f 7369 7a65 3c2f 636f 6465 3e2c 203c __size
, <\n-00110d20: 636f 6465 3e69 643c 2f63 6f64 653e 2c20 code>id, \n-00110d30: 3c63 6f64 653e 7479 7065 3c2f 636f 6465 type
and opti\n-00110d50: 6f6e 733c 2f63 6f64 653e 206d 656d 6265 ons
membe\n-00110d60: 7273 292c 2077 6869 6368 2073 686f 756c rs), which shoul\n-00110d70: 6420 6265 2061 2070 6f69 6e74 6572 2074 d be a pointer t\n-00110d80: 6f20 7370 6563 6966 6963 2069 6e66 6f72 o specific infor\n-00110d90: 6d61 7469 6f6e 2073 7563 6820 6173 2061 mation such as a\n-00110da0: 2066 696c 6520 6465 7363 7269 7074 6f72 file descriptor\n-00110db0: 206f 7220 6120 706f 696e 7465 7220 746f or a pointer to\n-00110dc0: 2061 2073 6f6d 6520 6170 706c 6963 6174 a some applicat\n-00110dd0: 696f 6e2d 7370 6563 6966 6963 2064 6174 ion-specific dat\n-00110de0: 6120 746f 2062 6520 7061 7373 6564 2074 a to be passed t\n-00110df0: 6f20 7468 6973 2063 616c 6c62 6163 6b2e o this callback.\n-00110e00: 2042 6f74 6820 7468 6520 3c63 6f64 653e Both the \n-00110e10: 5f5f 7074 723c 2f63 6f64 653e 2061 6e64 __ptr
and\n-00110e20: 203c 636f 6465 3e5f 5f73 697a 653c 2f63 __size members of \n-00110e40: 7468 6520 6174 7461 6368 6d65 6e74 2073 the attachment s\n-00110e50: 7472 7563 742f 636c 6173 7320 7368 6f75 truct/class shou\n-00110e60: 6c64 2068 6176 6520 6265 656e 2073 6574 ld have been set\n-00110e70: 2062 7920 7468 6520 6170 706c 6963 6174 by the applicat\n-00110e80: 696f 6e20 7072 696f 7220 746f 2074 6865 ion prior to the\n-00110e90: 2073 6572 6961 6c69 7a61 7469 6f6e 206f serialization o\n-00110ea0: 6620 7468 6520 6d65 7373 6167 6520 7769 f the message wi\n-00110eb0: 7468 2061 7474 6163 686d 656e 7473 2e20 th attachments. \n-00110ec0: 4966 2074 6865 203c 636f 6465 3e5f 5f73 If the
__s\n-00110ed0: 697a 653c 2f63 6f64 653e 2069 7320 7a65 ize
is ze\n-00110ee0: 726f 2061 6e64 2048 5454 5020 6368 756e ro and HTTP chun\n-00110ef0: 6b69 6e67 2069 7320 656e 6162 6c65 6420 king is enabled \n-00110f00: 2877 6974 6820 3c63 6f64 653e 2353 4f41 (with #SOA\n-00110f10: 505f 494f 5f43 4855 4e4b 3c2f 636f 6465 P_IO_CHUNK
), then chunked\n-00110f30: 2044 494d 4520 6174 7461 6368 6d65 6e74 DIME attachment\n-00110f40: 7320 6172 6520 7365 6e74 2c20 7365 6520 s are sent, see \n-00110f50: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 soap::fdim\n-00110ff0: 6572 6561 643c 2f61 3e3c 2f63 6f64 653e eread
\n-00111000: 2e20 5468 6520 3c63 6f64 653e 6964 3c2f . The id\n-00111010: 636f 6465 3e2c 203c 636f 6465 3e74 7970 code>,
parameters are\n-00111050: 2074 6865 203c 636f 6465 3e69 643c 2f63 the typ\n-00111020: 653c 2f63 6f64 653e 2061 6e64 203c 636f e
and id (optional I\n-00111070: 4429 2c20 3c63 6f64 653e 7479 7065 3c2f D),
type\n-00111080: 636f 6465 3e20 2861 204d 494d 4520 7479 code> (a MIME ty\n-00111090: 7065 2920 616e 6420 3c63 6f64 653e 6f70 pe) and
op\n-001110a0: 7469 6f6e 733c 2f63 6f64 653e 2028 4449 tions
(DI\n-001110b0: 4d45 206f 7074 696f 6e73 2061 7265 2073 ME options are s\n-001110c0: 6574 2077 6974 6820 3c63 6f64 653e 3c61 et with soa\n-00111140: 705f 6469 6d65 5f6f 7074 696f 6e3c 2f61 p_dime_option
) of the\n-00111160: 2061 7474 6163 686d 656e 7420 7374 7275 attachment stru\n-00111170: 6374 2f63 6c61 7373 2c20 7265 7370 6563 ct/class, respec\n-00111180: 7469 7665 6c79 2c20 6f66 2077 6869 6368 tively, of which\n-00111190: 2061 7420 6c65 6173 7420 6f6e 6520 6d65 at least one me\n-001111a0: 6d62 6572 2073 686f 756c 6420 6265 206e mber should be n\n-001111b0: 6f6e 2d4e 554c 4c2e 2054 6865 2063 616c on-NULL. The cal\n-001111c0: 6c62 6163 6b20 7368 6f75 6c64 2072 6574 lback should ret\n-001111d0: 7572 6e20 7468 6520 3c63 6f64 653e 6861 urn the ha\n-001111e0: 6e64 6c65 3c2f 636f 6465 3e20 7061 7261 ndle
para\n-001111f0: 6d65 7465 7220 7661 6c75 6520 6f72 2061 meter value or a\n-00111200: 6e6f 7468 6572 2070 6f69 6e74 6572 2076 nother pointer v\n-00111210: 616c 7565 2c20 7768 6963 6820 6973 2070 alue, which is p\n-00111220: 6173 7365 6420 6173 2074 6865 206e 6577 assed as the new\n-00111230: 203c 636f 6465 3e68 616e 646c 653c 2f63 handle parameter t\n-00111250: 6f20 3c63 6f64 653e 3c61 2063 6c61 7373 o
soap::fd\n-001112f0: 696d 6572 6561 643c 2f61 3e3c 2f63 6f64 imeread
soap::fdimer\n-001113b0: 6561 6463 6c6f 7365 3c2f 613e 3c2f 636f eadclose callbacks. W\n-001113d0: 6865 6e20 616e 2065 7272 6f72 206f 6363 hen an error occ\n-001113e0: 7572 7265 6420 696e 2074 6869 7320 6361 urred in this ca\n-001113f0: 6c6c 6261 636b 2c20 7468 6520 6361 6c6c llback, the call\n-00111400: 6261 636b 2073 686f 756c 6420 7265 7475 back should retu\n-00111410: 726e 204e 554c 4c20 616e 6420 7365 7420 rn NULL and set \n-00111420: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22
soap\n-001114d0: 3a3a 6572 726f 723c 2f61 3e3c 2f63 6f64 ::error to an error c\n-001114f0: 6f64 652c 2065 2e67 2e20 7573 696e 6720 ode, e.g. using \n-00111500: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22
soap_recei\n-001115b0: 7665 725f 6661 756c 743c 2f61 3e3c 2f63 ver_fault. The callba\n-001115d0: 636b 206d 6179 2072 6574 7572 6e20 4e55 ck may return NU\n-001115e0: 4c4c 2061 6e64 2073 6574 203c 636f 6465 LL and set
soap::err\n-001116a0: 6f72 3c2f 613e 3c2f 636f 6465 3e20 746f or
to\n-001116b0: 203c 636f 6465 3e23 534f 4150 5f4f 4b3c #SOAP_OK<\n-001116c0: 2f63 6f64 653e 2077 6865 6e20 7468 6973 /code> when this\n-001116d0: 2073 7065 6369 6669 6320 4449 4d45 2061 specific DIME a\n-001116e0: 7474 6163 686d 656e 7420 7368 6f75 6c64 ttachment should\n-001116f0: 206e 6f74 2074 6f20 6265 2073 7472 6561 not to be strea\n-00111700: 6d65 6420 616e 6420 7468 6520 656e 6769 med and the engi\n-00111710: 6e65 2077 696c 6c20 7369 6d70 6c79 2073 ne will simply s\n-00111720: 6b69 7020 6974 2e3c 2f6c 693e 0a3c 6c69 kip it.
size_t (*\n-00111740: 736f 6170 2e66 6469 6d65 7265 6164 2928 soap.fdimeread)(\n-00111750: 7374 7275 6374 2073 6f61 7020 2a73 6f61 struct soap *soa\n-00111760: 702c 2076 6f69 6420 2a68 616e 646c 652c p, void *handle,\n-00111770: 2063 6861 7220 2a62 7566 2c20 7369 7a65 char *buf, size\n-00111780: 5f74 206c 656e 293c 2f63 6f64 653e 2054 _t len)
T\n-00111790: 6869 7320 6361 6c6c 6261 636b 2069 7320 his callback is \n-001117a0: 6361 6c6c 6564 2062 7920 7468 6520 656e called by the en\n-001117b0: 6769 6e65 2074 6f20 7265 6164 2061 2063 gine to read a c\n-001117c0: 6875 6e6b 206f 6620 6174 7461 6368 6d65 hunk of attachme\n-001117d0: 6e74 2064 6174 6120 746f 2074 7261 6e73 nt data to trans\n-001117e0: 6d69 742e 2054 6865 203c 636f 6465 3e68 mit. The h\n-001117f0: 616e 646c 653c 2f63 6f64 653e 2070 6172 andle
par\n-00111800: 616d 6574 6572 2063 6f6e 7461 696e 7320 ameter contains \n-00111810: 7468 6520 6861 6e64 6c65 2072 6574 7572 the handle retur\n-00111820: 6e65 6420 6279 2074 6865 203c 636f 6465 ned by the soap::fd\n-001118d0: 696d 6572 6561 646f 7065 6e3c 2f61 3e3c imereadopen<\n-001118e0: 2f63 6f64 653e 2063 616c 6c62 6163 6b2e /code> callback.\n-001118f0: 2054 6865 203c 636f 6465 3e62 7566 3c2f The
buf\n-00111900: 636f 6465 3e20 7061 7261 6d65 7465 7220 code> parameter \n-00111910: 6973 2074 6865 2062 7566 6665 7220 6f66 is the buffer of\n-00111920: 206c 656e 6774 6820 3c63 6f64 653e 6c65 length
le\n-00111930: 6e3c 2f63 6f64 653e 2069 6e74 6f20 7768 n
into wh\n-00111940: 6963 6820 6120 6368 756e 6b20 6f66 2064 ich a chunk of d\n-00111950: 6174 6120 7368 6f75 6c64 2062 6520 7772 ata should be wr\n-00111960: 6974 7465 6e20 6279 2074 6865 2063 616c itten by the cal\n-00111970: 6c62 6163 6b2e 2054 6865 2061 6374 7561 lback. The actua\n-00111980: 6c20 616d 6f75 6e74 206f 6620 6461 7461 l amount of data\n-00111990: 2077 7269 7474 656e 2069 6e74 6f20 7468 written into th\n-001119a0: 6520 6275 6666 6572 206d 6179 2062 6520 e buffer may be \n-001119b0: 6c65 7373 2074 6861 6e20 3c63 6f64 653e less than \n-001119c0: 6c65 6e3c 2f63 6f64 653e 2061 6e64 2074 len
and t\n-001119d0: 6869 7320 6163 7475 616c 2061 6d6f 756e his actual amoun\n-001119e0: 7420 7368 6f75 6c64 2062 6520 7265 7475 t should be retu\n-001119f0: 726e 6564 2062 7920 7468 6520 6361 6c6c rned by the call\n-00111a00: 6261 636b 2e20 4120 7265 7475 726e 2076 back. A return v\n-00111a10: 616c 7565 206f 6620 7a65 726f 2069 6e64 alue of zero ind\n-00111a20: 6963 6174 6573 2061 6e20 6572 726f 7220 icates an error \n-00111a30: 616e 6420 3c63 6f64 653e 3c61 2063 6c61 and \n-00111ae0: 736f 6170 3a3a 6572 726f 723c 2f61 3e3c soap::error<\n-00111af0: 2f63 6f64 653e 2073 686f 756c 6420 6265 /code> should be\n-00111b00: 2073 6574 2e20 5468 6520 3c63 6f64 653e set. The
or\n-00111bf0: 203c 636f 6465 3e3c 6120 636c 6173 733d \n-00111b10: 5f5f 7369 7a65 3c2f 636f 6465 3e20 6d65 __size
me\n-00111b20: 6d62 6572 2076 6172 6961 626c 6520 6f66 mber variable of\n-00111b30: 2074 6865 2061 7474 6163 686d 656e 7420 the attachment \n-00111b40: 7374 7275 6374 2f63 6c61 7373 2077 6974 struct/class wit\n-00111b50: 6820 6461 7461 2028 652e 672e 203c 636f h data (e.g. _xo\n-00111c60: 705f 5f49 6e63 6c75 6465 3c2f 613e 3c2f p__Include\n-00111c70: 636f 6465 3e20 7769 7468 203c 636f 6465 code> with
__ptr
, <\n-00111c90: 636f 6465 3e5f 5f73 697a 653c 2f63 6f64 code>__size, id,
type<\n-00111cc0: 2f63 6f64 653e 2061 6e64 203c 636f 6465 /code> and
options
\n-00111ce0: 6d65 6d62 6572 7329 2073 686f 756c 6420 members) should \n-00111cf0: 6265 2073 6574 2062 7920 7468 6520 6170 be set by the ap\n-00111d00: 706c 6963 6174 696f 6e20 7072 696f 7220 plication prior \n-00111d10: 746f 2074 6865 2073 6572 6961 6c69 7a61 to the serializa\n-00111d20: 7469 6f6e 206f 6620 7468 6520 6d65 7373 tion of the mess\n-00111d30: 6167 6520 7769 7468 2061 7474 6163 686d age with attachm\n-00111d40: 656e 7473 2e20 5468 6520 7661 6c75 6520 ents. The value \n-00111d50: 6f66 203c 636f 6465 3e5f 5f73 697a 653c of __size<\n-00111d60: 2f63 6f64 653e 2069 6e64 6963 6174 6573 /code> indicates\n-00111d70: 2074 6865 2074 6f74 616c 2073 697a 6520 the total size \n-00111d80: 6f66 2074 6865 2061 7474 6163 686d 656e of the attachmen\n-00111d90: 7420 6461 7461 2074 6f20 6265 2074 7261 t data to be tra\n-00111da0: 6e73 6d69 7474 6564 2e20 4966 2074 6865 nsmitted. If the\n-00111db0: 203c 636f 6465 3e5f 5f73 697a 653c 2f63
__size member vari\n-00111dd0: 6162 6c65 2069 7320 7a65 726f 2061 6e64 able is zero and\n-00111de0: 2048 5454 5020 6368 756e 6b69 6e67 2069 HTTP chunking i\n-00111df0: 7320 656e 6162 6c65 6420 2877 6974 6820 s enabled (with \n-00111e00: 3c63 6f64 653e 2353 4f41 505f 494f 5f43
#SOAP_IO_C\n-00111e10: 4855 4e4b 3c2f 636f 6465 3e29 2c20 7468 HUNK
), th\n-00111e20: 656e 2044 494d 4520 6368 756e 6b65 6420 en DIME chunked \n-00111e30: 7472 616e 7366 6572 7320 6172 6520 6163 transfers are ac\n-00111e40: 7469 7661 7465 6420 6279 2074 6865 2065 tivated by the e\n-00111e50: 6e67 696e 652c 2077 6869 6368 2069 7320 ngine, which is \n-00111e60: 6d6f 7265 2066 6c65 7869 626c 6520 7369 more flexible si\n-00111e70: 6e63 6520 7468 6520 6174 7461 6368 6d65 nce the attachme\n-00111e80: 6e74 2064 6174 6120 7369 7a65 2064 6f65 nt data size doe\n-00111e90: 7320 6e6f 7420 6e65 6564 2074 6f20 6265 s not need to be\n-00111ea0: 2064 6574 6572 6d69 6e65 6420 696e 2061 determined in a\n-00111eb0: 6476 616e 6365 2e20 546f 2075 7365 2044 dvance. To use D\n-00111ec0: 494d 4520 6368 756e 6b65 6420 7472 616e IME chunked tran\n-00111ed0: 7366 6572 732c 2065 6e61 626c 6520 4854 sfers, enable HT\n-00111ee0: 5450 2063 6875 6e6b 696e 6720 7769 7468 TP chunking with\n-00111ef0: 203c 636f 6465 3e23 534f 4150 5f49 4f5f #SOAP_IO_\n-00111f00: 4348 554e 4b3c 2f63 6f64 653e 2028 616c CHUNK
(al\n-00111f10: 736f 203c 636f 6465 3e23 534f 4150 5f49 so #SOAP_I\n-00111f20: 4f5f 5354 4f52 453c 2f63 6f64 653e 2063 O_STORE
c\n-00111f30: 616e 2062 6520 7573 6564 2c20 6275 7420 an be used, but \n-00111f40: 7468 6973 2062 7566 6665 7273 2074 6865 this buffers the\n-00111f50: 2065 6e74 6972 6520 6d65 7373 6167 6520 entire message \n-00111f60: 696e 206d 656d 6f72 7920 6265 666f 7265 in memory before\n-00111f70: 2074 7261 6e73 6d69 7373 696f 6e29 2061 transmission) a\n-00111f80: 6e64 2073 6574 2074 6865 203c 636f 6465 nd set the __size
m\n-00111fa0: 656d 6265 7220 7661 7269 6162 6c65 206f ember variable o\n-00111fb0: 6620 7468 6520 6174 7461 6368 6d65 6e74 f the attachment\n-00111fc0: 2073 7472 7563 742f 636c 6173 7320 746f struct/class to\n-00111fd0: 207a 6572 6f2e 2057 6865 6e20 4449 4d45 zero. When DIME\n-00111fe0: 2061 7474 6163 686d 656e 7420 6368 756e attachment chun\n-00111ff0: 6b69 6e67 2069 7320 656e 6162 6c65 642c king is enabled,\n-00112000: 2074 6869 7320 6361 6c6c 6261 636b 2073 this callback s\n-00112010: 686f 756c 6420 636f 6d70 6c65 7465 6c79 hould completely\n-00112020: 2066 696c 6c20 7468 6520 3c63 6f64 653e fill the \n-00112030: 6275 663c 2f63 6f64 653e 2062 7566 6665 buf
buffe\n-00112040: 7220 7769 7468 203c 636f 6465 3e6c 656e r with len\n-00112050: 3c2f 636f 6465 3e20 6279 7465 7320 756e
bytes un\n-00112060: 6c65 7373 2074 6865 206c 6173 7420 6461 less the last da\n-00112070: 7461 2063 6875 6e6b 2069 7320 7265 6163 ta chunk is reac\n-00112080: 6865 6420 616e 6420 6665 7765 7220 6279 hed and fewer by\n-00112090: 7465 7320 6172 6520 7265 7475 726e 6564 tes are returned\n-001120a0: 2e3c 2f6c 693e 0a3c 6c69 3e3c 636f 6465 .void (*soap.fdi\n-001120c0: 6d65 7265 6164 636c 6f73 6529 2873 7472 mereadclose)(str\n-001120d0: 7563 7420 736f 6170 202a 736f 6170 2c20 uct soap *soap, \n-001120e0: 766f 6964 202a 6861 6e64 6c65 293c 2f63 void *handle) This callba\n-00112100: 636b 2069 7320 6361 6c6c 6564 2062 7920 ck is called by \n-00112110: 7468 6520 656e 6769 6e65 2074 6f20 636c the engine to cl\n-00112120: 6f73 6520 7468 6520 4449 4d45 2061 7474 ose the DIME att\n-00112130: 6163 686d 656e 7420 7374 7265 616d 2061 achment stream a\n-00112140: 6674 6572 2072 6561 6469 6e67 2e20 5468 fter reading. Th\n-00112150: 6520 3c63 6f64 653e 6861 6e64 6c65 3c2f e
handle\n-00112160: 636f 6465 3e20 7061 7261 6d65 7465 7220 code> parameter \n-00112170: 636f 6e74 6169 6e73 2074 6865 2068 616e contains the han\n-00112180: 646c 6520 7265 7475 726e 6564 2062 7920 dle returned by \n-00112190: 7468 6520 3c63 6f64 653e 3c61 2063 6c61 the
soap::fdimeread\n-00112240: 6f70 656e 3c2f 613e 3c2f 636f 6465 3e20 open
\n-00112250: 6361 6c6c 6261 636b 2e3c 2f6c 693e 0a3c callback.void *(\n-00112270: 2a73 6f61 702e 6664 696d 6577 7269 7465 *soap.fdimewrite\n-00112280: 6f70 656e 2928 7374 7275 6374 2073 6f61 open)(struct soa\n-00112290: 7020 2a73 6f61 702c 2063 6f6e 7374 2063 p *soap, const c\n-001122a0: 6861 7220 2a69 642c 2063 6f6e 7374 2063 har *id, const c\n-001122b0: 6861 7220 2a74 7970 652c 2063 6f6e 7374 har *type, const\n-001122c0: 2063 6861 7220 2a6f 7074 696f 6e73 293c char *options)<\n-001122d0: 2f63 6f64 653e 2043 616c 6c65 6420 6279 /code> Called by\n-001122e0: 2074 6865 2074 6f20 7374 6172 7420 7265 the to start re\n-001122f0: 6365 6976 696e 6720 6120 7374 7265 616d ceiving a stream\n-00112300: 696e 6720 4449 4d45 2061 7474 6163 686d ing DIME attachm\n-00112310: 656e 742e 2054 6869 7320 6361 6c6c 6261 ent. This callba\n-00112320: 636b 206f 7065 6e73 2061 2073 7472 6561 ck opens a strea\n-00112330: 6d20 746f 2073 7461 7274 2077 7269 7469 m to start writi\n-00112340: 6e67 2074 6865 2061 7474 6163 686d 656e ng the attachmen\n-00112350: 7420 6461 7461 2072 6563 6569 7665 642e t data received.\n-00112360: 2054 6865 2061 6374 7561 6c20 6461 7461 The actual data\n-00112370: 2073 7472 6561 6d20 7769 6c6c 2062 6520 stream will be \n-00112380: 7772 6974 7465 6e20 696e 2063 6875 6e6b written in chunk\n-00112390: 7320 7573 696e 6720 7468 6520 3c63 6f64 s using the
c\n-00112450: 616c 6c62 6163 6b20 756e 7469 6c20 6e6f allback until no\n-00112460: 206d 6f72 6520 6461 7461 2069 7320 6176 more data is av\n-00112470: 6169 6c61 626c 6520 616e 6420 7468 6520 ailable and the \n-00112480: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 soa\n-00112520: 703a 3a66 6469 6d65 7772 6974 6563 6c6f p::fdimewriteclo\n-00112530: 7365 3c2f 613e 3c2f 636f 6465 3e20 6361 se
ca\n-00112540: 6c6c 6261 636b 2069 7320 6361 6c6c 6564 llback is called\n-00112550: 2074 6f20 636c 6f73 6520 7468 6520 7374 to close the st\n-00112560: 7265 616d 2e20 5468 6520 3c63 6f64 653e ream. The \n-00112570: 6964 3c2f 636f 6465 3e2c 203c 636f 6465 id
, type
and\n-00112590: 203c 636f 6465 3e6f 7074 696f 6e73 3c2f options\n-001125a0: 636f 6465 3e20 7061 7261 6d65 7465 7273 code> parameters\n-001125b0: 2061 7265 2074 6865 203c 636f 6465 3e69 are the
i\n-001125c0: 643c 2f63 6f64 653e 2c20 3c63 6f64 653e d
, \n-001125d0: 7479 7065 3c2f 636f 6465 3e20 616e 6420 type
and \n-001125e0: 3c63 6f64 653e 6f70 7469 6f6e 733c 2f63 options of the atta\n-00112600: 6368 6d65 6e74 2073 7472 7563 742f 636c chment struct/cl\n-00112610: 6173 7320 2865 2e67 2e20 3c63 6f64 653e ass (e.g.
,\n-00112760: 203c 636f 6465 3e69 643c 2f63 6f64 653e \n-00112620: 3c61 2063 6c61 7373 3d22 656c 2220 6872 xs\n-00112690: 645f 5f62 6173 6536 3442 696e 6172 793c d__base64Binary<\n-001126a0: 2f61 3e3c 2f63 6f64 653e 206f 7220 3c63 /a>
or __\n-00112740: 7074 723c 2f63 6f64 653e 2c20 3c63 6f64 ptr
, id
\n-00112770: 2c20 3c63 6f64 653e 7479 7065 3c2f 636f , type and
op\n-00112790: 7469 6f6e 733c 2f63 6f64 653e 206d 656d tions
mem\n-001127a0: 6265 7273 292c 2072 6573 7065 6374 6976 bers), respectiv\n-001127b0: 656c 792e 2054 6865 2063 616c 6c62 6163 ely. The callbac\n-001127c0: 6b20 7368 6f75 6c64 2072 6574 7572 6e20 k should return \n-001127d0: 6120 6861 6e64 6c65 2c20 7768 6963 6820 a handle, which \n-001127e0: 6973 2070 6173 7365 6420 746f 2074 6865 is passed to the\n-001127f0: 203c 636f 6465 3e3c 6120 636c 6173 733d soap::fd\n-00112890: 696d 6577 7269 7465 3c2f 613e 3c2f 636f imewrite and
This cal\n-00112e10: 6c62 6163 6b20 6973 2063 616c 6c65 6420 lback is called \n-00112e20: 6279 2074 6865 2065 6e67 696e 6520 746f by the engine to\n-00112e30: 2063 6c6f 7365 2074 6865 2044 494d 4520 close the DIME \n-00112e40: 6174 7461 6368 6d65 6e74 2073 7472 6561 attachment strea\n-00112e50: 6d20 6166 7465 7220 7772 6974 696e 672e m after writing.\n-00112e60: 2054 6865 203c 636f 6465 3e68 616e 646c The soap::fdime\n-00112950: 7772 6974 6563 6c6f 7365 3c2f 613e 3c2f writeclose\n-00112960: 636f 6465 3e20 6361 6c6c 6261 636b 732e code> callbacks.\n-00112970: 2054 6865 203c 636f 6465 3e5f 5f70 7472 The
\n-00112a00: 206d 656d 6265 7220 7661 7269 6162 6c65 member variable\n-00112a10: 2069 7320 7365 7420 746f 2074 6865 2073 is set to the s\n-00112a20: 697a 6520 6f66 2074 6865 2061 7474 6163 ize of the attac\n-00112a30: 686d 656e 7420 7265 6365 6976 6564 2e20 hment received. \n-00112a40: 5468 6520 6d61 7869 6d75 6d20 4449 4d45 The maximum DIME\n-00112a50: 2061 7474 6163 686d 656e 7420 7369 7a65 attachment size\n-00112a60: 2072 6563 6569 7665 6420 6973 206c 696d received is lim\n-00112a70: 6974 6564 2062 7920 3c63 6f64 653e 2353 ited by __ptr\n-00112980: 3c2f 636f 6465 3e20 6d65 6d62 6572 2076
member v\n-00112990: 6172 6961 626c 6520 6f66 2074 6865 2061 ariable of the a\n-001129a0: 7474 6163 686d 656e 7420 7374 7275 6374 ttachment struct\n-001129b0: 2f63 6c61 7373 2069 7320 7365 7420 6279 /class is set by\n-001129c0: 2074 6865 2065 6e67 696e 6520 746f 2074 the engine to t\n-001129d0: 6865 2076 616c 7565 206f 6620 7468 6973 he value of this\n-001129e0: 2068 616e 646c 652e 2054 6865 203c 636f handle. The #S\n-00112a80: 4f41 505f 4d41 5844 494d 4553 495a 453c OAP_MAXDIMESIZE<\n-00112a90: 2f63 6f64 653e 2e3c 2f6c 693e 0a3c 6c69 /code>..
.\n-00112cb0: 2052 6574 7572 6e73 203c 636f 6465 3e23 Returns int (*soa\n-00112ab0: 702e 6664 696d 6577 7269 7465 2928 7374 p.fdimewrite)(st\n-00112ac0: 7275 6374 2073 6f61 7020 2a73 6f61 702c ruct soap *soap,\n-00112ad0: 2076 6f69 6420 2a68 616e 646c 652c 2063 void *handle, c\n-00112ae0: 6f6e 7374 2063 6861 7220 2a62 7566 2c20 onst char *buf, \n-00112af0: 7369 7a65 5f74 206c 656e 293c 2f63 6f64 size_t len) This callback\n-00112b10: 2069 7320 6361 6c6c 6564 2062 7920 7468 is called by th\n-00112b20: 6520 656e 6769 6e65 2074 6f20 7772 6974 e engine to writ\n-00112b30: 6520 6120 6368 756e 6b20 6f66 2061 7474 e a chunk of att\n-00112b40: 6163 686d 656e 7420 6461 7461 2072 6563 achment data rec\n-00112b50: 6569 7665 642e 2054 6865 203c 636f 6465 eived. The
callba\n-00112c60: 636b 2e20 5468 6520 3c63 6f64 653e 6275 ck. The handle
p\n-00112b70: 6172 616d 6574 6572 2063 6f6e 7461 696e arameter contain\n-00112b80: 7320 7468 6520 6861 6e64 6c65 2072 6574 s the handle ret\n-00112b90: 7572 6e65 6420 6279 2074 6865 203c 636f urned by the bu\n-00112c70: 663c 2f63 6f64 653e 2070 6172 616d 6574 f
paramet\n-00112c80: 6572 2063 6f6e 7461 696e 7320 7468 6520 er contains the \n-00112c90: 6461 7461 206f 6620 6c65 6e67 7468 203c data of length <\n-00112ca0: 636f 6465 3e6c 656e 3c2f 636f 6465 3e2e code>len#\n-00112cc0: 534f 4150 5f4f 4b3c 2f63 6f64 653e 206f SOAP_OK
o\n-00112cd0: 7220 6120 3c63 6f64 653e 3c61 2063 6c61 r a soap_\n-00112d90: 7374 6174 7573 3c2f 613e 3c2f 636f 6465 status
(int) error co\n-00112db0: 6465 2e3c 2f6c 693e 0a3c 6c69 3e3c 636f de..handl\n-00112e70: 653c 2f63 6f64 653e 2070 6172 616d 6574 e
paramet\n-00112e80: 6572 2063 6f6e 7461 696e 7320 7468 6520 er contains the \n-00112e90: 6861 6e64 6c65 2072 6574 7572 6e65 6420 handle returned \n-00112ea0: 6279 2074 6865 203c 636f 6465 3e3c 6120 by the soap::fdimew\n-00112f50: 7269 7465 6f70 656e 3c2f 613e 3c2f 636f riteopen callback..
void* s\n-00113050: 6f61 703a 3a75 7365 723c 2f61 3e3c 2f63 oap::user member is a\n-00113070: 7661 696c 6162 6c65 2074 6f20 7061 7373 vailable to pass\n-00113080: 2075 7365 722d 6465 6669 6e65 6420 6461 user-defined da\n-00113090: 7461 2074 6f20 7468 6520 6361 6c6c 6261 ta to the callba\n-001130a0: 636b 732e 2054 6869 7320 7761 792c 2079 cks. This way, y\n-001130b0: 6f75 2063 616e 2073 6574 203c 636f 6465 ou can set
void* s\n-00113180: 6f61 703a 3a75 7365 723c 2f61 3e3c 2f63 oap::user to point to\n-001131a0: 2061 7070 6c69 6361 7469 6f6e 2064 6174 application dat\n-001131b0: 6120 7468 6174 2074 6865 2063 616c 6c62 a that the callb\n-001131c0: 6163 6b73 206e 6565 6420 7375 6368 2061 acks need such a\n-001131d0: 7320 6120 6669 6c65 206e 616d 6520 666f s a file name fo\n-001131e0: 7220 6578 616d 706c 652e 3c2f 703e 0a3c r example.
size_t\n-00113b10: 7370 616e 3e20 693b 203c 2f64 6976 3e0a span> i; l\n+0010fb70: 6f63 6174 696f 6e3c 2f63 6f64 653e 3c2f ocation
\n+0010fb80: 656d 3e20 6174 7472 6962 7574 6520 6465 em> attribute de\n+0010fb90: 6669 6e65 6420 696e 2074 6865 2063 6f6e fined in the con\n+0010fba0: 7465 6e74 2072 6566 6572 656e 6365 2073 tent reference s\n+0010fbb0: 6368 656d 612c 2061 7320 6465 6669 6e65 chema, as define\n+0010fbc0: 6420 696e 206f 6e65 206f 6620 7468 6520 d in one of the \n+0010fbd0: 7665 6e64 6f72 2773 2073 7065 6369 6669 vendor's specifi\n+0010fbe0: 6320 5753 444c 2065 7874 656e 7369 6f6e c WSDL extension\n+0010fbf0: 7320 666f 7220 4449 4d45 203c 6120 6872 s for DIME \n+0010fc50: 6874 7470 3a2f 2f77 7777 2e67 6f74 646f http://www.gotdo\n+0010fc60: 746e 6574 2e63 6f6d 2f74 6561 6d2f 786d tnet.com/team/xm\n+0010fc70: 6c5f 7773 7370 6563 732f 6469 6d65 2f57 l_wsspecs/dime/W\n+0010fc80: 5344 4c2d 4578 7465 6e73 696f 6e2d 666f SDL-Extension-fo\n+0010fc90: 722d 4449 4d45 2e68 746d 3c2f 613e 2e3c r-DIME.htm.<\n+0010fca0: 2f70 3e0a 3c70 3e57 6865 6e20 7265 6365 /p>.\n+0010fd10: 3c61 2063 6c61 7373 3d22 656c 2220 6872 xs\n+0010fd80: 645f 5f62 6173 6536 3442 696e 6172 793c d__base64Binary<\n+0010fd90: 2f61 3e3c 2f63 6f64 653e 2061 6e64 203c /a>
and <\n+0010fda0: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>xsd\n+0010fe10: 5f5f 6865 7842 696e 6172 793c 2f61 3e3c __hexBinary<\n+0010fe20: 2f63 6f64 653e 2062 696e 6172 7920 6461 /code> binary da\n+0010fe30: 7461 2074 7970 6573 206f 6e6c 7920 7768 ta types only wh\n+0010fe40: 656e 2074 6865 2058 4d4c 2070 6172 7473 en the XML parts\n+0010fe50: 206f 6620 7468 6520 6d65 7373 6167 6520 of the message \n+0010fe60: 7573 6573 203c 656d 3e3c 636f 6465 3e68 uses h\n+0010fe70: 7265 663c 2f63 6f64 653e 3c2f 656d 3e20 ref
\n+0010fe80: 6174 7472 6962 7574 6573 2074 6f20 7265 attributes to re\n+0010fe90: 6665 7220 746f 2074 6865 7365 2061 7474 fer to these att\n+0010fea0: 6163 686d 656e 7473 2e20 4966 2073 6f2c achments. If so,\n+0010feb0: 2074 6865 2062 696e 6172 7920 6461 7461 the binary data\n+0010fec0: 2074 7970 6520 3c63 6f64 653e 5f5f 7074 type __pt\n+0010fed0: 723c 2f63 6f64 653e 2061 6e64 203c 636f r
and __pt\n+0010ffd0: 723c 2f63 6f64 653e 206d 656d 6265 7220 r
member \n+0010ffe0: 6973 204e 554c 4c20 616e 6420 7468 6520 is NULL and the \n+0010fff0: 3c63 6f64 653e 6964 3c2f 636f 6465 3e20 id
\n+00110000: 6d65 6d62 6572 2072 6566 6572 7320 746f member refers to\n+00110010: 2074 6865 2065 7874 6572 6e61 6c20 6461 the external da\n+00110020: 7461 2073 6f75 7263 652e 3c2f 703e 0a3c ta source.dime\n+00110040: 5f69 645f 666f 726d 6174 3c2f 636f 6465 _id_format
attribute of t\n+00110060: 6865 2063 7572 7265 6e74 2063 6f6e 7465 he current conte\n+00110070: 7874 2063 616e 2062 6520 7365 7420 746f xt can be set to\n+00110080: 2074 6865 2064 6566 6175 6c74 2066 6f72 the default for\n+00110090: 6d61 7420 6f66 2044 494d 4520 6964 206d mat of DIME id m\n+001100a0: 656d 6265 7273 2e20 5468 6520 666f 726d embers. The form\n+001100b0: 6174 2073 7472 696e 6720 6d75 7374 2063 at string must c\n+001100c0: 6f6e 7461 696e 2061 203c 636f 6465 3e64 ontain a d\n+001100d0: 3c2f 636f 6465 3e20 666f 726d 6174 2073
format s\n+001100e0: 7065 6369 6669 6572 2028 6f72 2061 6e79 pecifier (or any\n+001100f0: 206f 7468 6572 203c 636f 6465 3e69 6e74 other int\n+00110100: 3c2f 636f 6465 3e2d 6261 7365 6420 666f
-based fo\n+00110110: 726d 6174 2073 7065 6369 6669 6572 292e rmat specifier).\n+00110120: 2054 6865 2076 616c 7565 206f 6620 7468 The value of th\n+00110130: 6973 2073 7065 6369 6669 6572 2069 7320 is specifier is \n+00110140: 6120 6e6f 6e2d 6e65 6761 7469 7665 2069 a non-negative i\n+00110150: 6e74 6567 6572 2c20 7769 7468 207a 6572 nteger, with zer\n+00110160: 6f20 6265 696e 6720 7468 6520 7661 6c75 o being the valu\n+00110170: 6520 6f66 2074 6865 2044 494d 4520 6174 e of the DIME at\n+00110180: 7461 6368 6d65 6e74 2069 6420 666f 7220 tachment id for \n+00110190: 7468 6520 534f 4150 206d 6573 7361 6765 the SOAP message\n+001101a0: 2e20 466f 7220 6578 616d 706c 652c 3c2f . For example,\n+001101b0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.id
member will us\n+00110590: 6520 6120 6175 746f 2d67 656e 6572 6174 e a auto-generat\n+001105a0: 6564 2069 6420 7661 6c75 6520 6261 7365 ed id value base\n+001105b0: 6420 6f6e 2074 6865 2066 6f72 6d61 7420 d on the format \n+001105c0: 7374 7269 6e67 2e3c 2f70 3e0a 3c64 6c20 string.
..St\n+00110720: 7265 616d 696e 6720 4449 4d45 3c2f 6832 reaming DIME
..
.<\n+00112f60: 703e 496e 2061 6464 6974 696f 6e2c 2061 p>In addition, a\n+00112f70: 203c 636f 6465 3e76 6f69 642a 203c 6120 void *(*s\n+00110820: 6f61 702e 6664 696d 6572 6561 646f 7065 oap.fdimereadope\n+00110830: 6e29 2873 7472 7563 7420 736f 6170 202a n)(struct soap *\n+00110840: 736f 6170 2c20 766f 6964 202a 6861 6e64 soap, void *hand\n+00110850: 6c65 2c20 636f 6e73 7420 6368 6172 202a le, const char *\n+00110860: 6964 2c20 636f 6e73 7420 6368 6172 202a id, const char *\n+00110870: 7479 7065 2c20 636f 6e73 7420 6368 6172 type, const char\n+00110880: 202a 6f70 7469 6f6e 7329 3c2f 636f 6465 *options)
This callback \n+001108a0: 6973 2063 616c 6c65 6420 6279 2074 6865 is called by the\n+001108b0: 2065 6e67 696e 6520 746f 2073 7461 7274 engine to start\n+001108c0: 2073 656e 6469 6e67 2061 2073 7472 6561 sending a strea\n+001108d0: 6d69 6e67 2044 494d 4520 6174 7461 6368 ming DIME attach\n+001108e0: 6d65 6e74 2e20 5468 6973 2063 616c 6c62 ment. This callb\n+001108f0: 6163 6b20 6f70 656e 7320 6120 7374 7265 ack opens a stre\n+00110900: 616d 2074 6f20 7374 6172 7420 7265 6164 am to start read\n+00110910: 696e 6720 7468 6520 6174 7461 6368 6d65 ing the attachme\n+00110920: 6e74 2064 6174 6120 746f 2073 656e 642e nt data to send.\n+00110930: 2054 6865 2061 6374 7561 6c20 6461 7461 The actual data\n+00110940: 2073 7472 6561 6d20 7769 6c6c 2062 6520 stream will be \n+00110950: 7265 6164 2069 6e20 6368 756e 6b73 2075 read in chunks u\n+00110960: 7369 6e67 2074 6865 203c 636f 6465 3e3c sing the <\n+00110970: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+00110980: 663d 2267 726f 7570 5f5f 6772 6f75 705f f=\"group__group_\n+00110990: 5f63 616c 6c62 6163 6b73 2e68 746d 6c23 _callbacks.html#\n+001109a0: 6761 3438 3237 3061 6439 3839 3631 6333 ga48270ad98961c3\n+001109b0: 6666 3438 6337 6235 3634 3834 6562 6233 ff48c7b56484ebb3\n+001109c0: 6661 2220 7469 746c 653d 2243 616c 6c62 fa\" title=\"Callb\n+001109d0: 6163 6b20 746f 2072 6561 6420 6461 7461 ack to read data\n+001109e0: 2069 6e20 6120 4449 4d45 2061 7474 6163 in a DIME attac\n+001109f0: 686d 656e 7420 7374 7265 616d 2e22 3e73 hment stream.\">s\n+00110a00: 6f61 703a 3a66 6469 6d65 7265 6164 3c2f oap::fdimeread\n+00110a10: 613e 3c2f 636f 6465 3e20 6361 6c6c 6261 a>
callba\n+00110a20: 636b 2075 6e74 696c 206e 6f20 6d6f 7265 ck until no more\n+00110a30: 2064 6174 6120 6973 2061 7661 696c 6162 data is availab\n+00110a40: 6c65 2061 6e64 2074 6865 203c 636f 6465 le and the soap::fd\n+00110af0: 696d 6572 6561 6463 6c6f 7365 3c2f 613e imereadclose\n+00110b00: 3c2f 636f 6465 3e20 6361 6c6c 6261 636b
callback\n+00110b10: 2069 7320 6361 6c6c 6564 2074 6f20 636c is called to cl\n+00110b20: 6f73 6520 7468 6520 7374 7265 616d 2e20 ose the stream. \n+00110b30: 5468 6520 3c63 6f64 653e 6861 6e64 6c65 The handle\n+00110b40: 3c2f 636f 6465 3e20 7061 7261 6d65 7465
paramete\n+00110b50: 7220 636f 6e74 6169 6e73 2074 6865 2076 r contains the v\n+00110b60: 616c 7565 206f 6620 7468 6520 3c63 6f64 alue of the _x\n+00110cc0: 6f70 5f5f 496e 636c 7564 653c 2f61 3e3c op__Include<\n+00110cd0: 2f63 6f64 653e 2077 6974 6820 3c63 6f64 /code> with
, \n+00110cf0: 3c63 6f64 653e 5f5f 7369 7a65 3c2f 636f __size,
id
type\n+00110d20: 3c2f 636f 6465 3e20 616e 6420 3c63 6f64
and __ptr
__s\n+00110e10: 697a 653c 2f63 6f64 653e 206d 656d 6265 ize
membe\n+00110e20: 7273 206f 6620 7468 6520 6174 7461 6368 rs of the attach\n+00110e30: 6d65 6e74 2073 7472 7563 742f 636c 6173 ment struct/clas\n+00110e40: 7320 7368 6f75 6c64 2068 6176 6520 6265 s should have be\n+00110e50: 656e 2073 6574 2062 7920 7468 6520 6170 en set by the ap\n+00110e60: 706c 6963 6174 696f 6e20 7072 696f 7220 plication prior \n+00110e70: 746f 2074 6865 2073 6572 6961 6c69 7a61 to the serializa\n+00110e80: 7469 6f6e 206f 6620 7468 6520 6d65 7373 tion of the mess\n+00110e90: 6167 6520 7769 7468 2061 7474 6163 686d age with attachm\n+00110ea0: 656e 7473 2e20 4966 2074 6865 203c 636f ents. If the soap\n+00110fd0: 3a3a 6664 696d 6572 6561 643c 2f61 3e3c ::fdimeread<\n+00110fe0: 2f63 6f64 653e 2e20 5468 6520 3c63 6f64 /code>. The
, options\n+00111020: 3c2f 636f 6465 3e20 7061 7261 6d65 7465
paramete\n+00111030: 7273 2061 7265 2074 6865 203c 636f 6465 rs are the id
(opti\n+00111050: 6f6e 616c 2049 4429 2c20 3c63 6f64 653e onal ID), \n+00111060: 7479 7065 3c2f 636f 6465 3e20 2861 204d type
(a M\n+00111070: 494d 4520 7479 7065 2920 616e 6420 3c63 IME type) and han\n+00111220: 646c 653c 2f63 6f64 653e 2070 6172 616d dle
param\n+00111230: 6574 6572 2074 6f20 3c63 6f64 653e 3c61 eter to so\n+001112d0: 6170 3a3a 6664 696d 6572 6561 643c 2f61 ap::fdimeread
and soap::error
to an e\n+001114d0: 7272 6f72 2063 6f64 652c 2065 2e67 2e20 rror code, e.g. \n+001114e0: 7573 696e 6720 3c63 6f64 653e 3c61 2063 using soap\n+00111590: 5f72 6563 6569 7665 725f 6661 756c 743c _receiver_fault<\n+001115a0: 2f61 3e3c 2f63 6f64 653e 2e20 5468 6520 /a>
. The \n+001115b0: 6361 6c6c 6261 636b 206d 6179 2072 6574 callback may ret\n+001115c0: 7572 6e20 4e55 4c4c 2061 6e64 2073 6574 urn NULL and set\n+001115d0: 203c 636f 6465 3e3c 6120 636c 6173 733d soa\n+00111680: 703a 3a65 7272 6f72 3c2f 613e 3c2f 636f p::error
#SO\n+001116a0: 4150 5f4f 4b3c 2f63 6f64 653e 2077 6865 AP_OK
whe\n+001116b0: 6e20 7468 6973 2073 7065 6369 6669 6320 n this specific \n+001116c0: 4449 4d45 2061 7474 6163 686d 656e 7420 DIME attachment \n+001116d0: 7368 6f75 6c64 206e 6f74 2074 6f20 6265 should not to be\n+001116e0: 2073 7472 6561 6d65 6420 616e 6420 7468 streamed and th\n+001116f0: 6520 656e 6769 6e65 2077 696c 6c20 7369 e engine will si\n+00111700: 6d70 6c79 2073 6b69 7020 6974 2e3c 2f6c mply skip it..siz\n+00111720: 655f 7420 282a 736f 6170 2e66 6469 6d65 e_t (*soap.fdime\n+00111730: 7265 6164 2928 7374 7275 6374 2073 6f61 read)(struct soa\n+00111740: 7020 2a73 6f61 702c 2076 6f69 6420 2a68 p *soap, void *h\n+00111750: 616e 646c 652c 2063 6861 7220 2a62 7566 andle, char *buf\n+00111760: 2c20 7369 7a65 5f74 206c 656e 293c 2f63 , size_t len)
so\n+001118b0: 6170 3a3a 6664 696d 6572 6561 646f 7065 ap::fdimereadope\n+001118c0: 6e3c 2f61 3e3c 2f63 6f64 653e 2063 616c n
cal\n+001118d0: 6c62 6163 6b2e 2054 6865 203c 636f 6465 lback. The buf
para\n+001118f0: 6d65 7465 7220 6973 2074 6865 2062 7566 meter is the buf\n+00111900: 6665 7220 6f66 206c 656e 6774 6820 3c63 fer of length len
\n+001119b0: 2061 6e64 2074 6869 7320 6163 7475 616c and this actual\n+001119c0: 2061 6d6f 756e 7420 7368 6f75 6c64 2062 amount should b\n+001119d0: 6520 7265 7475 726e 6564 2062 7920 7468 e returned by th\n+001119e0: 6520 6361 6c6c 6261 636b 2e20 4120 7265 e callback. A re\n+001119f0: 7475 726e 2076 616c 7565 206f 6620 7a65 turn value of ze\n+00111a00: 726f 2069 6e64 6963 6174 6573 2061 6e20 ro indicates an \n+00111a10: 6572 726f 7220 616e 6420 3c63 6f64 653e error and \n+00111a20: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap::erro\n+00111ad0: 723c 2f61 3e3c 2f63 6f64 653e 2073 686f r
sho\n+00111ae0: 756c 6420 6265 2073 6574 2e20 5468 6520 uld be set. The \n+00111af0: 3c63 6f64 653e 5f5f 7369 7a65 3c2f 636f __size member varia\n+00111b10: 626c 6520 6f66 2074 6865 2061 7474 6163 ble of the attac\n+00111b20: 686d 656e 7420 7374 7275 6374 2f63 6c61 hment struct/cla\n+00111b30: 7373 2077 6974 6820 6461 7461 2028 652e ss with data (e.\n+00111b40: 672e 203c 636f 6465 3e3c 6120 636c 6173 g.
xsd__base\n+00111bc0: 3634 4269 6e61 7279 3c2f 613e 3c2f 636f 64Binary or
_xop__Include\n+00111c50: 3c2f 613e 3c2f 636f 6465 3e20 7769 7468
with\n+00111c60: 203c 636f 6465 3e5f 5f70 7472 3c2f 636f __ptr,
__siz\n+00111c80: 653c 2f63 6f64 653e 2c20 3c63 6f64 653e e
, \n+00111c90: 6964 3c2f 636f 6465 3e2c 203c 636f 6465 id
, type
and\n+00111cb0: 203c 636f 6465 3e6f 7074 696f 6e73 3c2f options\n+00111cc0: 636f 6465 3e20 6d65 6d62 6572 7329 2073 code> members) s\n+00111cd0: 686f 756c 6420 6265 2073 6574 2062 7920 hould be set by \n+00111ce0: 7468 6520 6170 706c 6963 6174 696f 6e20 the application \n+00111cf0: 7072 696f 7220 746f 2074 6865 2073 6572 prior to the ser\n+00111d00: 6961 6c69 7a61 7469 6f6e 206f 6620 7468 ialization of th\n+00111d10: 6520 6d65 7373 6167 6520 7769 7468 2061 e message with a\n+00111d20: 7474 6163 686d 656e 7473 2e20 5468 6520 ttachments. The \n+00111d30: 7661 6c75 6520 6f66 203c 636f 6465 3e5f value of
_\n+00111d40: 5f73 697a 653c 2f63 6f64 653e 2069 6e64 _size
ind\n+00111d50: 6963 6174 6573 2074 6865 2074 6f74 616c icates the total\n+00111d60: 2073 697a 6520 6f66 2074 6865 2061 7474 size of the att\n+00111d70: 6163 686d 656e 7420 6461 7461 2074 6f20 achment data to \n+00111d80: 6265 2074 7261 6e73 6d69 7474 6564 2e20 be transmitted. \n+00111d90: 4966 2074 6865 203c 636f 6465 3e5f 5f73 If the __s\n+00111da0: 697a 653c 2f63 6f64 653e 206d 656d 6265 ize
membe\n+00111db0: 7220 7661 7269 6162 6c65 2069 7320 7a65 r variable is ze\n+00111dc0: 726f 2061 6e64 2048 5454 5020 6368 756e ro and HTTP chun\n+00111dd0: 6b69 6e67 2069 7320 656e 6162 6c65 6420 king is enabled \n+00111de0: 2877 6974 6820 3c63 6f64 653e 2353 4f41 (with #SOA\n+00111df0: 505f 494f 5f43 4855 4e4b 3c2f 636f 6465 P_IO_CHUNK
), then DIME ch\n+00111e10: 756e 6b65 6420 7472 616e 7366 6572 7320 unked transfers \n+00111e20: 6172 6520 6163 7469 7661 7465 6420 6279 are activated by\n+00111e30: 2074 6865 2065 6e67 696e 652c 2077 6869 the engine, whi\n+00111e40: 6368 2069 7320 6d6f 7265 2066 6c65 7869 ch is more flexi\n+00111e50: 626c 6520 7369 6e63 6520 7468 6520 6174 ble since the at\n+00111e60: 7461 6368 6d65 6e74 2064 6174 6120 7369 tachment data si\n+00111e70: 7a65 2064 6f65 7320 6e6f 7420 6e65 6564 ze does not need\n+00111e80: 2074 6f20 6265 2064 6574 6572 6d69 6e65 to be determine\n+00111e90: 6420 696e 2061 6476 616e 6365 2e20 546f d in advance. To\n+00111ea0: 2075 7365 2044 494d 4520 6368 756e 6b65 use DIME chunke\n+00111eb0: 6420 7472 616e 7366 6572 732c 2065 6e61 d transfers, ena\n+00111ec0: 626c 6520 4854 5450 2063 6875 6e6b 696e ble HTTP chunkin\n+00111ed0: 6720 7769 7468 203c 636f 6465 3e23 534f g with #SO\n+00111ee0: 4150 5f49 4f5f 4348 554e 4b3c 2f63 6f64 AP_IO_CHUNK (also
#\n+00111f00: 534f 4150 5f49 4f5f 5354 4f52 453c 2f63 SOAP_IO_STORE
__size member vari\n+00111f90: 6162 6c65 206f 6620 7468 6520 6174 7461 able of the atta\n+00111fa0: 6368 6d65 6e74 2073 7472 7563 742f 636c chment struct/cl\n+00111fb0: 6173 7320 746f 207a 6572 6f2e 2057 6865 ass to zero. Whe\n+00111fc0: 6e20 4449 4d45 2061 7474 6163 686d 656e n DIME attachmen\n+00111fd0: 7420 6368 756e 6b69 6e67 2069 7320 656e t chunking is en\n+00111fe0: 6162 6c65 642c 2074 6869 7320 6361 6c6c abled, this call\n+00111ff0: 6261 636b 2073 686f 756c 6420 636f 6d70 back should comp\n+00112000: 6c65 7465 6c79 2066 696c 6c20 7468 6520 letely fill the \n+00112010: 3c63 6f64 653e 6275 663c 2f63 6f64 653e
by\n+00112040: 7465 7320 756e 6c65 7373 2074 6865 206c tes unless the l\n+00112050: 6173 7420 6461 7461 2063 6875 6e6b 2069 ast data chunk i\n+00112060: 7320 7265 6163 6865 6420 616e 6420 6665 s reached and fe\n+00112070: 7765 7220 6279 7465 7320 6172 6520 7265 wer bytes are re\n+00112080: 7475 726e 6564 2e3c 2f6c 693e 0a3c 6c69 turned.buf
\n+00112020: 2062 7566 6665 7220 7769 7468 203c 636f buffer with void (*so\n+001120a0: 6170 2e66 6469 6d65 7265 6164 636c 6f73 ap.fdimereadclos\n+001120b0: 6529 2873 7472 7563 7420 736f 6170 202a e)(struct soap *\n+001120c0: 736f 6170 2c20 766f 6964 202a 6861 6e64 soap, void *hand\n+001120d0: 6c65 293c 2f63 6f64 653e 2054 6869 7320 le)
This \n+001120e0: 6361 6c6c 6261 636b 2069 7320 6361 6c6c callback is call\n+001120f0: 6564 2062 7920 7468 6520 656e 6769 6e65 ed by the engine\n+00112100: 2074 6f20 636c 6f73 6520 7468 6520 4449 to close the DI\n+00112110: 4d45 2061 7474 6163 686d 656e 7420 7374 ME attachment st\n+00112120: 7265 616d 2061 6674 6572 2072 6561 6469 ream after readi\n+00112130: 6e67 2e20 5468 6520 3c63 6f64 653e 6861 ng. The ha\n+00112140: 6e64 6c65 3c2f 636f 6465 3e20 7061 7261 ndle
para\n+00112150: 6d65 7465 7220 636f 6e74 6169 6e73 2074 meter contains t\n+00112160: 6865 2068 616e 646c 6520 7265 7475 726e he handle return\n+00112170: 6564 2062 7920 7468 6520 3c63 6f64 653e ed by the \n+00112180: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap::fdi\n+00112220: 6d65 7265 6164 6f70 656e 3c2f 613e 3c2f mereadopen\n+00112230: 636f 6465 3e20 6361 6c6c 6261 636b 2e3c code> callback.<\n+00112240: 2f6c 693e 0a3c 6c69 3e3c 636f 6465 3e76 /li>.
v\n+00112250: 6f69 6420 2a28 2a73 6f61 702e 6664 696d oid *(*soap.fdim\n+00112260: 6577 7269 7465 6f70 656e 2928 7374 7275 ewriteopen)(stru\n+00112270: 6374 2073 6f61 7020 2a73 6f61 702c 2063 ct soap *soap, c\n+00112280: 6f6e 7374 2063 6861 7220 2a69 642c 2063 onst char *id, c\n+00112290: 6f6e 7374 2063 6861 7220 2a74 7970 652c onst char *type,\n+001122a0: 2063 6f6e 7374 2063 6861 7220 2a6f 7074 const char *opt\n+001122b0: 696f 6e73 293c 2f63 6f64 653e 2043 616c ions)
Cal\n+001122c0: 6c65 6420 6279 2074 6865 2074 6f20 7374 led by the to st\n+001122d0: 6172 7420 7265 6365 6976 696e 6720 6120 art receiving a \n+001122e0: 7374 7265 616d 696e 6720 4449 4d45 2061 streaming DIME a\n+001122f0: 7474 6163 686d 656e 742e 2054 6869 7320 ttachment. This \n+00112300: 6361 6c6c 6261 636b 206f 7065 6e73 2061 callback opens a\n+00112310: 2073 7472 6561 6d20 746f 2073 7461 7274 stream to start\n+00112320: 2077 7269 7469 6e67 2074 6865 2061 7474 writing the att\n+00112330: 6163 686d 656e 7420 6461 7461 2072 6563 achment data rec\n+00112340: 6569 7665 642e 2054 6865 2061 6374 7561 eived. The actua\n+00112350: 6c20 6461 7461 2073 7472 6561 6d20 7769 l data stream wi\n+00112360: 6c6c 2062 6520 7772 6974 7465 6e20 696e ll be written in\n+00112370: 2063 6875 6e6b 7320 7573 696e 6720 7468 chunks using th\n+00112380: 6520 3c63 6f64 653e 3c61 2063 6c61 7373 e soap::f\n+00112420: 6469 6d65 7772 6974 653c 2f61 3e3c 2f63 dimewrite callback un\n+00112440: 7469 6c20 6e6f 206d 6f72 6520 6461 7461 til no more data\n+00112450: 2069 7320 6176 6169 6c61 626c 6520 616e is available an\n+00112460: 6420 7468 6520 3c63 6f64 653e 3c61 2063 d the
soap::fdimewr\n+00112510: 6974 6563 6c6f 7365 3c2f 613e 3c2f 636f iteclose callback is \n+00112530: 6361 6c6c 6564 2074 6f20 636c 6f73 6520 called to close \n+00112540: 7468 6520 7374 7265 616d 2e20 5468 6520 the stream. The \n+00112550: 3c63 6f64 653e 6964 3c2f 636f 6465 3e2c
\n+00112730: 2c20 3c63 6f64 653e 5f5f 7369 7a65 3c2f , id
,\n+00112560: 203c 636f 6465 3e74 7970 653c 2f63 6f64 type and
, \n+001125b0: 3c63 6f64 653e 7479 7065 3c2f 636f 6465 opt\n+00112580: 696f 6e73 3c2f 636f 6465 3e20 7061 7261 ions
para\n+00112590: 6d65 7465 7273 2061 7265 2074 6865 203c meters are the <\n+001125a0: 636f 6465 3e69 643c 2f63 6f64 653e 2c20 code>idtype
and opti\n+001125d0: 6f6e 733c 2f63 6f64 653e 206f 6620 7468 ons
of th\n+001125e0: 6520 6174 7461 6368 6d65 6e74 2073 7472 e attachment str\n+001125f0: 7563 742f 636c 6173 7320 2865 2e67 2e20 uct/class (e.g. \n+00112600: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 xsd__base64B\n+00112680: 696e 6172 793c 2f61 3e3c 2f63 6f64 653e inary
\n+00112690: 206f 7220 3c63 6f64 653e 3c61 2063 6c61 or \n+00112700: 5f78 6f70 5f5f 496e 636c 7564 653c 2f61 _xop__Include
with __size\n+00112740: 636f 6465 3e2c 203c 636f 6465 3e69 643c code>,
callba\n+00112f50: 636b 2e3c 2f6c 693e 0a3c 2f75 6c3e 0a3c ck.id<\n+00112750: 2f63 6f64 653e 2c20 3c63 6f64 653e 7479 /code>,
call\n+00112950: 6261 636b 732e 2054 6865 203c 636f 6465 backs. The ty\n+00112760: 7065 3c2f 636f 6465 3e20 616e 6420 3c63 pe
and so\n+00112870: 6170 3a3a 6664 696d 6577 7269 7465 3c2f ap::fdimewrite\n+00112880: 613e 3c2f 636f 6465 3e20 616e 6420 3c63 a>
and __ptr
me\n+00112970: 6d62 6572 2076 6172 6961 626c 6520 6f66 mber variable of\n+00112980: 2074 6865 2061 7474 6163 686d 656e 7420 the attachment \n+00112990: 7374 7275 6374 2f63 6c61 7373 2069 7320 struct/class is \n+001129a0: 7365 7420 6279 2074 6865 2065 6e67 696e set by the engin\n+001129b0: 6520 746f 2074 6865 2076 616c 7565 206f e to the value o\n+001129c0: 6620 7468 6973 2068 616e 646c 652e 2054 f this handle. T\n+001129d0: 6865 203c 636f 6465 3e5f 5f73 697a 653c he __size<\n+001129e0: 2f63 6f64 653e 206d 656d 6265 7220 7661 /code> member va\n+001129f0: 7269 6162 6c65 2069 7320 7365 7420 746f riable is set to\n+00112a00: 2074 6865 2073 697a 6520 6f66 2074 6865 the size of the\n+00112a10: 2061 7474 6163 686d 656e 7420 7265 6365 attachment rece\n+00112a20: 6976 6564 2e20 5468 6520 6d61 7869 6d75 ived. The maximu\n+00112a30: 6d20 4449 4d45 2061 7474 6163 686d 656e m DIME attachmen\n+00112a40: 7420 7369 7a65 2072 6563 6569 7665 6420 t size received \n+00112a50: 6973 206c 696d 6974 6564 2062 7920 3c63 is limited by
..int\n+00112a90: 2028 2a73 6f61 702e 6664 696d 6577 7269 (*soap.fdimewri\n+00112aa0: 7465 2928 7374 7275 6374 2073 6f61 7020 te)(struct soap \n+00112ab0: 2a73 6f61 702c 2076 6f69 6420 2a68 616e *soap, void *han\n+00112ac0: 646c 652c 2063 6f6e 7374 2063 6861 7220 dle, const char \n+00112ad0: 2a62 7566 2c20 7369 7a65 5f74 206c 656e *buf, size_t len\n+00112ae0: 293c 2f63 6f64 653e 2054 6869 7320 6361 )
This ca\n+00112af0: 6c6c 6261 636b 2069 7320 6361 6c6c 6564 llback is called\n+00112b00: 2062 7920 7468 6520 656e 6769 6e65 2074 by the engine t\n+00112b10: 6f20 7772 6974 6520 6120 6368 756e 6b20 o write a chunk \n+00112b20: 6f66 2061 7474 6163 686d 656e 7420 6461 of attachment da\n+00112b30: 7461 2072 6563 6569 7665 642e 2054 6865 ta received. The\n+00112b40: 203c 636f 6465 3e68 616e 646c 653c 2f63 handle parameter c\n+00112b60: 6f6e 7461 696e 7320 7468 6520 6861 6e64 ontains the hand\n+00112b70: 6c65 2072 6574 7572 6e65 6420 6279 2074 le returned by t\n+00112b80: 6865 203c 636f 6465 3e3c 6120 636c 6173 he
p\n+00112c60: 6172 616d 6574 6572 2063 6f6e 7461 696e arameter contain\n+00112c70: 7320 7468 6520 6461 7461 206f 6620 6c65 s the data of le\n+00112c80: 6e67 7468 203c 636f 6465 3e6c 656e 3c2f ngth \n+00112c20: 736f 6170 3a3a 6664 696d 6577 7269 7465 soap::fdimewrite\n+00112c30: 6f70 656e 3c2f 613e 3c2f 636f 6465 3e20 open
\n+00112c40: 6361 6c6c 6261 636b 2e20 5468 6520 3c63 callback. The len\n+00112c90: 636f 6465 3e2e 2052 6574 7572 6e73 203c code>. Returns <\n+00112ca0: 636f 6465 3e23 534f 4150 5f4f 4b3c 2f63 code>#SOAP_OK or a
\n+00112cc0: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap_status\n+00112d80: 3c2f 636f 6465 3e20 2869 6e74 2920 6572
(int) er\n+00112d90: 726f 7220 636f 6465 2e3c 2f6c 693e 0a3c ror code.void (*\n+00112db0: 736f 6170 2e66 6469 6d65 7772 6974 6563 soap.fdimewritec\n+00112dc0: 6c6f 7365 2928 7374 7275 6374 2073 6f61 lose)(struct soa\n+00112dd0: 7020 2a73 6f61 702c 2076 6f69 6420 2a68 p *soap, void *h\n+00112de0: 616e 646c 6529 3c2f 636f 6465 3e20 5468 andle)
Th\n+00112df0: 6973 2063 616c 6c62 6163 6b20 6973 2063 is callback is c\n+00112e00: 616c 6c65 6420 6279 2074 6865 2065 6e67 alled by the eng\n+00112e10: 696e 6520 746f 2063 6c6f 7365 2074 6865 ine to close the\n+00112e20: 2044 494d 4520 6174 7461 6368 6d65 6e74 DIME attachment\n+00112e30: 2073 7472 6561 6d20 6166 7465 7220 7772 stream after wr\n+00112e40: 6974 696e 672e 2054 6865 203c 636f 6465 iting. The handle
p\n+00112e60: 6172 616d 6574 6572 2063 6f6e 7461 696e arameter contain\n+00112e70: 7320 7468 6520 6861 6e64 6c65 2072 6574 s the handle ret\n+00112e80: 7572 6e65 6420 6279 2074 6865 203c 636f urned by the void* soap::user<\n+00113040: 2f61 3e3c 2f63 6f64 653e 206d 656d 6265 /a>
membe\n+00113050: 7220 6973 2061 7661 696c 6162 6c65 2074 r is available t\n+00113060: 6f20 7061 7373 2075 7365 722d 6465 6669 o pass user-defi\n+00113070: 6e65 6420 6461 7461 2074 6f20 7468 6520 ned data to the \n+00113080: 6361 6c6c 6261 636b 732e 2054 6869 7320 callbacks. This \n+00113090: 7761 792c 2079 6f75 2063 616e 2073 6574 way, you can set\n+001130a0: 203c 636f 6465 3e76 6f69 642a 203c 6120 void* soap::user<\n+00113170: 2f61 3e3c 2f63 6f64 653e 2074 6f20 706f /a>
to po\n+00113180: 696e 7420 746f 2061 7070 6c69 6361 7469 int to applicati\n+00113190: 6f6e 2064 6174 6120 7468 6174 2074 6865 on data that the\n+001131a0: 2063 616c 6c62 6163 6b73 206e 6565 6420 callbacks need \n+001131b0: 7375 6368 2061 7320 6120 6669 6c65 206e such as a file n\n+001131c0: 616d 6520 666f 7220 6578 616d 706c 652e ame for example.\n+001131d0: 3c2f 703e 0a3c 703e 5468 6520 666f 6c6c .if ((c = fgetc(fd\n+00113d40: 2929 203d 3d20 454f 4629 203c 2f64 6976 )) == EOF) void *dime_read_o\n-001141c0: 7065 6e28 3c73 7061 6e20 636c 6173 733d pen(struct\n-001141e0: 3c2f 7370 616e 3e20 3c61 2063 6c61 7373 s\n-00114210: 6f61 703c 2f61 3e20 2a3c 6120 636c 6173 oap *\n-00114240: 736f 6170 3c2f 613e 2c20 3c73 7061 6e20 soap, void \n-00114270: 2a68 616e 646c 652c 203c 7370 616e 2063 *handle, c\n-00114290: 6f6e 7374 3c2f 7370 616e 3e20 3c73 7061 onst const\n+001142f0: 203c 7370 616e 2063 6c61 7373 3d22 6b65 char<\n+00114310: 2f73 7061 6e3e 202a 7479 7065 2c20 3c73 /span> *type, const\n+00114340: 203c 7370 616e 2063 6c61 7373 3d22 6b65 char<\n+00114360: 2f73 7061 6e3e 202a 6f70 7469 6f6e 7329 /span> *options)\n+00114370: 203c 2f64 6976 3e0a 3c64 6976 2063 6c61 void dime_read_cl\n-00114470: 6f73 6528 3c73 7061 6e20 636c 6173 733d ose(struct\n-00114490: 3c2f 7370 616e 3e20 3c61 2063 6c61 7373 s\n-001144c0: 6f61 703c 2f61 3e20 2a3c 6120 636c 6173 oap *\n-001144f0: 736f 6170 3c2f 613e 2c20 3c73 7061 6e20 soap, void \n-00114520: 2a68 616e 646c 6529 203c 2f64 6976 3e0a *handle) return\n+00114740: 7370 616e 3e20 6672 6561 6428 6275 662c span> fread(buf,\n+00114750: 2031 2c20 6c65 6e2c 2028 4649 4c45 2a29 1, len, (FILE*)\n+00114760: 6861 6e64 6c65 293b 203c 2f64 6976 3e0a handle); const\n-001155a0: 203c 7370 616e 2063 6c61 7373 3d22 6b65 char<\n-001155c0: 2f73 7061 6e3e 202a 3c73 7061 6e20 636c /span> *id, struct soap *soap\n+00115560: 613e 2c20 3c73 7061 6e20 636c 6173 733d a>, const<\n+00115580: 2f73 7061 6e3e 203c 7370 616e 2063 6c61 /span> char *id, const\n+001155f0: 7370 616e 3e20 3c73 7061 6e20 636c 6173 span> \n+00115610: 6368 6172 3c2f 7370 616e 3e20 2a74 7970 char *typ\n+00115620: 652c 203c 7370 616e 2063 6c61 7373 3d22 e, const\n+00115640: 7370 616e 3e20 3c73 7061 6e20 636c 6173 span> \n+00115660: 6368 6172 3c2f 7370 616e 3e20 2a6f 7074 char *opt\n+00115670: 696f 6e73 2920 3c2f 6469 763e 0a3c 6469 ions) "\n-00115790: 7762 2671 756f 743b 3c2f 7370 616e 3e29 wb")\n-001157a0: 3b20 3c2f 6469 763e 0a3c 6469 7620 636c ; return\n-00116140: 7370 616e 3e20 3c61 2063 6c61 7373 3d22 span> SOAP_E\n-001161a0: 4f46 3c2f 613e 3b20 3c2f 6469 763e 0a3c OF; #SOAP_ENC\n-00116e00: 5f5a 4c49 423c 2f63 6f64 653e 2063 616e _ZLIB
can\n-00116e10: 2062 6520 7573 6564 2077 6974 6820 4449 be used with DI\n-00116e20: 4d45 2074 6f20 636f 6d70 7265 7373 2074 ME to compress t\n-00116e30: 6865 2065 6e74 6972 6520 6d65 7373 6167 he entire messag\n-00116e40: 652e 2048 6f77 6576 6572 2c20 636f 6d70 e. However, comp\n-00116e50: 7265 7373 696f 6e20 7265 7175 6972 6573 ression requires\n-00116e60: 2062 7566 6665 7269 6e67 2074 6f20 6465 buffering to de\n-00116e70: 7465 726d 696e 6520 7468 6520 4854 5450 termine the HTTP\n-00116e80: 2063 6f6e 7465 6e74 206c 656e 6774 6820 content length \n-00116e90: 6865 6164 6572 2c20 7768 6963 6820 6361 header, which ca\n-00116ea0: 6e63 656c 7320 7468 6520 6265 6e65 6669 ncels the benefi\n-00116eb0: 7473 206f 6620 7374 7265 616d 696e 6720 ts of streaming \n-00116ec0: 4449 4d45 2e20 546f 2061 766f 6964 2074 DIME. To avoid t\n-00116ed0: 6869 732c 2079 6f75 2073 686f 756c 6420 his, you should \n-00116ee0: 7573 6520 6368 756e 6b65 6420 4854 5450 use chunked HTTP\n-00116ef0: 2028 7769 7468 2074 6865 206f 7574 7075 (with the outpu\n-00116f00: 742d 6d6f 6465 203c 636f 6465 3e23 534f t-mode #SO\n-00116f10: 4150 5f49 4f5f 4348 554e 4b3c 2f63 6f64 AP_IO_CHUNK flag) with co\n-00116f30: 6d70 7265 7373 696f 6e20 616e 6420 7374 mpression and st\n-00116f40: 7265 616d 696e 6720 4449 4d45 2e20 4174 reaming DIME. At\n-00116f50: 2074 6865 2073 6572 7665 7220 7369 6465 the server side\n-00116f60: 2c20 7768 656e 2079 6f75 2073 6574 203c , when you set <\n-00116f70: 636f 6465 3e23 534f 4150 5f49 4f5f 4348 code>#SOAP_IO_CH\n-00116f80: 554e 4b3c 2f63 6f64 653e 2062 6566 6f72 UNK
befor\n-00116f90: 6520 6361 6c6c 696e 6720 3c63 6f64 653e e calling \n-00116fa0: 3c61 2063 6c61 7373 3d22 656c 2220 6872 s\n-00117010: 6f61 705f 7365 7276 653c 2f61 3e3c 2f63 oap_serve, the engine\n-00117030: 2077 696c 6c20 6175 746f 6d61 7469 6361 will automatica\n-00117040: 6c6c 7920 7265 7665 7274 2074 6f20 6275 lly revert to bu\n-00117050: 6666 6572 696e 6720 283c 636f 6465 3e23 ffering (
#\n-00117060: 534f 4150 5f49 4f5f 5354 4f52 453c 2f63 SOAP_IO_STORE flag is set\n-00117080: 292e 2059 6f75 2063 616e 2063 6865 636b ). You can check\n-00117090: 2074 6869 7320 666c 6167 2077 6974 6820 this flag with \n-001170a0: 3c63 6f64 653e 2873 6f61 702d 2667 743b
(soap->\n-001170b0: 6f6d 6f64 6520 2661 6d70 3b20 534f 4150 omode & SOAP\n-001170c0: 5f49 4f29 203d 3d20 534f 4150 5f49 4f5f _IO) == SOAP_IO_\n-001170d0: 4348 554e 4b3c 2f63 6f64 653e 2074 6f20 CHUNK
to \n-001170e0: 7365 6520 6966 2074 6865 2063 6c69 656e see if the clien\n-001170f0: 7420 6163 6365 7074 7320 6368 756e 6b69 t accepts chunki\n-00117100: 6e67 2e20 4d6f 7265 2069 6e66 6f72 6d61 ng. More informa\n-00117110: 7469 6f6e 2061 626f 7574 2073 7472 6561 tion about strea\n-00117120: 6d69 6e67 2063 6875 6e6b 6564 2044 494d ming chunked DIM\n-00117130: 4520 6361 6e20 6265 2066 6f75 6e64 2069 E can be found i\n-00117140: 6e20 5365 6374 696f 6e20 3c61 2063 6c61 n Section Streaming\n-00117180: 2063 6875 6e6b 6564 2044 494d 453c 2f61 chunked DIME .
..Str\n-00117350: 6561 6d69 6e67 2063 6875 6e6b 6564 2044 eaming chunked D\n-00117360: 494d 453c 2f68 323e 0a3c 703e 546f 2073 IME
.#SOAP_IO_CHUNK<\n-00117470: 2f63 6f64 653e 2066 6c61 672e 2054 6865 /code> flag. The\n-00117480: 6e2c 2074 6f20 7374 7265 616d 2063 6875 n, to stream chu\n-00117490: 6e6b 6564 2044 494d 452c 2073 6574 2074 nked DIME, set t\n-001174a0: 6865 203c 636f 6465 3e5f 5f73 697a 653c he
__size<\n-001174b0: 2f63 6f64 653e 206d 656d 6265 7220 6f66 /code> member of\n-001174c0: 2061 6e20 6174 7461 6368 6d65 6e74 2074 an attachment t\n-001174d0: 6f20 7a65 726f 2061 6e64 2065 6e61 626c o zero and enabl\n-001174e0: 6520 4449 4d45 2063 6875 6e6b 696e 672e e DIME chunking.\n-001174f0: 2054 6865 2044 494d 4520 3c63 6f64 653e The DIME
\n-00117500: 3c61 2063 6c61 7373 3d22 656c 2220 6872 \n-00117590: 736f 6170 3a3a 6664 696d 6572 6561 643c soap::fdimeread<\n-001175a0: 2f61 3e3c 2f63 6f64 653e 2063 616c 6c62 /a>
callb\n-001175b0: 6163 6b20 7468 656e 2066 6574 6368 6573 ack then fetches\n-001175c0: 2064 6174 6120 696e 2063 6875 6e6b 7320 data in chunks \n-001175d0: 616e 6420 6974 2069 7320 696d 706f 7274 and it is import\n-001175e0: 616e 7420 746f 2066 696c 6c20 7468 6520 ant to fill the \n-001175f0: 656e 7469 7265 2062 7566 6665 7220 756e entire buffer un\n-00117600: 6c65 7373 2074 6865 2065 6e64 206f 6620 less the end of \n-00117610: 7468 6520 6461 7461 2068 6173 2062 6565 the data has bee\n-00117620: 6e20 7265 6163 6865 6420 616e 6420 7468 n reached and th\n-00117630: 6520 6c61 7374 2063 6875 6e6b 2069 7320 e last chunk is \n-00117640: 746f 2062 6520 7365 6e64 2e20 5468 6174 to be send. That\n-00117650: 2069 732c 203c 636f 6465 3e3c 6120 636c is, soap:\n-001176f0: 3a66 6469 6d65 7265 6164 3c2f 613e 3c2f :fdimeread\n-00117700: 636f 6465 3e20 7368 6f75 6c64 2072 6574 code> should ret\n-00117710: 7572 6e20 7468 6520 7661 6c75 6520 6f66 urn the value of\n-00117720: 2074 6865 206c 6173 7420 3c63 6f64 653e the last
\n-00117730: 6c65 6e3c 2f63 6f64 653e 2070 6172 616d len
param\n-00117740: 6574 6572 2061 6e64 2066 696c 6c20 7468 eter and fill th\n-00117750: 6520 656e 7469 7265 2062 7566 6665 7220 e entire buffer \n-00117760: 3c63 6f64 653e 6275 663c 2f63 6f64 653e buf
\n-00117770: 2066 6f72 2061 6c6c 2063 6875 6e6b 7320 for all chunks \n-00117780: 6578 6365 7074 2074 6865 206c 6173 742e except the last.\n-00117790: 2046 6f72 2074 6865 206c 6173 7420 6974 For the last it\n-001177a0: 2072 6574 7572 6e73 2030 2e3c 2f70 3e0a returns 0.#S\n-001177d0: 4f41 505f 494f 5f53 544f 5245 3c2f 636f OAP_IO_STORE flag, but th\n-001177f0: 6174 2063 616e 6365 6c73 2074 6865 2062 at cancels the b\n-00117800: 656e 6566 6974 7320 6f66 2073 7472 6561 enefits of strea\n-00117810: 6d69 6e67 2044 494d 452e 3c2f 703e 0a3c ming DIME.
.WS\n-00117880: 444c 2062 696e 6469 6e67 7320 666f 7220 DL bindings for \n-00117890: 4449 4d45 2061 7474 6163 686d 656e 7473 DIME attachments\n-001178a0: 3c2f 6832 3e0a 3c70 3e54 6865 2077 7364
.xsd_\n-00117a80: 5f62 6173 6536 3442 696e 6172 793c 2f61 _base64Binary
struct \n-00117aa0: 6f72 2063 6c61 7373 2066 6f72 2064 6f63 or class for doc\n-00117ab0: 756d 656e 742f 6c69 7465 7261 6c20 6d65 ument/literal me\n-00117ac0: 7373 6167 696e 672e 3c2f 703e 0a3c 703e ssaging..MTOM atta\n-00117bd0: 6368 6d65 6e74 733c 2f68 313e 0a3c 703e chments
.<\n-00117fa0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-00117fb0: 663d 2273 7472 7563 745f 5f78 6f70 5f5f f=\"struct__xop__\n-00117fc0: 5f5f 5f69 6e63 6c75 6465 2e68 746d 6c22 ___include.html\"\n-00117fd0: 2074 6974 6c65 3d22 584f 5020 696e 636c title=\"XOP incl\n-00117fe0: 7564 6520 7374 7275 6374 7572 6520 7769 ude structure wi\n-00117ff0: 7468 2061 7474 6163 686d 656e 7420 6461 th attachment da\n-00118000: 7461 2e22 3e5f 786f 705f 5f49 6e63 6c75 ta.\">_xop__Inclu\n-00118010: 6465 3c2f 613e 3c2f 636f 6465 3e20 7374 de
st\n-00118020: 7275 6374 206f 7220 636c 6173 732c 2074 ruct or class, t\n-00118030: 6861 7420 6973 2075 7365 6420 746f 2072 hat is used to r\n-00118040: 6566 6572 656e 6365 2061 7474 6163 686d eference attachm\n-00118050: 656e 7428 7329 2066 726f 6d20 7468 6520 ent(s) from the \n-00118060: 534f 4150 206d 6573 7361 6765 2062 6f64 SOAP message bod\n-00118070: 792e 3c2f 703e 0a3c 703e 4265 6361 7573 y.import/xop\n-001181a0: 2e68 3c2f 636f 6465 3e3c 2f65 6d3e 2066 .h
f\n-001181b0: 696c 653a 3c2f 703e 0a3c 6469 7620 636c ile:id\n-00118fe0: 636f 6465 3e2c 203c 636f 6465 3e74 7970 code>,
members enable\n-00119020: 204d 544f 4d20 6174 7461 6368 6d65 6e74 MTOM attachment\n-00119030: 7320 666f 7220 7468 6520 6461 7461 2070 s for the data p\n-00119040: 6f69 6e74 6564 2074 6f20 6279 203c 636f ointed to by typ\n-00118ff0: 653c 2f63 6f64 653e 2c20 616e 6420 3c63 e
, and __\n-00119070: 7369 7a65 3c2f 636f 6465 3e2e 2054 6865 size
. The\n-00119080: 2070 726f 6365 7373 2066 6f72 2073 656e process for sen\n-00119090: 6469 6e67 2061 6e64 2072 6563 6569 7669 ding and receivi\n-001190a0: 6e67 204d 544f 4d20 584f 5020 6174 7461 ng MTOM XOP atta\n-001190b0: 6368 6d65 6e74 7320 6973 2066 756c 6c79 chments is fully\n-001190c0: 2061 7574 6f6d 6174 6564 2e20 5468 6520 automated. The \n-001190d0: 3c63 6f64 653e 6964 3c2f 636f 6465 3e20 id
\n-001190e0: 6d65 6d62 6572 2072 6566 6572 656e 6365 member reference\n-001190f0: 7320 7468 6520 6174 7461 6368 6d65 6e74 s the attachment\n-00119100: 2c20 7479 7069 6361 6c6c 7920 6120 636f , typically a co\n-00119110: 6e74 656e 7420 6964 2043 4944 206f 7220 ntent id CID or \n-00119120: 5555 4944 2077 6869 6368 2063 616e 2062 UUID which can b\n-00119130: 6520 6f62 7461 696e 6564 2077 6974 6820 e obtained with \n-00119140: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 soap_rand\n-001191d0: 5f75 7569 643c 2f61 3e3c 2f63 6f64 653e _uuid
\n-001191e0: 2e20 5768 656e 2073 6574 2074 6f20 4e55 . When set to NU\n-001191f0: 4c4c 2c20 6120 756e 6971 7565 2043 4944 LL, a unique CID\n-00119200: 2069 7320 6175 746f 6d61 7469 6361 6c6c is automaticall\n-00119210: 7920 7573 6564 2e20 5468 6520 3c63 6f64 y used. The \n-00119280: 6f70 7469 6f6e 733c 2f63 6f64 653e 206d options
m\n-00119290: 656d 6265 7220 6361 6e20 6265 2075 7365 ember can be use\n-001192a0: 6420 746f 2070 6967 6779 2d62 6163 6b20 d to piggy-back \n-001192b0: 6465 7363 7269 7074 6976 6520 7465 7874 descriptive text\n-001192c0: 2077 6974 6820 616e 2061 7474 6163 686d with an attachm\n-001192d0: 656e 742e 2054 6865 206f 7264 6572 206f ent. The order o\n-001192e0: 6620 7468 6520 6465 636c 6172 6174 696f f the declaratio\n-001192f0: 6e20 6f66 2074 6865 206d 656d 6265 7273 n of the members\n-00119300: 2069 7320 7369 676e 6966 6963 616e 742e is significant.\n-00119310: 3c2f 703e 0a3c 703e 596f 7520 6361 6e20 xop.h
in your inter\n-00119350: 6661 6365 2068 6561 6465 7220 6669 6c65 face header file\n-00119360: 2074 6f20 7573 6520 7468 6520 4d54 4f4d to use the MTOM\n-00119370: 2061 7474 6163 686d 656e 7473 2c20 666f attachments, fo\n-00119380: 7220 6578 616d 706c 653a 3c2f 703e 0a3c r example:size_t\n+00115e30: 7370 616e 3e20 6c65 6e29 203c 2f64 6976 span> len) return\n+001162b0: 7370 616e 3e20 3c61 2063 6c61 7373 3d22 span> SOAP_O\n+00116310: 4b3c 2f61 3e3b 203c 2f64 6976 3e0a 3c64 K; #SO\n+00116de0: 4150 5f45 4e43 5f5a 4c49 423c 2f63 6f64 AP_ENC_ZLIB can be used w\n+00116e00: 6974 6820 4449 4d45 2074 6f20 636f 6d70 ith DIME to comp\n+00116e10: 7265 7373 2074 6865 2065 6e74 6972 6520 ress the entire \n+00116e20: 6d65 7373 6167 652e 2048 6f77 6576 6572 message. However\n+00116e30: 2c20 636f 6d70 7265 7373 696f 6e20 7265 , compression re\n+00116e40: 7175 6972 6573 2062 7566 6665 7269 6e67 quires buffering\n+00116e50: 2074 6f20 6465 7465 726d 696e 6520 7468 to determine th\n+00116e60: 6520 4854 5450 2063 6f6e 7465 6e74 206c e HTTP content l\n+00116e70: 656e 6774 6820 6865 6164 6572 2c20 7768 ength header, wh\n+00116e80: 6963 6820 6361 6e63 656c 7320 7468 6520 ich cancels the \n+00116e90: 6265 6e65 6669 7473 206f 6620 7374 7265 benefits of stre\n+00116ea0: 616d 696e 6720 4449 4d45 2e20 546f 2061 aming DIME. To a\n+00116eb0: 766f 6964 2074 6869 732c 2079 6f75 2073 void this, you s\n+00116ec0: 686f 756c 6420 7573 6520 6368 756e 6b65 hould use chunke\n+00116ed0: 6420 4854 5450 2028 7769 7468 2074 6865 d HTTP (with the\n+00116ee0: 206f 7574 7075 742d 6d6f 6465 203c 636f output-mode
flag) w\n+00116f10: 6974 6820 636f 6d70 7265 7373 696f 6e20 ith compression \n+00116f20: 616e 6420 7374 7265 616d 696e 6720 4449 and streaming DI\n+00116f30: 4d45 2e20 4174 2074 6865 2073 6572 7665 ME. At the serve\n+00116f40: 7220 7369 6465 2c20 7768 656e 2079 6f75 r side, when you\n+00116f50: 2073 6574 203c 636f 6465 3e23 534f 4150 set #SOAP\n+00116f60: 5f49 4f5f 4348 554e 4b3c 2f63 6f64 653e _IO_CHUNK
\n+00116f70: 2062 6566 6f72 6520 6361 6c6c 696e 6720 before calling \n+00116f80: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 soap_serve<\n+00117000: 2f61 3e3c 2f63 6f64 653e 2c20 7468 6520 /a>
, the \n+00117010: 656e 6769 6e65 2077 696c 6c20 6175 746f engine will auto\n+00117020: 6d61 7469 6361 6c6c 7920 7265 7665 7274 matically revert\n+00117030: 2074 6f20 6275 6666 6572 696e 6720 283c to buffering (<\n+00117040: 636f 6465 3e23 534f 4150 5f49 4f5f 5354 code>#SOAP_IO_ST\n+00117050: 4f52 453c 2f63 6f64 653e 2066 6c61 6720 ORE flag \n+00117060: 6973 2073 6574 292e 2059 6f75 2063 616e is set). You can\n+00117070: 2063 6865 636b 2074 6869 7320 666c 6167 check this flag\n+00117080: 2077 6974 6820 3c63 6f64 653e 2873 6f61 with (soa\n+00117090: 702d 2667 743b 6f6d 6f64 6520 2661 6d70 p->omode &\n+001170a0: 3b20 534f 4150 5f49 4f29 203d 3d20 534f ; SOAP_IO) == SO\n+001170b0: 4150 5f49 4f5f 4348 554e 4b3c 2f63 6f64 AP_IO_CHUNK to see if the\n+001170d0: 2063 6c69 656e 7420 6163 6365 7074 7320 client accepts \n+001170e0: 6368 756e 6b69 6e67 2e20 4d6f 7265 2069 chunking. More i\n+001170f0: 6e66 6f72 6d61 7469 6f6e 2061 626f 7574 nformation about\n+00117100: 2073 7472 6561 6d69 6e67 2063 6875 6e6b streaming chunk\n+00117110: 6564 2044 494d 4520 6361 6e20 6265 2066 ed DIME can be f\n+00117120: 6f75 6e64 2069 6e20 5365 6374 696f 6e20 ound in Section \n+00117130: 3c61 2063 6c61 7373 3d22 656c 2220 6872 Str\n+00117160: 6561 6d69 6e67 2063 6875 6e6b 6564 2044 eaming chunked D\n+00117170: 494d 453c 2f61 3e20 2e3c 2f70 3e0a 3c64 IME .
options<\n+001171c0: 2f63 6f64 653e 206d 656d 6265 7220 6973 /code> member is\n+001171d0: 2061 2044 494d 452d 7370 6563 6966 6963 a DIME-specific\n+001171e0: 2064 6174 6120 7374 7275 6374 7572 652c data structure,\n+001171f0: 2063 6f6e 7369 7374 696e 6720 6f66 2061 consisting of a\n+00117200: 2034 2062 7974 6520 6865 6164 6572 2063 4 byte header c\n+00117210: 6f6e 7461 696e 696e 6720 7468 6520 6f70 ontaining the op\n+00117220: 7469 6f6e 2074 7970 6520 696e 666f 2028 tion type info (\n+00117230: 6869 2062 7974 652c 206c 6f20 6279 7465 hi byte, lo byte\n+00117240: 292c 206f 7074 696f 6e20 7374 7269 6e67 ), option string\n+00117250: 206c 656e 6774 6820 2868 6920 6279 7465 length (hi byte\n+00117260: 2c20 6c6f 2062 7974 6529 2c20 666f 6c6c , lo byte), foll\n+00117270: 6f77 6564 2062 7920 6120 6e6f 6e2d 275c owed by a non-'\\\n+00117280: 3027 2074 6572 6d69 6e61 7465 6420 7374 0' terminated st\n+00117290: 7269 6e67 2e20 5468 6520 4449 4d45 2068 ring. The DIME h\n+001172a0: 616e 646c 6572 2072 6563 6f67 6e69 7a65 andler recognize\n+001172b0: 7320 6f6e 6520 6f70 7469 6f6e 2061 7420 s one option at \n+001172c0: 6d6f 7374 2e3c 2f64 643e 3c2f 646c 3e0a most.
\n+00117330: 613e 0a53 7472 6561 6d69 6e67 2063 6875 a>.Streaming chu\n+00117340: 6e6b 6564 2044 494d 453c 2f68 323e 0a3c nked DIME
.<\n+00117350: 703e 546f 2073 656e 6420 4449 4d45 2061 p>To send DIME a\n+00117360: 7474 6163 686d 656e 7473 2c20 7468 6520 ttachments, the \n+00117370: 6174 7461 6368 6d65 6e74 2073 697a 6573 attachment sizes\n+00117380: 206d 7573 7420 6265 2064 6574 6572 6d69 must be determi\n+00117390: 6e65 6420 696e 2061 6476 616e 6365 2074 ned in advance t\n+001173a0: 6f20 6361 6c63 756c 6174 6520 4854 5450 o calculate HTTP\n+001173b0: 206d 6573 7361 6765 206c 656e 6774 6820 message length \n+001173c0: 7265 7175 6972 6564 2074 6f20 7374 7265 required to stre\n+001173d0: 616d 2044 494d 4520 6f76 6572 2048 5454 am DIME over HTT\n+001173e0: 502e 2048 6f77 6576 6572 2c20 6368 756e P. However, chun\n+001173f0: 6b65 6420 4449 4d45 2074 6f67 6574 6865 ked DIME togethe\n+00117400: 7220 7769 7468 2063 6875 6e6b 6564 2048 r with chunked H\n+00117410: 5454 5020 6361 6e20 6265 2075 7365 6420 TTP can be used \n+00117420: 746f 206f 6d69 7420 7468 6973 2073 7465 to omit this ste\n+00117430: 702e 2046 6972 7374 2073 6574 2074 6865 p. First set the\n+00117440: 203c 636f 6465 3e23 534f 4150 5f49 4f5f #SOAP_IO_\n+00117450: 4348 554e 4b3c 2f63 6f64 653e 2066 6c61 CHUNK
fla\n+00117460: 672e 2054 6865 6e2c 2074 6f20 7374 7265 g. Then, to stre\n+00117470: 616d 2063 6875 6e6b 6564 2044 494d 452c am chunked DIME,\n+00117480: 2073 6574 2074 6865 203c 636f 6465 3e5f set the _\n+00117490: 5f73 697a 653c 2f63 6f64 653e 206d 656d _size
mem\n+001174a0: 6265 7220 6f66 2061 6e20 6174 7461 6368 ber of an attach\n+001174b0: 6d65 6e74 2074 6f20 7a65 726f 2061 6e64 ment to zero and\n+001174c0: 2065 6e61 626c 6520 4449 4d45 2063 6875 enable DIME chu\n+001174d0: 6e6b 696e 672e 2054 6865 2044 494d 4520 nking. The DIME \n+001174e0: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 soap::fdim\n+00117580: 6572 6561 643c 2f61 3e3c 2f63 6f64 653e eread
\n+00117590: 2063 616c 6c62 6163 6b20 7468 656e 2066 callback then f\n+001175a0: 6574 6368 6573 2064 6174 6120 696e 2063 etches data in c\n+001175b0: 6875 6e6b 7320 616e 6420 6974 2069 7320 hunks and it is \n+001175c0: 696d 706f 7274 616e 7420 746f 2066 696c important to fil\n+001175d0: 6c20 7468 6520 656e 7469 7265 2062 7566 l the entire buf\n+001175e0: 6665 7220 756e 6c65 7373 2074 6865 2065 fer unless the e\n+001175f0: 6e64 206f 6620 7468 6520 6461 7461 2068 nd of the data h\n+00117600: 6173 2062 6565 6e20 7265 6163 6865 6420 as been reached \n+00117610: 616e 6420 7468 6520 6c61 7374 2063 6875 and the last chu\n+00117620: 6e6b 2069 7320 746f 2062 6520 7365 6e64 nk is to be send\n+00117630: 2e20 5468 6174 2069 732c 203c 636f 6465 . That is, soap::fdimeread\n+001176e0: 3c2f 613e 3c2f 636f 6465 3e20 7368 6f75
shou\n+001176f0: 6c64 2072 6574 7572 6e20 7468 6520 7661 ld return the va\n+00117700: 6c75 6520 6f66 2074 6865 206c 6173 7420 lue of the last \n+00117710: 3c63 6f64 653e 6c65 6e3c 2f63 6f64 653e len
\n+00117720: 2070 6172 616d 6574 6572 2061 6e64 2066 parameter and f\n+00117730: 696c 6c20 7468 6520 656e 7469 7265 2062 ill the entire b\n+00117740: 7566 6665 7220 3c63 6f64 653e 6275 663c uffer buf<\n+00117750: 2f63 6f64 653e 2066 6f72 2061 6c6c 2063 /code> for all c\n+00117760: 6875 6e6b 7320 6578 6365 7074 2074 6865 hunks except the\n+00117770: 206c 6173 742e 2046 6f72 2074 6865 206c last. For the l\n+00117780: 6173 7420 6974 2072 6574 7572 6e73 2030 ast it returns 0\n+00117790: 2e3c 2f70 3e0a 3c70 3e59 6f75 2063 616e ..
flag, \n+001177d0: 6275 7420 7468 6174 2063 616e 6365 6c73 but that cancels\n+001177e0: 2074 6865 2062 656e 6566 6974 7320 6f66 the benefits of\n+001177f0: 2073 7472 6561 6d69 6e67 2044 494d 452e streaming DIME.\n+00117800: 3c2f 703e 0a3c 703e f09f 949d 203c 6120 ..<\n+00117840: 6120 636c 6173 733d 2261 6e63 686f 7222 a class=\"anchor\"\n+00117850: 2069 643d 2244 494d 4557 5344 4c22 3e3c id=\"DIMEWSDL\"><\n+00117860: 2f61 3e0a 5753 444c 2062 696e 6469 6e67 /a>.WSDL binding\n+00117870: 7320 666f 7220 4449 4d45 2061 7474 6163 s for DIME attac\n+00117880: 686d 656e 7473 3c2f 6832 3e0a 3c70 3e54 hments
..MTO\n+00117bb0: 4d20 6174 7461 6368 6d65 6e74 733c 2f68 M attachments.
xop:In\n+00117f40: 636c 7564 653c 2f63 6f64 653e 3c2f 656d clude
is defined in \n+00117f60: 7468 6520 696e 7465 7266 6163 6520 6865 the interface he\n+00117f70: 6164 6572 2066 696c 6520 6173 2061 203c ader file as a <\n+00117f80: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>_xop_\n+00117ff0: 5f49 6e63 6c75 6465 3c2f 613e 3c2f 636f _Include struct or cl\n+00118010: 6173 732c 2074 6861 7420 6973 2075 7365 ass, that is use\n+00118020: 6420 746f 2072 6566 6572 656e 6365 2061 d to reference a\n+00118030: 7474 6163 686d 656e 7428 7329 2066 726f ttachment(s) fro\n+00118040: 6d20 7468 6520 534f 4150 206d 6573 7361 m the SOAP messa\n+00118050: 6765 2062 6f64 792e 3c2f 703e 0a3c 703e ge body.impo\n+00118180: 7274 2f78 6f70 2e68 3c2f 636f 6465 3e3c rt/xop.h
<\n+00118190: 2f65 6d3e 2066 696c 653a 3c2f 703e 0a3c /em> file:option\n+00118ff0: 3c2f 636f 6465 3e20 6d65 6d62 6572 7320
members \n+00119000: 656e 6162 6c65 204d 544f 4d20 6174 7461 enable MTOM atta\n+00119010: 6368 6d65 6e74 7320 666f 7220 7468 6520 chments for the \n+00119020: 6461 7461 2070 6f69 6e74 6564 2074 6f20 data pointed to \n+00119030: 6279 203c 636f 6465 3e5f 5f70 7472 3c2f by __ptr\n+00119040: 636f 6465 3e20 6f66 2073 697a 6520 3c63 code> of size
. The process f\n+00119070: 6f72 2073 656e 6469 6e67 2061 6e64 2072 or sending and r\n+00119080: 6563 6569 7669 6e67 204d 544f 4d20 584f eceiving MTOM XO\n+00119090: 5020 6174 7461 6368 6d65 6e74 7320 6973 P attachments is\n+001190a0: 2066 756c 6c79 2061 7574 6f6d 6174 6564 fully automated\n+001190b0: 2e20 5468 6520 3c63 6f64 653e 6964 3c2f . The id\n+001190c0: 636f 6465 3e20 6d65 6d62 6572 2072 6566 code> member ref\n+001190d0: 6572 656e 6365 7320 7468 6520 6174 7461 erences the atta\n+001190e0: 6368 6d65 6e74 2c20 7479 7069 6361 6c6c chment, typicall\n+001190f0: 7920 6120 636f 6e74 656e 7420 6964 2043 y a content id C\n+00119100: 4944 206f 7220 5555 4944 2077 6869 6368 ID or UUID which\n+00119110: 2063 616e 2062 6520 6f62 7461 696e 6564 can be obtained\n+00119120: 2077 6974 6820 3c63 6f64 653e 3c61 2063 with
soa\n+001191b0: 705f 7261 6e64 5f75 7569 643c 2f61 3e3c p_rand_uuid<\n+001191c0: 2f63 6f64 653e 2e20 5768 656e 2073 6574 /code>. When set\n+001191d0: 2074 6f20 4e55 4c4c 2c20 6120 756e 6971 to NULL, a uniq\n+001191e0: 7565 2043 4944 2069 7320 6175 746f 6d61 ue CID is automa\n+001191f0: 7469 6361 6c6c 7920 7573 6564 2e20 5468 tically used. Th\n+00119200: 6520 3c63 6f64 653e 7479 7065 3c2f 636f e
type
options member can \n+00119280: 6265 2075 7365 6420 746f 2070 6967 6779 be used to piggy\n+00119290: 2d62 6163 6b20 6465 7363 7269 7074 6976 -back descriptiv\n+001192a0: 6520 7465 7874 2077 6974 6820 616e 2061 e text with an a\n+001192b0: 7474 6163 686d 656e 742e 2054 6865 206f ttachment. The o\n+001192c0: 7264 6572 206f 6620 7468 6520 6465 636c rder of the decl\n+001192d0: 6172 6174 696f 6e20 6f66 2074 6865 206d aration of the m\n+001192e0: 656d 6265 7273 2069 7320 7369 676e 6966 embers is signif\n+001192f0: 6963 616e 742e 3c2f 703e 0a3c 703e 596f icant.
xop.h
in your\n+00119330: 2069 6e74 6572 6661 6365 2068 6561 6465 interface heade\n+00119340: 7220 6669 6c65 2074 6f20 7573 6520 7468 r file to use th\n+00119350: 6520 4d54 4f4d 2061 7474 6163 686d 656e e MTOM attachmen\n+00119360: 7473 2c20 666f 7220 6578 616d 706c 653a ts, for example:\n+00119370: 3c2f 703e 0a3c 6469 7620 636c 6173 733d //gsoap SOAP\n+00119540: 2d45 4e56 2073 6368 656d 6120 6e61 6d65 -ENV schema name\n+00119550: 7370 6163 653a 2068 7474 703a 2f2f 7777 space: http://ww\n+00119560: 772e 7733 2e6f 7267 2f32 3030 332f 3035 w.w3.org/2003/05\n+00119570: 2f73 6f61 702d 656e 7665 6c6f 7065 203c /soap-envelope <\n+00119580: 2f73 7061 6e3e 3c2f 6469 763e 0a3c 6469 /span>type members are \n-001199e0: 6e6f 6e2d 4e55 4c4c 2c20 7468 6520 6461 non-NULL, the da\n-001199f0: 7461 2069 7320 7472 616e 736d 6974 7465 ta is transmitte\n-00119a00: 6420 6173 204d 544f 4d20 4d49 4d45 2061 d as MTOM MIME a\n-00119a10: 7474 6163 686d 656e 7420 6966 2074 6865 ttachment if the\n-00119a20: 203c 636f 6465 3e23 534f 4150 5f45 4e43
#SOAP_ENC\n-00119a30: 5f4d 544f 4d3c 2f63 6f64 653e 2066 6c61 _MTOM
fla\n-00119a40: 6720 6973 2073 6574 2069 6e20 7468 6520 g is set in the \n-00119a50: 6753 4f41 5027 7320 736f 6170 2073 7472 gSOAP's soap str\n-00119a60: 7563 7420 636f 6e74 6578 743a 3c2f 703e uct context:soap_set_dime_\n-00119f40: 6174 7461 6368 6d65 6e74 3c2f 613e 3c2f attachment\n-00119f50: 636f 6465 3e20 6675 6e63 7469 6f6e 2920 code> function) \n-00119f60: 6f72 2070 6c61 696e 2062 6173 6536 3420 or plain base64 \n-00119f70: 6269 6e61 7279 2058 4d4c 2064 6174 6120 binary XML data \n-00119f80: 656c 656d 656e 7473 2c20 6974 2069 7320 elements, it is \n-00119f90: 7665 7279 2065 6173 7920 746f 2061 646f very easy to ado\n-00119fa0: 7074 204d 544f 4d20 6279 2072 656e 616d pt MTOM by renam\n-00119fb0: 696e 6720 7468 6520 6269 6e61 7279 2074 ing the binary t\n-00119fc0: 7970 6573 2074 6f20 3c63 6f64 653e 786f ypes to
xo\n-00119fd0: 705f 5f49 6e63 6c75 6465 3c2f 636f 6465 p__Include
and using the \n-00119ff0: 3c63 6f64 653e 2353 4f41 505f 454e 435f #SOAP_ENC_\n-0011a000: 4d54 4f4d 3c2f 636f 6465 3e20 666c 6167 MTOM
flag\n-0011a010: 2077 6974 6820 7468 6520 534f 4150 2031 with the SOAP 1\n-0011a020: 2e32 206e 616d 6573 7061 6365 2e3c 2f70 .2 namespace..Generating\n-0011a110: 204d 756c 7469 7061 7274 5265 6c61 7465 MultipartRelate\n-0011a120: 6420 4d49 4d45 2061 7474 6163 686d 656e d MIME attachmen\n-0011a130: 7420 6269 6e64 696e 6773 2069 6e20 5753 t bindings in WS\n-0011a140: 444c 3c2f 6832 3e0a 3c70 3e54 6f20 6765 DL
.struct x__myData .x__myD\n+00119960: 6174 6154 7970 653c 2f63 6f64 653e 2069 ataType
i\n+00119970: 7320 7365 7269 616c 697a 6564 2061 6e64 s serialized and\n+00119980: 2065 6974 6865 7220 6f72 2062 6f74 6820 either or both \n+00119990: 7468 6520 3c63 6f64 653e 6964 3c2f 636f the id and
ty\n+001199b0: 7065 3c2f 636f 6465 3e20 6d65 6d62 6572 pe
member\n+001199c0: 7320 6172 6520 6e6f 6e2d 4e55 4c4c 2c20 s are non-NULL, \n+001199d0: 7468 6520 6461 7461 2069 7320 7472 616e the data is tran\n+001199e0: 736d 6974 7465 6420 6173 204d 544f 4d20 smitted as MTOM \n+001199f0: 4d49 4d45 2061 7474 6163 686d 656e 7420 MIME attachment \n+00119a00: 6966 2074 6865 203c 636f 6465 3e23 534f if the #SO\n+00119a10: 4150 5f45 4e43 5f4d 544f 4d3c 2f63 6f64 AP_ENC_MTOM flag is set i\n+00119a30: 6e20 7468 6520 6753 4f41 5027 7320 736f n the gSOAP's so\n+00119a40: 6170 2073 7472 7563 7420 636f 6e74 6578 ap struct contex\n+00119a50: 743a 3c2f 703e 0a3c 6469 7620 636c 6173 t:
soap_set\n+00119f20: 5f64 696d 655f 6174 7461 6368 6d65 6e74 _dime_attachment\n+00119f30: 3c2f 613e 3c2f 636f 6465 3e20 6675 6e63
func\n+00119f40: 7469 6f6e 2920 6f72 2070 6c61 696e 2062 tion) or plain b\n+00119f50: 6173 6536 3420 6269 6e61 7279 2058 4d4c ase64 binary XML\n+00119f60: 2064 6174 6120 656c 656d 656e 7473 2c20 data elements, \n+00119f70: 6974 2069 7320 7665 7279 2065 6173 7920 it is very easy \n+00119f80: 746f 2061 646f 7074 204d 544f 4d20 6279 to adopt MTOM by\n+00119f90: 2072 656e 616d 696e 6720 7468 6520 6269 renaming the bi\n+00119fa0: 6e61 7279 2074 7970 6573 2074 6f20 3c63 nary types to #SOA\n+00119fe0: 505f 454e 435f 4d54 4f4d 3c2f 636f 6465 P_ENC_MTOM
flag with the \n+0011a000: 534f 4150 2031 2e32 206e 616d 6573 7061 SOAP 1.2 namespa\n+0011a010: 6365 2e3c 2f70 3e0a 3c70 3e53 6565 2061 ce..Gene\n+0011a0f0: 7261 7469 6e67 204d 756c 7469 7061 7274 rating Multipart\n+0011a100: 5265 6c61 7465 6420 4d49 4d45 2061 7474 Related MIME att\n+0011a110: 6163 686d 656e 7420 6269 6e64 696e 6773 achment bindings\n+0011a120: 2069 6e20 5753 444c 3c2f 6832 3e0a 3c70 in WSDL
.text/xm\n-0011a840: 6c3c 2f63 6f64 653e 3c2f 656d 3e20 4d49 l
MI\n-0011a850: 4d45 2061 7474 6163 686d 656e 7473 2e20 ME attachments. \n-0011a860: 5365 6520 7468 6520 534f 4150 2d77 6974 See the SOAP-wit\n-0011a870: 682d 4174 7461 6368 6d65 6e74 2073 7065 h-Attachment spe\n-0011a880: 6369 6669 6361 7469 6f6e 2066 6f72 2074 cification for t\n-0011a890: 6865 204d 494d 4520 7479 7065 7320 746f he MIME types to\n-0011a8a0: 2075 7365 2028 666f 7220 6578 616d 706c use (for exampl\n-0011a8b0: 652c 203c 636f 6465 3e2a 2f2a 3c2f 636f e, */* is a wildcar\n-0011a8d0: 6429 2e20 4966 2074 6865 206f 7065 7261 d). If the opera\n-0011a8e0: 7469 6f6e 2068 6173 206d 6f72 6520 7468 tion has more th\n-0011a8f0: 616e 206f 6e65 2061 7474 6163 686d 656e an one attachmen\n-0011a900: 742c 206a 7573 7420 7265 7065 6174 2074 t, just repeat t\n-0011a910: 6869 7320 6469 7265 6374 6976 6520 666f his directive fo\n-0011a920: 7220 6561 6368 2061 7474 6163 686d 656e r each attachmen\n-0011a930: 7420 796f 7520 7761 6e74 2074 6f20 6269 t you want to bi\n-0011a940: 6e64 2074 6f20 7468 6520 6f70 6572 6174 nd to the operat\n-0011a950: 696f 6e2e 3c2f 703e 0a3c 703e 546f 2062 ion.
.Sending and re\n-0011aca0: 6365 6976 696e 6720 4d54 4f4d 2061 7474 ceiving MTOM att\n-0011acb0: 6163 686d 656e 7473 3c2f 6832 3e0a 3c70 achments
.\n-0011ad10: 2353 4f41 505f 454e 435f 4d54 4f4d 3c2f #SOAP_ENC_MTOM\n-0011ad20: 636f 6465 3e20 666c 6167 206f 6620 7468 code> flag of th\n-0011ad30: 6520 3c63 6f64 653e 3c61 2063 6c61 7373 e
soap context. Oth\n-0011ada0: 6572 7769 7365 2c20 7468 6520 7265 6775 erwise, the regu\n-0011adb0: 6c61 7220 4d49 4d45 2061 7474 6163 686d lar MIME attachm\n-0011adc0: 656e 7420 6d65 6368 616e 6973 6d20 2853 ent mechanism (S\n-0011add0: 7741 2920 7769 6c6c 2062 6520 7573 6564 wA) will be used\n-0011ade0: 2074 6f20 7374 6f72 6520 6174 7461 6368 to store attach\n-0011adf0: 6d65 6e74 732e 3c2f 703e 0a3c 703e 5768 ments.
t\n-0011ae50: 7970 656d 6170 2e64 6174 3c2f 636f 6465 ypemap.dat
file incl\n-0011ae70: 7564 6564 2069 6e20 7468 6520 6753 4f41 uded in the gSOA\n-0011ae80: 5020 736f 7572 6365 2063 6f64 6520 7061 P source code pa\n-0011ae90: 636b 6167 652e 2054 6865 203c 656d 3e3c ckage. The <\n-0011aea0: 636f 6465 3e74 7970 656d 6170 2e64 6174 code>typemap.dat\n-0011aeb0: 3c2f 636f 6465 3e3c 2f65 6d3e 2066 696c fil\n-0011aec0: 6520 6465 6669 6e65 7320 7468 6520 584f e defines the XO\n-0011aed0: 5020 6e61 6d65 7370 6163 6520 616e 6420 P namespace and \n-0011aee0: 584d 4c20 4d49 4d45 206e 616d 6573 7061 XML MIME namespa\n-0011aef0: 6365 7320 6173 2069 6d70 6f72 7465 6420 ces as imported \n-0011af00: 6e61 6d65 7370 6163 6573 3a20 3c2f 703e namespaces: xop = &\n-0011af30: 6c74 3b68 7474 703a 2f2f 7777 772e 7733 lt;http://www.w3\n-0011af40: 2e6f 7267 2f32 3030 342f 3038 2f78 6f70 .org/2004/08/xop\n-0011af50: 2f69 6e63 6c75 6465 2667 743b 200a 786d /include> .xm\n-0011af60: 696d 6535 203d 2026 6c74 3b68 7474 703a ime5 = <http:\n-0011af70: 2f2f 7777 772e 7733 2e6f 7267 2f32 3030 //www.w3.org/200\n-0011af80: 352f 3035 2f78 6d6c 6d69 6d65 2667 743b 5/05/xmlmime>\n-0011af90: 200a 786d 696d 6534 203d 2026 6c74 3b68 .xmime4 = <h\n-0011afa0: 7474 703a 2f2f 7777 772e 7733 2e6f 7267 ttp://www.w3.org\n-0011afb0: 2f32 3030 342f 3131 2f78 6d6c 6d69 6d65 /2004/11/xmlmime\n-0011afc0: 2667 743b 0a3c 2f70 7265 3e3c 703e 2054 >.
_xop__Includ\n-0011b1d0: 653c 2f61 3e3c 2f63 6f64 653e 2065 6c65 e
ele\n-0011b1e0: 6d65 6e74 2069 7320 6465 6669 6e65 6420 ment is defined \n-0011b1f0: 696e 203c 656d 3e3c 636f 6465 3e78 6f70 in xop\n-0011b200: 2e68 3c2f 636f 6465 3e3c 2f65 6d3e 2e20 .h
. \n-0011b210: 5468 6572 6566 6f72 652c 2074 6865 2062 Therefore, the b\n-0011b220: 696e 6469 6e67 7320 7368 6f77 6e20 6162 indings shown ab\n-0011b230: 6f76 6520 7769 6c6c 206e 6f74 2074 7261 ove will not tra\n-0011b240: 6e73 6c61 7465 2074 6865 2058 4f50 2061 nslate the XOP a\n-0011b250: 6e64 2058 4d4c 204d 494d 4520 7363 6865 nd XML MIME sche\n-0011b260: 6d61 7320 746f 2063 6f64 652c 2062 7574 mas to code, but\n-0011b270: 2067 656e 6572 6174 6573 203c 636f 6465 generates #import
\n-0011b290: 7374 6174 656d 656e 7473 2069 6e73 7465 statements inste\n-0011b2a0: 6164 2069 6e20 7468 6520 6765 6e65 7261 ad in the genera\n-0011b2b0: 7465 6420 696e 7465 7266 6163 6520 6865 ted interface he\n-0011b2c0: 6164 6572 2066 696c 653a 3c2f 703e 0a3c ader file:#impor\n-0011b470: 7420 2278 6f70 2e68 223c 2f63 6f64 653e t \"xop.h\"
\n-0011b480: 2066 726f 6d20 6120 5753 444c 2074 6861 from a WSDL tha\n-0011b490: 7420 7265 6665 7265 6e63 6573 2058 4f50 t references XOP\n-0011b4a0: 2c20 666f 7220 6578 616d 706c 653a 3c2f , for example:\n-0011b4b0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.if (soap_call_ns_\n-0011bda0: 5f65 6368 6f44 6174 6128 3c61 2063 6c61 _echoData(soap, endpo\n-0011bde0: 696e 742c 2061 6374 696f 6e2c 2026 616d int, action, &am\n-0011bdf0: 703b 6461 7461 2c20 2661 6d70 3b64 6174 p;data, &dat\n-0011be00: 6129 293c 2f64 6976 3e0a 3c64 6976 2063 a))xop__I\n-0011c1a0: 6e63 6c75 6465 2e74 7970 653c 2f63 6f64 nclude.type member must b\n-0011c1c0: 6520 7365 7420 746f 2074 7261 6e73 6d69 e set to transmi\n-0011c1d0: 7420 4d54 4f4d 2061 7474 6163 686d 656e t MTOM attachmen\n-0011c1e0: 7473 2c20 6f74 6865 7277 6973 6520 696e ts, otherwise in\n-0011c1f0: 6c69 6e65 2062 6173 6536 3420 584d 4c20 line base64 XML \n-0011c200: 7769 6c6c 2062 6520 7365 6e74 2e3c 2f70 will be sent.
// and its c\n+0011a640: 6f6e 7465 6e74 5479 7065 203c 2f73 7061 ontentType //gsoa\n+0011a7c0: 7020 7820 7365 7276 6963 6520 6d65 7468 p x service meth\n+0011a7d0: 6f64 2d6d 696d 652d 7479 7065 3a3c 2f63 od-mime-type: directive i\n+0011a7f0: 6e64 6963 6174 6573 2074 6861 7420 7468 ndicates that th\n+0011a800: 6973 206f 7065 7261 7469 6f6e 2061 6363 is operation acc\n+0011a810: 6570 7473 203c 656d 3e3c 636f 6465 3e74 epts
t\n+0011a820: 6578 742f 786d 6c3c 2f63 6f64 653e 3c2f ext/xml
\n+0011a830: 656d 3e20 4d49 4d45 2061 7474 6163 686d em> MIME attachm\n+0011a840: 656e 7473 2e20 5365 6520 7468 6520 534f ents. See the SO\n+0011a850: 4150 2d77 6974 682d 4174 7461 6368 6d65 AP-with-Attachme\n+0011a860: 6e74 2073 7065 6369 6669 6361 7469 6f6e nt specification\n+0011a870: 2066 6f72 2074 6865 204d 494d 4520 7479 for the MIME ty\n+0011a880: 7065 7320 746f 2075 7365 2028 666f 7220 pes to use (for \n+0011a890: 6578 616d 706c 652c 203c 636f 6465 3e2a example, *\n+0011a8a0: 2f2a 3c2f 636f 6465 3e20 6973 2061 2077 /*
is a w\n+0011a8b0: 696c 6463 6172 6429 2e20 4966 2074 6865 ildcard). If the\n+0011a8c0: 206f 7065 7261 7469 6f6e 2068 6173 206d operation has m\n+0011a8d0: 6f72 6520 7468 616e 206f 6e65 2061 7474 ore than one att\n+0011a8e0: 6163 686d 656e 742c 206a 7573 7420 7265 achment, just re\n+0011a8f0: 7065 6174 2074 6869 7320 6469 7265 6374 peat this direct\n+0011a900: 6976 6520 666f 7220 6561 6368 2061 7474 ive for each att\n+0011a910: 6163 686d 656e 7420 796f 7520 7761 6e74 achment you want\n+0011a920: 2074 6f20 6269 6e64 2074 6f20 7468 6520 to bind to the \n+0011a930: 6f70 6572 6174 696f 6e2e 3c2f 703e 0a3c operation..Sending \n+0011ac80: 616e 6420 7265 6365 6976 696e 6720 4d54 and receiving MT\n+0011ac90: 4f4d 2061 7474 6163 686d 656e 7473 3c2f OM attachments\n+0011aca0: 6832 3e0a 3c70 3e41 2072 6563 6569 7665 h2>.
#SOAP_ENC_\n+0011ad00: 4d54 4f4d 3c2f 636f 6465 3e20 666c 6167 MTOM
flag\n+0011ad10: 206f 6620 7468 6520 3c63 6f64 653e 3c61 of the soap\n+0011ad70: 613e 3c2f 636f 6465 3e20 636f 6e74 6578 a>
contex\n+0011ad80: 742e 204f 7468 6572 7769 7365 2c20 7468 t. Otherwise, th\n+0011ad90: 6520 7265 6775 6c61 7220 4d49 4d45 2061 e regular MIME a\n+0011ada0: 7474 6163 686d 656e 7420 6d65 6368 616e ttachment mechan\n+0011adb0: 6973 6d20 2853 7741 2920 7769 6c6c 2062 ism (SwA) will b\n+0011adc0: 6520 7573 6564 2074 6f20 7374 6f72 6520 e used to store \n+0011add0: 6174 7461 6368 6d65 6e74 732e 3c2f 703e attachments.typem\n+0011ae90: 6170 2e64 6174 3c2f 636f 6465 3e3c 2f65 ap.dat
file defines \n+0011aeb0: 7468 6520 584f 5020 6e61 6d65 7370 6163 the XOP namespac\n+0011aec0: 6520 616e 6420 584d 4c20 4d49 4d45 206e e and XML MIME n\n+0011aed0: 616d 6573 7061 6365 7320 6173 2069 6d70 amespaces as imp\n+0011aee0: 6f72 7465 6420 6e61 6d65 7370 6163 6573 orted namespaces\n+0011aef0: 3a20 3c2f 703e 3c70 7265 2063 6c61 7373 : xop \n+0011af10: 2020 203d 2026 6c74 3b68 7474 703a 2f2f = <http://\n+0011af20: 7777 772e 7733 2e6f 7267 2f32 3030 342f www.w3.org/2004/\n+0011af30: 3038 2f78 6f70 2f69 6e63 6c75 6465 2667 08/xop/include&g\n+0011af40: 743b 200a 786d 696d 6535 203d 2026 6c74 t; .xmime5 = <\n+0011af50: 3b68 7474 703a 2f2f 7777 772e 7733 2e6f ;http://www.w3.o\n+0011af60: 7267 2f32 3030 352f 3035 2f78 6d6c 6d69 rg/2005/05/xmlmi\n+0011af70: 6d65 2667 743b 200a 786d 696d 6534 203d me> .xmime4 =\n+0011af80: 2026 6c74 3b68 7474 703a 2f2f 7777 772e <http://www.\n+0011af90: 7733 2e6f 7267 2f32 3030 342f 3131 2f78 w3.org/2004/11/x\n+0011afa0: 6d6c 6d69 6d65 2667 743b 0a3c 2f70 7265 mlmime>.
typemap.\n+0011afe0: 6461 743c 2f63 6f64 653e 3c2f 656d 3e20 dat
\n+0011aff0: 6669 6c65 2074 6f20 636f 6e76 6572 7420 file to convert \n+0011b000: 5753 444c 2069 6e74 6f20 616e 2069 6e74 WSDL into an int\n+0011b010: 6572 6661 6365 2068 6561 6465 7220 6669 erface header fi\n+0011b020: 6c65 2e20 496e 2074 6869 7320 6361 7365 le. In this case\n+0011b030: 2077 6520 646f 6e27 7420 7761 6e74 2074 we don't want t\n+0011b040: 6865 2077 7364 6c32 6820 746f 6f6c 2074 he wsdl2h tool t\n+0011b050: 6f20 7265 6164 2074 6865 2058 4f50 2073 o read the XOP s\n+0011b060: 6368 656d 6120 616e 6420 7472 616e 736c chema and transl\n+0011b070: 6174 6520 6974 2c20 7369 6e63 6520 7765 ate it, since we\n+0011b080: 2068 6176 6520 6120 7072 652d 6465 6669 have a pre-defi\n+0011b090: 6e65 6420 3c63 6f64 653e 3c61 2063 6c61 ned \n+0011b100: 5f78 6f70 5f5f 496e 636c 7564 653c 2f61 _xop__Include
element\n+0011b120: 2074 6f20 6861 6e64 6c65 2058 4f50 2066 to handle XOP f\n+0011b130: 6f72 204d 544f 4d2e 2054 6869 7320 3c63 or MTOM. This #import\n+0011b270: 636f 6465 3e20 7374 6174 656d 656e 7473 code> statements\n+0011b280: 2069 6e73 7465 6164 2069 6e20 7468 6520 instead in the \n+0011b290: 6765 6e65 7261 7465 6420 696e 7465 7266 generated interf\n+0011b2a0: 6163 6520 6865 6164 6572 2066 696c 653a ace header file:\n+0011b2b0: 3c2f 703e 0a3c 6469 7620 636c 6173 733d
#impo\n+0011b3a0: 7274 3c2f 636f 6465 3e20 7374 6174 656d rt
statem\n+0011b3b0: 656e 7473 2061 7265 206f 6e6c 7920 6164 ents are only ad\n+0011b3c0: 6465 6420 666f 7220 7468 6f73 6520 6e61 ded for those na\n+0011b3d0: 6d65 7370 6163 6573 2074 6861 7420 6172 mespaces that ar\n+0011b3e0: 6520 6163 7475 616c 6c79 2075 7365 642e e actually used.\n+0011b3f0: 3c2f 703e 0a3c 703e 4c65 7427 7320 7461 \n+0011b450: 2369 6d70 6f72 7420 2278 6f70 2e68 223c #import \"xop.h\"<\n+0011b460: 2f63 6f64 653e 2066 726f 6d20 6120 5753 /code> from a WS\n+0011b470: 444c 2074 6861 7420 7265 6665 7265 6e63 DL that referenc\n+0011b480: 6573 2058 4f50 2c20 666f 7220 6578 616d es XOP, for exam\n+0011b490: 706c 653a 3c2f 703e 0a3c 6469 7620 636c ple:
struct ns__Data // MIME type\n+0011bc20: 203c 2f73 7061 6e3e 3c2f 6469 763e 0a3c else \n+0011c180: 786f 705f 5f49 6e63 6c75 6465 2e74 7970 xop__Include.typ\n+0011c190: 653c 2f63 6f64 653e 206d 656d 6265 7220 e
member \n+0011c1a0: 6d75 7374 2062 6520 7365 7420 746f 2074 must be set to t\n+0011c1b0: 7261 6e73 6d69 7420 4d54 4f4d 2061 7474 ransmit MTOM att\n+0011c1c0: 6163 686d 656e 7473 2c20 6f74 6865 7277 achments, otherw\n+0011c1d0: 6973 6520 696e 6c69 6e65 2062 6173 6536 ise inline base6\n+0011c1e0: 3420 584d 4c20 7769 6c6c 2062 6520 7365 4 XML will be se\n+0011c1f0: 6e74 2e3c 2f70 3e0a 3c70 3e41 7420 7468 nt.#SOAP_ENC_\n-0011c510: 4d54 4f4d 3c2f 636f 6465 3e20 666c 6167 MTOM
flag\n-0011c520: 2074 6f20 696e 6974 6961 6c69 7a65 2074 to initialize t\n-0011c530: 6865 203c 636f 6465 3e3c 6120 636c 6173 he soap context to \n-0011c5a0: 7265 6365 6976 6520 616e 6420 7365 6e64 receive and send\n-0011c5b0: 204d 544f 4d20 6174 7461 6368 6d65 6e74 MTOM attachment\n-0011c5c0: 732e 3c2f 703e 0a3c 703e f09f 949d 203c s.
.Strea\n-0011c630: 6d69 6e67 204d 494d 452f 4d54 4f4d 3c2f ming MIME/MTOM\n-0011c640: 6832 3e0a 3c70 3e53 7472 6561 6d69 6e67 h2>.
.
\n-0011ee30: 0a3c 703e 496e 2061 6464 6974 696f 6e2c .void *(*\n-0011c740: 736f 6170 2e66 6d69 6d65 7265 6164 6f70 soap.fmimereadop\n-0011c750: 656e 2928 7374 7275 6374 2073 6f61 7020 en)(struct soap \n-0011c760: 2a73 6f61 702c 2076 6f69 6420 2a68 616e *soap, void *han\n-0011c770: 646c 652c 2063 6f6e 7374 2063 6861 7220 dle, const char \n-0011c780: 2a69 642c 2063 6f6e 7374 2063 6861 7220 *id, const char \n-0011c790: 2a74 7970 652c 2063 6f6e 7374 2063 6861 *type, const cha\n-0011c7a0: 7220 2a64 6573 6372 6970 7469 6f6e 293c r *description)<\n-0011c7b0: 2f63 6f64 653e 2054 6869 7320 6361 6c6c /code> This call\n-0011c7c0: 6261 636b 2069 7320 6361 6c6c 6564 2062 back is called b\n-0011c7d0: 7920 7468 6520 656e 6769 6e65 2074 6f20 y the engine to \n-0011c7e0: 7374 6172 7420 7365 6e64 696e 6720 6120 start sending a \n-0011c7f0: 7374 7265 616d 696e 6720 4d49 4d45 2f4d streaming MIME/M\n-0011c800: 544f 4d20 6174 7461 6368 6d65 6e74 2e20 TOM attachment. \n-0011c810: 5468 6973 2063 616c 6c62 6163 6b20 6f70 This callback op\n-0011c820: 656e 7320 6120 7374 7265 616d 2074 6f20 ens a stream to \n-0011c830: 7374 6172 7420 7265 6164 696e 6720 7468 start reading th\n-0011c840: 6520 6174 7461 6368 6d65 6e74 2064 6174 e attachment dat\n-0011c850: 6120 746f 2073 656e 642e 2054 6865 2061 a to send. The a\n-0011c860: 6374 7561 6c20 6461 7461 2073 7472 6561 ctual data strea\n-0011c870: 6d20 7769 6c6c 2062 6520 7265 6164 2069 m will be read i\n-0011c880: 6e20 6368 756e 6b73 2075 7369 6e67 2074 n chunks using t\n-0011c890: 6865 203c 636f 6465 3e3c 6120 636c 6173 he
so\n-0011c930: 6170 3a3a 666d 696d 6572 6561 643c 2f61 ap::fmimeread
callbac\n-0011c950: 6b20 756e 7469 6c20 6e6f 206d 6f72 6520 k until no more \n-0011c960: 6461 7461 2069 7320 6176 6169 6c61 626c data is availabl\n-0011c970: 6520 616e 6420 7468 6520 3c63 6f64 653e e and the \n-0011c980: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap\n-0011ca20: 3a3a 666d 696d 6572 6561 6463 6c6f 7365 ::fmimereadclose\n-0011ca30: 3c2f 613e 3c2f 636f 6465 3e20 6361 6c6c
call\n-0011ca40: 6261 636b 2069 7320 6361 6c6c 6564 2074 back is called t\n-0011ca50: 6f20 636c 6f73 6520 7468 6520 7374 7265 o close the stre\n-0011ca60: 616d 2e20 5468 6520 3c63 6f64 653e 6861 am. The ha\n-0011ca70: 6e64 6c65 3c2f 636f 6465 3e20 7061 7261 ndle
para\n-0011ca80: 6d65 7465 7220 636f 6e74 6169 6e73 2074 meter contains t\n-0011ca90: 6865 2076 616c 7565 206f 6620 7468 6520 he value of the \n-0011caa0: 3c63 6f64 653e 5f5f 7074 723c 2f63 6f64 __ptr member variab\n-0011cac0: 6c65 206f 6620 7468 6520 6174 7461 6368 le of the attach\n-0011cad0: 6d65 6e74 2073 7472 7563 742f 636c 6173 ment struct/clas\n-0011cae0: 7320 7769 7468 2064 6174 6120 2865 2e67 s with data (e.g\n-0011caf0: 2e20 3c63 6f64 653e 3c61 2063 6c61 7373 .
xsd__base6\n-0011cb70: 3442 696e 6172 793c 2f61 3e3c 2f63 6f64 4Binary or
_xop__Include<\n-0011cc00: 2f61 3e3c 2f63 6f64 653e 2077 6974 6820 /a>
with \n-0011cc10: 3c63 6f64 653e 5f5f 7074 723c 2f63 6f64 __ptr,
__size\n-0011cc30: 3c2f 636f 6465 3e2c 203c 636f 6465 3e69
, i\n-0011cc40: 643c 2f63 6f64 653e 2c20 3c63 6f64 653e d
, \n-0011cc50: 7479 7065 3c2f 636f 6465 3e20 616e 6420 type
and \n-0011cc60: 3c63 6f64 653e 6f70 7469 6f6e 733c 2f63 options members), w\n-0011cc80: 6869 6368 2073 686f 756c 6420 6265 2061 hich should be a\n-0011cc90: 2070 6f69 6e74 6572 2074 6f20 7370 6563 pointer to spec\n-0011cca0: 6966 6963 2069 6e66 6f72 6d61 7469 6f6e ific information\n-0011ccb0: 2073 7563 6820 6173 2061 2066 696c 6520 such as a file \n-0011ccc0: 6465 7363 7269 7074 6f72 206f 7220 6120 descriptor or a \n-0011ccd0: 706f 696e 7465 7220 746f 2061 2073 6f6d pointer to a som\n-0011cce0: 6520 6170 706c 6963 6174 696f 6e2d 7370 e application-sp\n-0011ccf0: 6563 6966 6963 2064 6174 6120 746f 2062 ecific data to b\n-0011cd00: 6520 7061 7373 6564 2074 6f20 7468 6973 e passed to this\n-0011cd10: 2063 616c 6c62 6163 6b2e 2042 6f74 6820 callback. Both \n-0011cd20: 7468 6520 3c63 6f64 653e 5f5f 7074 723c the
__ptr<\n-0011cd30: 2f63 6f64 653e 2061 6e64 203c 636f 6465 /code> and
\n-0011d870: 616e 6420 7468 6973 2061 6374 7561 6c20 and this actual \n-0011d880: 616d 6f75 6e74 2073 686f 756c 6420 6265 amount should be\n-0011d890: 2072 6574 7572 6e65 6420 6279 2074 6865 returned by the\n-0011d8a0: 2063 616c 6c62 6163 6b2e 2041 2072 6574 callback. A ret\n-0011d8b0: 7572 6e20 7661 6c75 6520 6f66 207a 6572 urn value of zer\n-0011d8c0: 6f20 696e 6469 6361 7465 7320 616e 2065 o indicates an e\n-0011d8d0: 7272 6f72 2061 6e64 203c 636f 6465 3e3c rror and __size
m\n-0011cd50: 656d 6265 7273 206f 6620 7468 6520 6174 embers of the at\n-0011cd60: 7461 6368 6d65 6e74 2073 7472 7563 742f tachment struct/\n-0011cd70: 636c 6173 7320 7368 6f75 6c64 2068 6176 class should hav\n-0011cd80: 6520 6265 656e 2073 6574 2062 7920 7468 e been set by th\n-0011cd90: 6520 6170 706c 6963 6174 696f 6e20 7072 e application pr\n-0011cda0: 696f 7220 746f 2074 6865 2073 6572 6961 ior to the seria\n-0011cdb0: 6c69 7a61 7469 6f6e 206f 6620 7468 6520 lization of the \n-0011cdc0: 6d65 7373 6167 6520 7769 7468 2061 7474 message with att\n-0011cdd0: 6163 686d 656e 7473 2e20 4966 2074 6865 achments. If the\n-0011cde0: 203c 636f 6465 3e5f 5f73 697a 653c 2f63 __size is zero and\n-0011ce00: 2048 5454 5020 6368 756e 6b69 6e67 2069 HTTP chunking i\n-0011ce10: 7320 656e 6162 6c65 6420 2877 6974 6820 s enabled (with \n-0011ce20: 3c63 6f64 653e 2353 4f41 505f 494f 5f43
in\n-0011d7e0: 746f 2077 6869 6368 2061 2063 6875 6e6b to which a chunk\n-0011d7f0: 206f 6620 6461 7461 2073 686f 756c 6420 of data should \n-0011d800: 6265 2077 7269 7474 656e 2062 7920 7468 be written by th\n-0011d810: 6520 6361 6c6c 6261 636b 2e20 5468 6520 e callback. The \n-0011d820: 6163 7475 616c 2061 6d6f 756e 7420 6f66 actual amount of\n-0011d830: 2064 6174 6120 7772 6974 7465 6e20 696e data written in\n-0011d840: 746f 2074 6865 2062 7566 6665 7220 6d61 to the buffer ma\n-0011d850: 7920 6265 206c 6573 7320 7468 616e 203c y be less than <\n-0011d860: 636f 6465 3e6c 656e 3c2f 636f 6465 3e20 code>len#SOAP_IO_C\n-0011ce30: 4855 4e4b 3c2f 636f 6465 3e29 2c20 7468 HUNK
), th\n-0011ce40: 656e 2063 6875 6e6b 6564 204d 494d 452f en chunked MIME/\n-0011ce50: 4d54 4f4d 2061 7474 6163 686d 656e 7473 MTOM attachments\n-0011ce60: 2061 7265 2073 656e 742c 2073 6565 203c are sent, see <\n-0011ce70: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>soap::\n-0011cf10: 666d 696d 6572 6561 643c 2f61 3e3c 2f63 fmimeread. The \n-0011cf30: 6964 3c2f 636f 6465 3e2c 203c 636f 6465 id
, type
and\n-0011cf50: 203c 636f 6465 3e6f 7074 696f 6e73 3c2f options\n-0011cf60: 636f 6465 3e20 7061 7261 6d65 7465 7273 code> parameters\n-0011cf70: 2061 7265 2074 6865 203c 636f 6465 3e69 are the
when this spec\n-0011d570: 6966 6963 204d 494d 452f 4d54 4f4d 2061 ific MIME/MTOM a\n-0011d580: 7474 6163 686d 656e 7420 7368 6f75 6c64 ttachment should\n-0011d590: 206e 6f74 2074 6f20 6265 2073 7472 6561 not to be strea\n-0011d5a0: 6d65 6420 616e 6420 7468 6520 656e 6769 med and the engi\n-0011d5b0: 6e65 2077 696c 6c20 7369 6d70 6c79 2073 ne will simply s\n-0011d5c0: 6b69 7020 6974 2e3c 2f6c 693e 0a3c 6c69 kip it..i\n-0011cf80: 643c 2f63 6f64 653e 2028 616e 206f 7074 d
(an opt\n-0011cf90: 696f 6e61 6c20 4944 292c 203c 636f 6465 ional ID), type
(a \n-0011cfb0: 4d49 4d45 2074 7970 6529 2061 6e64 203c MIME type) and <\n-0011cfc0: 636f 6465 3e6f 7074 696f 6e73 3c2f 636f code>options (a descripti\n-0011cfe0: 7665 2073 7472 696e 6729 206f 6620 7468 ve string) of th\n-0011cff0: 6520 6174 7461 6368 6d65 6e74 2073 7472 e attachment str\n-0011d000: 7563 742f 636c 6173 732c 2072 6573 7065 uct/class, respe\n-0011d010: 6374 6976 656c 792c 206f 6620 7768 6963 ctively, of whic\n-0011d020: 6820 6174 206c 6561 7374 206f 6e65 206d h at least one m\n-0011d030: 656d 6265 7220 7368 6f75 6c64 2062 6520 ember should be \n-0011d040: 6e6f 6e2d 4e55 4c4c 2e20 5468 6520 6361 non-NULL. The ca\n-0011d050: 6c6c 6261 636b 2073 686f 756c 6420 7265 llback should re\n-0011d060: 7475 726e 2074 6865 203c 636f 6465 3e68 turn the h\n-0011d070: 616e 646c 653c 2f63 6f64 653e 2070 6172 andle
par\n-0011d080: 616d 6574 6572 2076 616c 7565 206f 7220 ameter value or \n-0011d090: 616e 6f74 6865 7220 706f 696e 7465 7220 another pointer \n-0011d0a0: 7661 6c75 652c 2077 6869 6368 2069 7320 value, which is \n-0011d0b0: 7061 7373 6564 2061 7320 7468 6520 6e65 passed as the ne\n-0011d0c0: 7720 3c63 6f64 653e 6861 6e64 6c65 3c2f w handle\n-0011d0d0: 636f 6465 3e20 7061 7261 6d65 7465 7220 code> parameter \n-0011d0e0: 746f 203c 636f 6465 3e3c 6120 636c 6173 to
c\n-0011d260: 616c 6c62 6163 6b73 2e20 5768 656e 2061 allbacks. When a\n-0011d270: 6e20 6572 726f 7220 6f63 6375 7272 6564 n error occurred\n-0011d280: 2069 6e20 7468 6973 2063 616c 6c62 6163 in this callbac\n-0011d290: 6b2c 2074 6865 2063 616c 6c62 6163 6b20 k, the callback \n-0011d2a0: 7368 6f75 6c64 2072 6574 7572 6e20 4e55 should return NU\n-0011d2b0: 4c4c 2061 6e64 2073 6574 203c 636f 6465 LL and set so\n-0011d180: 6170 3a3a 666d 696d 6572 6561 643c 2f61 ap::fmimeread
and soap::err\n-0011d370: 6f72 3c2f 613e 3c2f 636f 6465 3e20 746f or
to\n-0011d380: 2061 6e20 6572 726f 7220 636f 6465 2c20 an error code, \n-0011d390: 652e 672e 2075 7369 6e67 203c 636f 6465 e.g. using soap_receiver_f\n-0011d450: 6175 6c74 3c2f 613e 3c2f 636f 6465 3e2e ault
.\n-0011d460: 2054 6865 2063 616c 6c62 6163 6b20 6d61 The callback ma\n-0011d470: 7920 7265 7475 726e 204e 554c 4c20 616e y return NULL an\n-0011d480: 6420 7365 7420 3c63 6f64 653e 3c61 2063 d set soap::error
to size_t (*\n-0011d5e0: 736f 6170 2e66 6d69 6d65 7265 6164 2928 soap.fmimeread)(\n-0011d5f0: 7374 7275 6374 2073 6f61 7020 2a73 6f61 struct soap *soa\n-0011d600: 702c 2076 6f69 6420 2a68 616e 646c 652c p, void *handle,\n-0011d610: 2063 6861 7220 2a62 7566 2c20 7369 7a65 char *buf, size\n-0011d620: 5f74 206c 656e 293c 2f63 6f64 653e 2054 _t len)
T\n-0011d630: 6869 7320 6361 6c6c 6261 636b 2069 7320 his callback is \n-0011d640: 6361 6c6c 6564 2062 7920 7468 6520 656e called by the en\n-0011d650: 6769 6e65 2074 6f20 7265 6164 2061 2063 gine to read a c\n-0011d660: 6875 6e6b 206f 6620 6174 7461 6368 6d65 hunk of attachme\n-0011d670: 6e74 2064 6174 6120 746f 2074 7261 6e73 nt data to trans\n-0011d680: 6d69 742e 2054 6865 203c 636f 6465 3e68 mit. The h\n-0011d690: 616e 646c 653c 2f63 6f64 653e 2070 6172 andle
par\n-0011d6a0: 616d 6574 6572 2063 6f6e 7461 696e 7320 ameter contains \n-0011d6b0: 7468 6520 6861 6e64 6c65 2072 6574 7572 the handle retur\n-0011d6c0: 6e65 6420 6279 2074 6865 203c 636f 6465 ned by the soa\n-0011d770: 703a 3a66 6d69 6d65 7265 6164 6f70 656e p::fmimereadopen\n-0011d780: 3c2f 613e 3c2f 636f 6465 3e20 6361 6c6c
call\n-0011d790: 6261 636b 2e20 5468 6520 3c63 6f64 653e back. The \n-0011d7a0: 6275 663c 2f63 6f64 653e 2070 6172 616d buf
param\n-0011d7b0: 6574 6572 2069 7320 7468 6520 6275 6666 eter is the buff\n-0011d7c0: 6572 206f 6620 6c65 6e67 7468 203c 636f er of length <\n-0011d8e0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-0011d8f0: 663d 2273 7472 7563 7473 6f61 702e 6874 f=\"structsoap.ht\n-0011d900: 6d6c 2361 6238 3566 3564 3432 3730 3239 ml#ab85f5d427029\n-0011d910: 3633 6431 3365 6135 3430 6264 3938 3736 63d13ea540bd9876\n-0011d920: 6536 6432 2220 7469 746c 653d 2254 6865 e6d2\" title=\"The\n-0011d930: 2073 6f61 7020 636f 6e74 6578 7420 736f soap context so\n-0011d940: 6170 5f73 7461 7475 7320 2869 6e74 2920 ap_status (int) \n-0011d950: 6572 726f 7220 636f 6465 206f 6620 7468 error code of th\n-0011d960: 6520 6c61 7374 206f 7065 7261 7469 6f6e e last operation\n-0011d970: 206f 7220 2353 4f41 505f 4f4b 2028 7a65 or #SOAP_OK (ze\n-0011d980: 726f 2922 3e73 6f61 703a 3a65 7272 6f72 ro)\">soap::error\n-0011d990: 3c2f 613e 3c2f 636f 6465 3e20 7368 6f75
shou\n-0011d9a0: 6c64 2062 6520 7365 742e 2054 6865 203c ld be set. The <\n-0011d9b0: 636f 6465 3e5f 5f73 697a 653c 2f63 6f64 code>__size member variab\n-0011d9d0: 6c65 206f 6620 7468 6520 6174 7461 6368 le of the attach\n-0011d9e0: 6d65 6e74 2073 7472 7563 742f 636c 6173 ment struct/clas\n-0011d9f0: 7320 7769 7468 2064 6174 6120 2865 2e67 s with data (e.g\n-0011da00: 2e20 3c63 6f64 653e 3c61 2063 6c61 7373 . xsd__base6\n-0011da80: 3442 696e 6172 793c 2f61 3e3c 2f63 6f64 4Binary or
ca\n-0011e110: 6c6c 6261 636b 2e3c 2f6c 693e 0a3c 6c69 llback.._xop__Include<\n-0011db10: 2f61 3e3c 2f63 6f64 653e 2077 6974 6820 /a>
with \n-0011db20: 3c63 6f64 653e 5f5f 7074 723c 2f63 6f64 __ptr,
This ca\n-0011dfb0: 6c6c 6261 636b 2069 7320 6361 6c6c 6564 llback is called\n-0011dfc0: 2062 7920 7468 6520 656e 6769 6e65 2074 by the engine t\n-0011dfd0: 6f20 636c 6f73 6520 7468 6520 4d49 4d45 o close the MIME\n-0011dfe0: 2f4d 544f 4d20 6174 7461 6368 6d65 6e74 /MTOM attachment\n-0011dff0: 2073 7472 6561 6d20 6166 7465 7220 7265 stream after re\n-0011e000: 6164 696e 672e 2054 6865 203c 636f 6465 ading. The __size\n-0011db40: 3c2f 636f 6465 3e2c 203c 636f 6465 3e69
, i\n-0011db50: 643c 2f63 6f64 653e 2c20 3c63 6f64 653e d
, \n-0011db60: 7479 7065 3c2f 636f 6465 3e20 616e 6420 type
and \n-0011db70: 3c63 6f64 653e 6f70 7469 6f6e 733c 2f63 options members) sh\n-0011db90: 6f75 6c64 2062 6520 7365 7420 6279 2074 ould be set by t\n-0011dba0: 6865 2061 7070 6c69 6361 7469 6f6e 2070 he application p\n-0011dbb0: 7269 6f72 2074 6f20 7468 6520 7365 7269 rior to the seri\n-0011dbc0: 616c 697a 6174 696f 6e20 6f66 2074 6865 alization of the\n-0011dbd0: 206d 6573 7361 6765 2077 6974 6820 6174 message with at\n-0011dbe0: 7461 6368 6d65 6e74 732e 2054 6865 2076 tachments. The v\n-0011dbf0: 616c 7565 206f 6620 3c63 6f64 653e 5f5f alue of
b\n-0011def0: 7566 6665 7220 7769 7468 203c 636f 6465 uffer with __\n-0011dc00: 7369 7a65 3c2f 636f 6465 3e20 696e 6469 size
indi\n-0011dc10: 6361 7465 7320 7468 6520 746f 7461 6c20 cates the total \n-0011dc20: 7369 7a65 206f 6620 7468 6520 6174 7461 size of the atta\n-0011dc30: 6368 6d65 6e74 2064 6174 6120 746f 2062 chment data to b\n-0011dc40: 6520 7472 616e 736d 6974 7465 642e 2049 e transmitted. I\n-0011dc50: 6620 7468 6520 3c63 6f64 653e 5f5f 7369 f the __si\n-0011dc60: 7a65 3c2f 636f 6465 3e20 6d65 6d62 6572 ze
member\n-0011dc70: 2076 6172 6961 626c 6520 6973 207a 6572 variable is zer\n-0011dc80: 6f20 616e 6420 4854 5450 2063 6875 6e6b o and HTTP chunk\n-0011dc90: 696e 6720 6973 2065 6e61 626c 6564 2028 ing is enabled (\n-0011dca0: 7769 7468 203c 636f 6465 3e23 534f 4150 with #SOAP\n-0011dcb0: 5f49 4f5f 4348 554e 4b3c 2f63 6f64 653e _IO_CHUNK
\n-0011dcc0: 292c 2074 6865 6e20 4d49 4d45 2f4d 544f ), then MIME/MTO\n-0011dcd0: 4d20 6368 756e 6b65 6420 7472 616e 7366 M chunked transf\n-0011dce0: 6572 7320 6172 6520 6163 7469 7661 7465 ers are activate\n-0011dcf0: 6420 6279 2074 6865 2065 6e67 696e 652c d by the engine,\n-0011dd00: 2077 6869 6368 2069 7320 6d6f 7265 2066 which is more f\n-0011dd10: 6c65 7869 626c 6520 7369 6e63 6520 7468 lexible since th\n-0011dd20: 6520 6174 7461 6368 6d65 6e74 2064 6174 e attachment dat\n-0011dd30: 6120 7369 7a65 2064 6f65 7320 6e6f 7420 a size does not \n-0011dd40: 6e65 6564 2074 6f20 6265 2064 6574 6572 need to be deter\n-0011dd50: 6d69 6e65 6420 696e 2061 6476 616e 6365 mined in advance\n-0011dd60: 2e20 546f 2075 7365 204d 494d 452f 4d54 . To use MIME/MT\n-0011dd70: 4f4d 2063 6875 6e6b 6564 2074 7261 6e73 OM chunked trans\n-0011dd80: 6665 7273 2c20 656e 6162 6c65 2048 5454 fers, enable HTT\n-0011dd90: 5020 6368 756e 6b69 6e67 2077 6974 6820 P chunking with \n-0011dda0: 3c63 6f64 653e 2353 4f41 505f 494f 5f43 #SOAP_IO_C\n-0011ddb0: 4855 4e4b 3c2f 636f 6465 3e20 2861 6c73 HUNK
(als\n-0011ddc0: 6f20 3c63 6f64 653e 2353 4f41 505f 494f o #SOAP_IO\n-0011ddd0: 5f53 544f 5245 3c2f 636f 6465 3e20 6361 _STORE
ca\n-0011dde0: 6e20 6265 2075 7365 642c 2062 7574 2074 n be used, but t\n-0011ddf0: 6869 7320 6275 6666 6572 7320 7468 6520 his buffers the \n-0011de00: 656e 7469 7265 206d 6573 7361 6765 2069 entire message i\n-0011de10: 6e20 6d65 6d6f 7279 2062 6566 6f72 6520 n memory before \n-0011de20: 7472 616e 736d 6973 7369 6f6e 2920 616e transmission) an\n-0011de30: 6420 7365 7420 7468 6520 3c63 6f64 653e d set the \n-0011de40: 5f5f 7369 7a65 3c2f 636f 6465 3e20 6d65 __size
me\n-0011de50: 6d62 6572 2076 6172 6961 626c 6520 6f66 mber variable of\n-0011de60: 2074 6865 2061 7474 6163 686d 656e 7420 the attachment \n-0011de70: 7374 7275 6374 2f63 6c61 7373 2074 6f20 struct/class to \n-0011de80: 7a65 726f 2e20 5768 656e 204d 494d 452f zero. When MIME/\n-0011de90: 4d54 4f4d 2061 7474 6163 686d 656e 7420 MTOM attachment \n-0011dea0: 6368 756e 6b69 6e67 2069 7320 656e 6162 chunking is enab\n-0011deb0: 6c65 642c 2074 6869 7320 6361 6c6c 6261 led, this callba\n-0011dec0: 636b 2073 686f 756c 6420 636f 6d70 6c65 ck should comple\n-0011ded0: 7465 6c79 2066 696c 6c20 7468 6520 3c63 tely fill the len
byte\n-0011df10: 7320 756e 6c65 7373 2074 6865 206c 6173 s unless the las\n-0011df20: 7420 6461 7461 2063 6875 6e6b 2069 7320 t data chunk is \n-0011df30: 7265 6163 6865 6420 616e 6420 6665 7765 reached and fewe\n-0011df40: 7220 6279 7465 7320 6172 6520 7265 7475 r bytes are retu\n-0011df50: 726e 6564 2e3c 2f6c 693e 0a3c 6c69 3e3c rned..handle
p\n-0011e020: 6172 616d 6574 6572 2063 6f6e 7461 696e arameter contain\n-0011e030: 7320 7468 6520 6861 6e64 6c65 2072 6574 s the handle ret\n-0011e040: 7572 6e65 6420 6279 2074 6865 203c 636f urned by the void *(*s\n-0011e130: 6f61 702e 666d 696d 6577 7269 7465 6f70 oap.fmimewriteop\n-0011e140: 656e 2928 7374 7275 6374 2073 6f61 7020 en)(struct soap \n-0011e150: 2a73 6f61 702c 2076 6f69 6420 2a68 616e *soap, void *han\n-0011e160: 646c 652c 2063 6f6e 7374 2063 6861 7220 dle, const char \n-0011e170: 2a69 642c 2063 6f6e 7374 2063 6861 7220 *id, const char \n-0011e180: 2a74 7970 652c 2063 6f6e 7374 2063 6861 *type, const cha\n-0011e190: 7220 2a64 6573 6372 6970 7469 6f6e 2c20 r *description, \n-0011e1a0: 656e 756d 2073 6f61 705f 6d69 6d65 5f65 enum soap_mime_e\n-0011e1b0: 6e63 6f64 696e 6720 656e 636f 6469 6e67 ncoding encoding\n-0011e1c0: 293c 2f63 6f64 653e 2043 616c 6c65 6420 )
Called \n-0011e1d0: 6279 2074 6865 2074 6f20 7374 6172 7420 by the to start \n-0011e1e0: 7265 6365 6976 696e 6720 6120 7374 7265 receiving a stre\n-0011e1f0: 616d 696e 6720 4d49 4d45 2f4d 544f 4d20 aming MIME/MTOM \n-0011e200: 6174 7461 6368 6d65 6e74 2e20 5468 6973 attachment. This\n-0011e210: 2063 616c 6c62 6163 6b20 6f70 656e 7320 callback opens \n-0011e220: 6120 7374 7265 616d 2074 6f20 7374 6172 a stream to star\n-0011e230: 7420 7772 6974 696e 6720 7468 6520 6174 t writing the at\n-0011e240: 7461 6368 6d65 6e74 2064 6174 6120 7265 tachment data re\n-0011e250: 6365 6976 6564 2e20 5468 6520 6163 7475 ceived. The actu\n-0011e260: 616c 2064 6174 6120 7374 7265 616d 2077 al data stream w\n-0011e270: 696c 6c20 6265 2077 7269 7474 656e 2069 ill be written i\n-0011e280: 6e20 6368 756e 6b73 2075 7369 6e67 2074 n chunks using t\n-0011e290: 6865 203c 636f 6465 3e3c 6120 636c 6173 he soap::\n-0011e330: 666d 696d 6577 7269 7465 3c2f 613e 3c2f fmimewrite\n-0011e340: 636f 6465 3e20 6361 6c6c 6261 636b 2075 code> callback u\n-0011e350: 6e74 696c 206e 6f20 6d6f 7265 2064 6174 ntil no more dat\n-0011e360: 6120 6973 2061 7661 696c 6162 6c65 2061 a is available a\n-0011e370: 6e64 2074 6865 203c 636f 6465 3e3c 6120 nd the
\n-0011e7a0: 616e 6420 3c63 6f64 653e 3c61 2063 6c61 and soap::f\n-0011e420: 6d69 6d65 7772 6974 6563 6c6f 7365 3c2f mimewriteclose\n-0011e430: 613e 3c2f 636f 6465 3e20 6361 6c6c 6261 a>
callba\n-0011e440: 636b 2069 7320 6361 6c6c 6564 2074 6f20 ck is called to \n-0011e450: 636c 6f73 6520 7468 6520 7374 7265 616d close the stream\n-0011e460: 2e20 5468 6520 3c63 6f64 653e 6964 3c2f . The id\n-0011e470: 636f 6465 3e2c 203c 636f 6465 3e74 7970 code>,
parameters are\n-0011e4b0: 2074 6865 203c 636f 6465 3e69 643c 2f63 the typ\n-0011e480: 653c 2f63 6f64 653e 2061 6e64 203c 636f e
and id,
\n-0011e4f0: 206f 6620 7468 6520 6174 7461 6368 6d65 of the attachme\n-0011e500: 6e74 2073 7472 7563 742f 636c 6173 7320 nt struct/class \n-0011e510: 2865 2e67 2e20 3c63 6f64 653e 3c61 2063 (e.g. type\n-0011e4d0: 3c2f 636f 6465 3e20 616e 6420 3c63 6f64
and xsd__b\n-0011e590: 6173 6536 3442 696e 6172 793c 2f61 3e3c ase64Binary<\n-0011e5a0: 2f63 6f64 653e 206f 7220 3c63 6f64 653e /code> or
\n-0011e680: 616e 6420 3c63 6f64 653e 6f70 7469 6f6e and \n-0011e5b0: 3c61 2063 6c61 7373 3d22 656c 2220 6872 _xop__Incl\n-0011e620: 7564 653c 2f61 3e3c 2f63 6f64 653e 2077 ude
w\n-0011e630: 6974 6820 3c63 6f64 653e 5f5f 7074 723c ith __ptr<\n-0011e640: 2f63 6f64 653e 2c20 3c63 6f64 653e 5f5f /code>,
, __\n-0011e650: 7369 7a65 3c2f 636f 6465 3e2c 203c 636f size
, option\n-0011e690: 733c 2f63 6f64 653e 206d 656d 6265 7273 s
members\n-0011e6a0: 292c 2072 6573 7065 6374 6976 656c 792e ), respectively.\n-0011e6b0: 2054 6865 2063 616c 6c62 6163 6b20 7368 The callback sh\n-0011e6c0: 6f75 6c64 2072 6574 7572 6e20 6120 6861 ould return a ha\n-0011e6d0: 6e64 6c65 2c20 7768 6963 6820 6973 2070 ndle, which is p\n-0011e6e0: 6173 7365 6420 746f 2074 6865 203c 636f assed to the soap::fmim\n-0011e850: 6577 7269 7465 636c 6f73 653c 2f61 3e3c ewriteclose<\n-0011e860: 2f63 6f64 653e 2063 616c 6c62 6163 6b73 /code> callbacks\n-0011e870: 2e20 5468 6520 3c63 6f64 653e 5f5f 7074 . The
member variabl\n-0011e910: 6520 6973 2073 6574 2074 6f20 7468 6520 e is set to the \n-0011e920: 7369 7a65 206f 6620 7468 6520 6174 7461 size of the atta\n-0011e930: 6368 6d65 6e74 2072 6563 6569 7665 642e chment received.\n-0011e940: 3c2f 6c69 3e0a 3c6c 693e 3c63 6f64 653e __pt\n-0011e880: 723c 2f63 6f64 653e 206d 656d 6265 7220 r
member \n-0011e890: 7661 7269 6162 6c65 206f 6620 7468 6520 variable of the \n-0011e8a0: 6174 7461 6368 6d65 6e74 2073 7472 7563 attachment struc\n-0011e8b0: 742f 636c 6173 7320 6973 2073 6574 2062 t/class is set b\n-0011e8c0: 7920 7468 6520 656e 6769 6e65 2074 6f20 y the engine to \n-0011e8d0: 7468 6520 7661 6c75 6520 6f66 2074 6869 the value of thi\n-0011e8e0: 7320 6861 6e64 6c65 2e20 5468 6520 3c63 s handle. The \n-0011e950: 696e 7420 282a 736f 6170 2e66 6d69 6d65 int (*soap.fmime\n-0011e960: 7772 6974 6529 2873 7472 7563 7420 736f write)(struct so\n-0011e970: 6170 202a 736f 6170 2c20 766f 6964 202a ap *soap, void *\n-0011e980: 6861 6e64 6c65 2c20 636f 6e73 7420 6368 handle, const ch\n-0011e990: 6172 202a 6275 662c 2073 697a 655f 7420 ar *buf, size_t \n-0011e9a0: 6c65 6e29 3c2f 636f 6465 3e20 5468 6973 len)
This\n-0011e9b0: 2063 616c 6c62 6163 6b20 6973 2063 616c callback is cal\n-0011e9c0: 6c65 6420 6279 2074 6865 2065 6e67 696e led by the engin\n-0011e9d0: 6520 746f 2077 7269 7465 2061 2063 6875 e to write a chu\n-0011e9e0: 6e6b 206f 6620 6174 7461 6368 6d65 6e74 nk of attachment\n-0011e9f0: 2064 6174 6120 7265 6365 6976 6564 2e20 data received. \n-0011ea00: 5468 6520 3c63 6f64 653e 6861 6e64 6c65 The handle\n-0011ea10: 3c2f 636f 6465 3e20 7061 7261 6d65 7465
paramete\n-0011ea20: 7220 636f 6e74 6169 6e73 2074 6865 2068 r contains the h\n-0011ea30: 616e 646c 6520 7265 7475 726e 6564 2062 andle returned b\n-0011ea40: 7920 7468 6520 3c63 6f64 653e 3c61 2063 y the soap::fm\n-0011eaf0: 696d 6577 7269 7465 6f70 656e 3c2f 613e imewriteopen\n-0011eb00: 3c2f 636f 6465 3e20 6361 6c6c 6261 636b
callback\n-0011eb10: 2e20 5468 6520 3c63 6f64 653e 6275 663c . The buf<\n-0011eb20: 2f63 6f64 653e 2070 6172 616d 6574 6572 /code> parameter\n-0011eb30: 2063 6f6e 7461 696e 7320 7468 6520 6461 contains the da\n-0011eb40: 7461 206f 6620 6c65 6e67 7468 203c 636f ta of length
. R\n-0011eb60: 6574 7572 6e73 203c 636f 6465 3e23 534f eturns #SO\n-0011eb70: 4150 5f4f 4b3c 2f63 6f64 653e 206f 7220 AP_OK
or \n-0011eb80: 6120 3c63 6f64 653e 3c61 2063 6c61 7373 a soap_st\n-0011ec40: 6174 7573 3c2f 613e 3c2f 636f 6465 3e20 atus
\n-0011ec50: 2869 6e74 2920 6572 726f 7220 636f 6465 (int) error code\n-0011ec60: 2e3c 2f6c 693e 0a3c 6c69 3e3c 636f 6465 .void (*soap.fmi\n-0011ec80: 6d65 7772 6974 6563 6c6f 7365 2928 7374 mewriteclose)(st\n-0011ec90: 7275 6374 2073 6f61 7020 2a73 6f61 702c ruct soap *soap,\n-0011eca0: 2076 6f69 6420 2a68 616e 646c 6529 3c2f void *handle)\n-0011ecb0: 636f 6465 3e20 5468 6973 2063 616c 6c62 code> This callb\n-0011ecc0: 6163 6b20 6973 2063 616c 6c65 6420 6279 ack is called by\n-0011ecd0: 2074 6865 2065 6e67 696e 6520 746f 2063 the engine to c\n-0011ece0: 6c6f 7365 2074 6865 204d 494d 452f 4d54 lose the MIME/MT\n-0011ecf0: 4f4d 2061 7474 6163 686d 656e 7420 7374 OM attachment st\n-0011ed00: 7265 616d 2061 6674 6572 2077 7269 7469 ream after writi\n-0011ed10: 6e67 2e20 5468 6520 3c63 6f64 653e 6861 ng. The
ha\n-0011ed20: 6e64 6c65 3c2f 636f 6465 3e20 7061 7261 ndle
para\n-0011ed30: 6d65 7465 7220 636f 6e74 6169 6e73 2074 meter contains t\n-0011ed40: 6865 2068 616e 646c 6520 7265 7475 726e he handle return\n-0011ed50: 6564 2062 7920 7468 6520 3c63 6f64 653e ed by the \n-0011ed60: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap\n-0011ee00: 3a3a 666d 696d 6577 7269 7465 6f70 656e ::fmimewriteopen\n-0011ee10: 3c2f 613e 3c2f 636f 6465 3e20 6361 6c6c
call\n-0011ee20: 6261 636b 2e3c 2f6c 693e 0a3c 2f75 6c3e back.void* <\n-0011ee50: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-0011ee60: 663d 2273 7472 7563 7473 6f61 702e 6874 f=\"structsoap.ht\n-0011ee70: 6d6c 2361 3865 6233 3563 3034 3335 3961 ml#a8eb35c04359a\n-0011ee80: 3536 3763 3062 3565 3236 3634 6633 6639 567c0b5e2664f3f9\n-0011ee90: 3464 3562 2220 7469 746c 653d 2255 7365 4d5b\" title=\"Use\n-0011eea0: 722d 6465 6669 6e61 626c 6520 7661 7269 r-definable vari\n-0011eeb0: 6162 6c65 2074 6861 7420 6d61 7920 706f able that may po\n-0011eec0: 696e 7420 746f 2075 7365 722d 7370 6563 int to user-spec\n-0011eed0: 6966 6965 6420 6461 7461 206f 6620 616e ified data of an\n-0011eee0: 7920 7479 7065 2074 6f20 7061 7373 2074 y type to pass t\n-0011eef0: 6865 2064 6174 6120 7468 726f 7567 6820 he data through \n-0011ef00: 746f 2e2e 2e22 3e73 6f61 703a 3a75 7365 to...\">soap::use\n-0011ef10: 723c 2f61 3e3c 2f63 6f64 653e 206d 656d r
mem\n-0011ef20: 6265 7220 6973 2061 7661 696c 6162 6c65 ber is available\n-0011ef30: 2074 6f20 7061 7373 2075 7365 722d 6465 to pass user-de\n-0011ef40: 6669 6e65 6420 6461 7461 2074 6f20 7468 fined data to th\n-0011ef50: 6520 6361 6c6c 6261 636b 732e 2054 6869 e callbacks. Thi\n-0011ef60: 7320 7761 792c 2079 6f75 2063 616e 2073 s way, you can s\n-0011ef70: 6574 203c 636f 6465 3e76 6f69 642a 203c et void* <\n-0011ef80: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-0011ef90: 663d 2273 7472 7563 7473 6f61 702e 6874 f=\"structsoap.ht\n-0011efa0: 6d6c 2361 3865 6233 3563 3034 3335 3961 ml#a8eb35c04359a\n-0011efb0: 3536 3763 3062 3565 3236 3634 6633 6639 567c0b5e2664f3f9\n-0011efc0: 3464 3562 2220 7469 746c 653d 2255 7365 4d5b\" title=\"Use\n-0011efd0: 722d 6465 6669 6e61 626c 6520 7661 7269 r-definable vari\n-0011efe0: 6162 6c65 2074 6861 7420 6d61 7920 706f able that may po\n-0011eff0: 696e 7420 746f 2075 7365 722d 7370 6563 int to user-spec\n-0011f000: 6966 6965 6420 6461 7461 206f 6620 616e ified data of an\n-0011f010: 7920 7479 7065 2074 6f20 7061 7373 2074 y type to pass t\n-0011f020: 6865 2064 6174 6120 7468 726f 7567 6820 he data through \n-0011f030: 746f 2e2e 2e22 3e73 6f61 703a 3a75 7365 to...\">soap::use\n-0011f040: 723c 2f61 3e3c 2f63 6f64 653e 2074 6f20 r
to \n-0011f050: 706f 696e 7420 746f 2061 7070 6c69 6361 point to applica\n-0011f060: 7469 6f6e 2064 6174 6120 7468 6174 2074 tion data that t\n-0011f070: 6865 2063 616c 6c62 6163 6b73 206e 6565 he callbacks nee\n-0011f080: 6420 7375 6368 2061 7320 6120 6669 6c65 d such as a file\n-0011f090: 206e 616d 6520 666f 7220 6578 616d 706c name for exampl\n-0011f0a0: 652e 3c2f 703e 0a3c 703e 5468 6520 666f e.#SOA\n+0011c4f0: 505f 454e 435f 4d54 4f4d 3c2f 636f 6465 P_ENC_MTOM
flag to initia\n+0011c510: 6c69 7a65 2074 6865 203c 636f 6465 3e3c lize the <\n+0011c520: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+0011c530: 663d 2273 7472 7563 7473 6f61 702e 6874 f=\"structsoap.ht\n+0011c540: 6d6c 2220 7469 746c 653d 2243 6f6e 7465 ml\" title=\"Conte\n+0011c550: 7874 2077 6974 6820 7468 6520 656e 6769 xt with the engi\n+0011c560: 6e65 2073 7461 7465 2e22 3e73 6f61 703c ne state.\">soap<\n+0011c570: 2f61 3e3c 2f63 6f64 653e 2063 6f6e 7465 /a>
conte\n+0011c580: 7874 2074 6f20 7265 6365 6976 6520 616e xt to receive an\n+0011c590: 6420 7365 6e64 204d 544f 4d20 6174 7461 d send MTOM atta\n+0011c5a0: 6368 6d65 6e74 732e 3c2f 703e 0a3c 703e chments.\n+0011c610: 0a53 7472 6561 6d69 6e67 204d 494d 452f .Streaming MIME/\n+0011c620: 4d54 4f4d 3c2f 6832 3e0a 3c70 3e53 7472 MTOM
.vo\n+0011c720: 6964 202a 282a 736f 6170 2e66 6d69 6d65 id *(*soap.fmime\n+0011c730: 7265 6164 6f70 656e 2928 7374 7275 6374 readopen)(struct\n+0011c740: 2073 6f61 7020 2a73 6f61 702c 2076 6f69 soap *soap, voi\n+0011c750: 6420 2a68 616e 646c 652c 2063 6f6e 7374 d *handle, const\n+0011c760: 2063 6861 7220 2a69 642c 2063 6f6e 7374 char *id, const\n+0011c770: 2063 6861 7220 2a74 7970 652c 2063 6f6e char *type, con\n+0011c780: 7374 2063 6861 7220 2a64 6573 6372 6970 st char *descrip\n+0011c790: 7469 6f6e 293c 2f63 6f64 653e 2054 6869 tion)
Thi\n+0011c7a0: 7320 6361 6c6c 6261 636b 2069 7320 6361 s callback is ca\n+0011c7b0: 6c6c 6564 2062 7920 7468 6520 656e 6769 lled by the engi\n+0011c7c0: 6e65 2074 6f20 7374 6172 7420 7365 6e64 ne to start send\n+0011c7d0: 696e 6720 6120 7374 7265 616d 696e 6720 ing a streaming \n+0011c7e0: 4d49 4d45 2f4d 544f 4d20 6174 7461 6368 MIME/MTOM attach\n+0011c7f0: 6d65 6e74 2e20 5468 6973 2063 616c 6c62 ment. This callb\n+0011c800: 6163 6b20 6f70 656e 7320 6120 7374 7265 ack opens a stre\n+0011c810: 616d 2074 6f20 7374 6172 7420 7265 6164 am to start read\n+0011c820: 696e 6720 7468 6520 6174 7461 6368 6d65 ing the attachme\n+0011c830: 6e74 2064 6174 6120 746f 2073 656e 642e nt data to send.\n+0011c840: 2054 6865 2061 6374 7561 6c20 6461 7461 The actual data\n+0011c850: 2073 7472 6561 6d20 7769 6c6c 2062 6520 stream will be \n+0011c860: 7265 6164 2069 6e20 6368 756e 6b73 2075 read in chunks u\n+0011c870: 7369 6e67 2074 6865 203c 636f 6465 3e3c sing the <\n+0011c880: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+0011c890: 663d 2267 726f 7570 5f5f 6772 6f75 705f f=\"group__group_\n+0011c8a0: 5f63 616c 6c62 6163 6b73 2e68 746d 6c23 _callbacks.html#\n+0011c8b0: 6761 6666 3430 6131 6361 3666 6266 3037 gaff40a1ca6fbf07\n+0011c8c0: 3562 3534 6363 6266 3437 3930 3039 6365 5b54ccbf479009ce\n+0011c8d0: 3734 2220 7469 746c 653d 2243 616c 6c62 74\" title=\"Callb\n+0011c8e0: 6163 6b20 746f 2072 6561 6420 6461 7461 ack to read data\n+0011c8f0: 2069 6e20 6120 4d49 4d45 2f4d 544f 4d20 in a MIME/MTOM \n+0011c900: 6174 7461 6368 6d65 6e74 2073 7472 6561 attachment strea\n+0011c910: 6d2e 223e 736f 6170 3a3a 666d 696d 6572 m.\">soap::fmimer\n+0011c920: 6561 643c 2f61 3e3c 2f63 6f64 653e 2063 ead
c\n+0011c930: 616c 6c62 6163 6b20 756e 7469 6c20 6e6f allback until no\n+0011c940: 206d 6f72 6520 6461 7461 2069 7320 6176 more data is av\n+0011c950: 6169 6c61 626c 6520 616e 6420 7468 6520 ailable and the \n+0011c960: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 soap::fmimerea\n+0011ca10: 6463 6c6f 7365 3c2f 613e 3c2f 636f 6465 dclose
callback is ca\n+0011ca30: 6c6c 6564 2074 6f20 636c 6f73 6520 7468 lled to close th\n+0011ca40: 6520 7374 7265 616d 2e20 5468 6520 3c63 e stream. The __pt\n+0011ca90: 723c 2f63 6f64 653e 206d 656d 6265 7220 r
member \n+0011caa0: 7661 7269 6162 6c65 206f 6620 7468 6520 variable of the \n+0011cab0: 6174 7461 6368 6d65 6e74 2073 7472 7563 attachment struc\n+0011cac0: 742f 636c 6173 7320 7769 7468 2064 6174 t/class with dat\n+0011cad0: 6120 2865 2e67 2e20 3c63 6f64 653e 3c61 a (e.g. xsd_\n+0011cb50: 5f62 6173 6536 3442 696e 6172 793c 2f61 _base64Binary
or __pt\n+0011cc00: 723c 2f63 6f64 653e 2c20 3c63 6f64 653e r
, \n+0011cc10: 5f5f 7369 7a65 3c2f 636f 6465 3e2c 203c __size
, <\n+0011cc20: 636f 6465 3e69 643c 2f63 6f64 653e 2c20 code>id, \n+0011cc30: 3c63 6f64 653e 7479 7065 3c2f 636f 6465 type
and opti\n+0011cc50: 6f6e 733c 2f63 6f64 653e 206d 656d 6265 ons
membe\n+0011cc60: 7273 292c 2077 6869 6368 2073 686f 756c rs), which shoul\n+0011cc70: 6420 6265 2061 2070 6f69 6e74 6572 2074 d be a pointer t\n+0011cc80: 6f20 7370 6563 6966 6963 2069 6e66 6f72 o specific infor\n+0011cc90: 6d61 7469 6f6e 2073 7563 6820 6173 2061 mation such as a\n+0011cca0: 2066 696c 6520 6465 7363 7269 7074 6f72 file descriptor\n+0011ccb0: 206f 7220 6120 706f 696e 7465 7220 746f or a pointer to\n+0011ccc0: 2061 2073 6f6d 6520 6170 706c 6963 6174 a some applicat\n+0011ccd0: 696f 6e2d 7370 6563 6966 6963 2064 6174 ion-specific dat\n+0011cce0: 6120 746f 2062 6520 7061 7373 6564 2074 a to be passed t\n+0011ccf0: 6f20 7468 6973 2063 616c 6c62 6163 6b2e o this callback.\n+0011cd00: 2042 6f74 6820 7468 6520 3c63 6f64 653e Both the \n+0011cd10: 5f5f 7074 723c 2f63 6f64 653e 2061 6e64 __ptr
and\n+0011cd20: 203c 636f 6465 3e5f 5f73 697a 653c 2f63 __size
__s\n+0011cdd0: 697a 653c 2f63 6f64 653e 2069 7320 7a65 ize
is ze\n+0011cde0: 726f 2061 6e64 2048 5454 5020 6368 756e ro and HTTP chun\n+0011cdf0: 6b69 6e67 2069 7320 656e 6162 6c65 6420 king is enabled \n+0011ce00: 2877 6974 6820 3c63 6f64 653e 2353 4f41 (with #SOA\n+0011ce10: 505f 494f 5f43 4855 4e4b 3c2f 636f 6465 P_IO_CHUNK
), then chunked\n+0011ce30: 204d 494d 452f 4d54 4f4d 2061 7474 6163 MIME/MTOM attac\n+0011ce40: 686d 656e 7473 2061 7265 2073 656e 742c hments are sent,\n+0011ce50: 2073 6565 203c 636f 6465 3e3c 6120 636c see \n+0011cef0: 736f 6170 3a3a 666d 696d 6572 6561 643c soap::fmimeread<\n+0011cf00: 2f61 3e3c 2f63 6f64 653e 2e20 5468 6520 /a>
. The \n+0011cf10: 3c63 6f64 653e 6964 3c2f 636f 6465 3e2c id
,\n+0011cf20: 203c 636f 6465 3e74 7970 653c 2f63 6f64 type and
(\n+0011cf70: 616e 206f 7074 696f 6e61 6c20 4944 292c an optional ID),\n+0011cf80: 203c 636f 6465 3e74 7970 653c 2f63 6f64 opt\n+0011cf40: 696f 6e73 3c2f 636f 6465 3e20 7061 7261 ions
para\n+0011cf50: 6d65 7465 7273 2061 7265 2074 6865 203c meters are the <\n+0011cf60: 636f 6465 3e69 643c 2f63 6f64 653e 2028 code>idtype (a MIME type)\n+0011cfa0: 2061 6e64 203c 636f 6465 3e6f 7074 696f and
optio\n+0011cfb0: 6e73 3c2f 636f 6465 3e20 2861 2064 6573 ns
(a des\n+0011cfc0: 6372 6970 7469 7665 2073 7472 696e 6729 criptive string)\n+0011cfd0: 206f 6620 7468 6520 6174 7461 6368 6d65 of the attachme\n+0011cfe0: 6e74 2073 7472 7563 742f 636c 6173 732c nt struct/class,\n+0011cff0: 2072 6573 7065 6374 6976 656c 792c 206f respectively, o\n+0011d000: 6620 7768 6963 6820 6174 206c 6561 7374 f which at least\n+0011d010: 206f 6e65 206d 656d 6265 7220 7368 6f75 one member shou\n+0011d020: 6c64 2062 6520 6e6f 6e2d 4e55 4c4c 2e20 ld be non-NULL. \n+0011d030: 5468 6520 6361 6c6c 6261 636b 2073 686f The callback sho\n+0011d040: 756c 6420 7265 7475 726e 2074 6865 203c uld return the <\n+0011d050: 636f 6465 3e68 616e 646c 653c 2f63 6f64 code>handle parameter val\n+0011d070: 7565 206f 7220 616e 6f74 6865 7220 706f ue or another po\n+0011d080: 696e 7465 7220 7661 6c75 652c 2077 6869 inter value, whi\n+0011d090: 6368 2069 7320 7061 7373 6564 2061 7320 ch is passed as \n+0011d0a0: 7468 6520 6e65 7720 3c63 6f64 653e 6861 the new ha\n+0011d0b0: 6e64 6c65 3c2f 636f 6465 3e20 7061 7261 ndle
para\n+0011d0c0: 6d65 7465 7220 746f 203c 636f 6465 3e3c meter to <\n+0011d0d0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+0011d0e0: 663d 2267 726f 7570 5f5f 6772 6f75 705f f=\"group__group_\n+0011d0f0: 5f63 616c 6c62 6163 6b73 2e68 746d 6c23 _callbacks.html#\n+0011d100: 6761 6666 3430 6131 6361 3666 6266 3037 gaff40a1ca6fbf07\n+0011d110: 3562 3534 6363 6266 3437 3930 3039 6365 5b54ccbf479009ce\n+0011d120: 3734 2220 7469 746c 653d 2243 616c 6c62 74\" title=\"Callb\n+0011d130: 6163 6b20 746f 2072 6561 6420 6461 7461 ack to read data\n+0011d140: 2069 6e20 6120 4d49 4d45 2f4d 544f 4d20 in a MIME/MTOM \n+0011d150: 6174 7461 6368 6d65 6e74 2073 7472 6561 attachment strea\n+0011d160: 6d2e 223e 736f 6170 3a3a 666d 696d 6572 m.\">soap::fmimer\n+0011d170: 6561 643c 2f61 3e3c 2f63 6f64 653e 2061 ead
a\n+0011d180: 6e64 203c 636f 6465 3e3c 6120 636c 6173 nd soap::fmime\n+0011d230: 7265 6164 636c 6f73 653c 2f61 3e3c 2f63 readclose callbacks. \n+0011d250: 5768 656e 2061 6e20 6572 726f 7220 6f63 When an error oc\n+0011d260: 6375 7272 6564 2069 6e20 7468 6973 2063 curred in this c\n+0011d270: 616c 6c62 6163 6b2c 2074 6865 2063 616c allback, the cal\n+0011d280: 6c62 6163 6b20 7368 6f75 6c64 2072 6574 lback should ret\n+0011d290: 7572 6e20 4e55 4c4c 2061 6e64 2073 6574 urn NULL and set\n+0011d2a0: 203c 636f 6465 3e3c 6120 636c 6173 733d
\n+0011dc50: 6d65 6d62 6572 2076 6172 6961 626c 6520 member variable \n+0011dc60: 6973 207a 6572 6f20 616e 6420 4854 5450 is zero and HTTP\n+0011dc70: 2063 6875 6e6b 696e 6720 6973 2065 6e61 chunking is ena\n+0011dc80: 626c 6564 2028 7769 7468 203c 636f 6465 bled (with soa\n+0011d350: 703a 3a65 7272 6f72 3c2f 613e 3c2f 636f p::error to an error \n+0011d370: 636f 6465 2c20 652e 672e 2075 7369 6e67 code, e.g. using\n+0011d380: 203c 636f 6465 3e3c 6120 636c 6173 733d
indicates the \n+0011dc00: 746f 7461 6c20 7369 7a65 206f 6620 7468 total size of th\n+0011dc10: 6520 6174 7461 6368 6d65 6e74 2064 6174 e attachment dat\n+0011dc20: 6120 746f 2062 6520 7472 616e 736d 6974 a to be transmit\n+0011dc30: 7465 642e 2049 6620 7468 6520 3c63 6f64 ted. If the soap_rece\n+0011d430: 6976 6572 5f66 6175 6c74 3c2f 613e 3c2f iver_fault\n+0011d440: 636f 6465 3e2e 2054 6865 2063 616c 6c62 code>. The callb\n+0011d450: 6163 6b20 6d61 7920 7265 7475 726e 204e ack may return N\n+0011d460: 554c 4c20 616e 6420 7365 7420 3c63 6f64 ULL and set
t\n+0011d530: 6f20 3c63 6f64 653e 2353 4f41 505f 4f4b o #SOAP_OK\n+0011d540: 3c2f 636f 6465 3e20 7768 656e 2074 6869
when thi\n+0011d550: 7320 7370 6563 6966 6963 204d 494d 452f s specific MIME/\n+0011d560: 4d54 4f4d 2061 7474 6163 686d 656e 7420 MTOM attachment \n+0011d570: 7368 6f75 6c64 206e 6f74 2074 6f20 6265 should not to be\n+0011d580: 2073 7472 6561 6d65 6420 616e 6420 7468 streamed and th\n+0011d590: 6520 656e 6769 6e65 2077 696c 6c20 7369 e engine will si\n+0011d5a0: 6d70 6c79 2073 6b69 7020 6974 2e3c 2f6c mply skip it..siz\n+0011d5c0: 655f 7420 282a 736f 6170 2e66 6d69 6d65 e_t (*soap.fmime\n+0011d5d0: 7265 6164 2928 7374 7275 6374 2073 6f61 read)(struct soa\n+0011d5e0: 7020 2a73 6f61 702c 2076 6f69 6420 2a68 p *soap, void *h\n+0011d5f0: 616e 646c 652c 2063 6861 7220 2a62 7566 andle, char *buf\n+0011d600: 2c20 7369 7a65 5f74 206c 656e 293c 2f63 , size_t len) This callba\n+0011d620: 636b 2069 7320 6361 6c6c 6564 2062 7920 ck is called by \n+0011d630: 7468 6520 656e 6769 6e65 2074 6f20 7265 the engine to re\n+0011d640: 6164 2061 2063 6875 6e6b 206f 6620 6174 ad a chunk of at\n+0011d650: 7461 6368 6d65 6e74 2064 6174 6120 746f tachment data to\n+0011d660: 2074 7261 6e73 6d69 742e 2054 6865 203c transmit. The <\n+0011d670: 636f 6465 3e68 616e 646c 653c 2f63 6f64 code>handle parameter con\n+0011d690: 7461 696e 7320 7468 6520 6861 6e64 6c65 tains the handle\n+0011d6a0: 2072 6574 7572 6e65 6420 6279 2074 6865 returned by the\n+0011d6b0: 203c 636f 6465 3e3c 6120 636c 6173 733d
, \n+0011db40: 3c63 6f64 653e 7479 7065 3c2f 636f 6465 soap::fmimere\n+0011d760: 6164 6f70 656e 3c2f 613e 3c2f 636f 6465 adopen
callback. The \n+0011d780: 3c63 6f64 653e 6275 663c 2f63 6f64 653e buf
\n+0011d790: 2070 6172 616d 6574 6572 2069 7320 7468 parameter is th\n+0011d7a0: 6520 6275 6666 6572 206f 6620 6c65 6e67 e buffer of leng\n+0011d7b0: 7468 203c 636f 6465 3e6c 656e 3c2f 636f th len into which a\n+0011d7d0: 2063 6875 6e6b 206f 6620 6461 7461 2073 chunk of data s\n+0011d7e0: 686f 756c 6420 6265 2077 7269 7474 656e hould be written\n+0011d7f0: 2062 7920 7468 6520 6361 6c6c 6261 636b by the callback\n+0011d800: 2e20 5468 6520 6163 7475 616c 2061 6d6f . The actual amo\n+0011d810: 756e 7420 6f66 2064 6174 6120 7772 6974 unt of data writ\n+0011d820: 7465 6e20 696e 746f 2074 6865 2062 7566 ten into the buf\n+0011d830: 6665 7220 6d61 7920 6265 206c 6573 7320 fer may be less \n+0011d840: 7468 616e 203c 636f 6465 3e6c 656e 3c2f than
\n+0011db00: 2077 6974 6820 3c63 6f64 653e 5f5f 7074 with len\n+0011d850: 636f 6465 3e20 616e 6420 7468 6973 2061 code> and this a\n+0011d860: 6374 7561 6c20 616d 6f75 6e74 2073 686f ctual amount sho\n+0011d870: 756c 6420 6265 2072 6574 7572 6e65 6420 uld be returned \n+0011d880: 6279 2074 6865 2063 616c 6c62 6163 6b2e by the callback.\n+0011d890: 2041 2072 6574 7572 6e20 7661 6c75 6520 A return value \n+0011d8a0: 6f66 207a 6572 6f20 696e 6469 6361 7465 of zero indicate\n+0011d8b0: 7320 616e 2065 7272 6f72 2061 6e64 203c s an error and <\n+0011d8c0: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>soap:\n+0011d970: 3a65 7272 6f72 3c2f 613e 3c2f 636f 6465 :error
should be set.\n+0011d990: 2054 6865 203c 636f 6465 3e5f 5f73 697a The __siz\n+0011d9a0: 653c 2f63 6f64 653e 206d 656d 6265 7220 e
member \n+0011d9b0: 7661 7269 6162 6c65 206f 6620 7468 6520 variable of the \n+0011d9c0: 6174 7461 6368 6d65 6e74 2073 7472 7563 attachment struc\n+0011d9d0: 742f 636c 6173 7320 7769 7468 2064 6174 t/class with dat\n+0011d9e0: 6120 2865 2e67 2e20 3c63 6f64 653e 3c61 a (e.g. xsd_\n+0011da60: 5f62 6173 6536 3442 696e 6172 793c 2f61 _base64Binary
or __pt\n+0011db10: 723c 2f63 6f64 653e 2c20 3c63 6f64 653e r
, \n+0011db20: 5f5f 7369 7a65 3c2f 636f 6465 3e2c 203c __size
, <\n+0011db30: 636f 6465 3e69 643c 2f63 6f64 653e 2c20 code>idtype
and opti\n+0011db60: 6f6e 733c 2f63 6f64 653e 206d 656d 6265 ons
membe\n+0011db70: 7273 2920 7368 6f75 6c64 2062 6520 7365 rs) should be se\n+0011db80: 7420 6279 2074 6865 2061 7070 6c69 6361 t by the applica\n+0011db90: 7469 6f6e 2070 7269 6f72 2074 6f20 7468 tion prior to th\n+0011dba0: 6520 7365 7269 616c 697a 6174 696f 6e20 e serialization \n+0011dbb0: 6f66 2074 6865 206d 6573 7361 6765 2077 of the message w\n+0011dbc0: 6974 6820 6174 7461 6368 6d65 6e74 732e ith attachments.\n+0011dbd0: 2054 6865 2076 616c 7565 206f 6620 3c63 The value of #SOAP_IO_CHUNK<\n+0011dca0: 2f63 6f64 653e 292c 2074 6865 6e20 4d49 /code>), then MI\n+0011dcb0: 4d45 2f4d 544f 4d20 6368 756e 6b65 6420 ME/MTOM chunked \n+0011dcc0: 7472 616e 7366 6572 7320 6172 6520 6163 transfers are ac\n+0011dcd0: 7469 7661 7465 6420 6279 2074 6865 2065 tivated by the e\n+0011dce0: 6e67 696e 652c 2077 6869 6368 2069 7320 ngine, which is \n+0011dcf0: 6d6f 7265 2066 6c65 7869 626c 6520 7369 more flexible si\n+0011dd00: 6e63 6520 7468 6520 6174 7461 6368 6d65 nce the attachme\n+0011dd10: 6e74 2064 6174 6120 7369 7a65 2064 6f65 nt data size doe\n+0011dd20: 7320 6e6f 7420 6e65 6564 2074 6f20 6265 s not need to be\n+0011dd30: 2064 6574 6572 6d69 6e65 6420 696e 2061 determined in a\n+0011dd40: 6476 616e 6365 2e20 546f 2075 7365 204d dvance. To use M\n+0011dd50: 494d 452f 4d54 4f4d 2063 6875 6e6b 6564 IME/MTOM chunked\n+0011dd60: 2074 7261 6e73 6665 7273 2c20 656e 6162 transfers, enab\n+0011dd70: 6c65 2048 5454 5020 6368 756e 6b69 6e67 le HTTP chunking\n+0011dd80: 2077 6974 6820 3c63 6f64 653e 2353 4f41 with
#SOA\n+0011dd90: 505f 494f 5f43 4855 4e4b 3c2f 636f 6465 P_IO_CHUNK
(also #S\n+0011ddb0: 4f41 505f 494f 5f53 544f 5245 3c2f 636f OAP_IO_STORE can be used,\n+0011ddd0: 2062 7574 2074 6869 7320 6275 6666 6572 but this buffer\n+0011dde0: 7320 7468 6520 656e 7469 7265 206d 6573 s the entire mes\n+0011ddf0: 7361 6765 2069 6e20 6d65 6d6f 7279 2062 sage in memory b\n+0011de00: 6566 6f72 6520 7472 616e 736d 6973 7369 efore transmissi\n+0011de10: 6f6e 2920 616e 6420 7365 7420 7468 6520 on) and set the \n+0011de20: 3c63 6f64 653e 5f5f 7369 7a65 3c2f 636f
__size member varia\n+0011de40: 626c 6520 6f66 2074 6865 2061 7474 6163 ble of the attac\n+0011de50: 686d 656e 7420 7374 7275 6374 2f63 6c61 hment struct/cla\n+0011de60: 7373 2074 6f20 7a65 726f 2e20 5768 656e ss to zero. When\n+0011de70: 204d 494d 452f 4d54 4f4d 2061 7474 6163 MIME/MTOM attac\n+0011de80: 686d 656e 7420 6368 756e 6b69 6e67 2069 hment chunking i\n+0011de90: 7320 656e 6162 6c65 642c 2074 6869 7320 s enabled, this \n+0011dea0: 6361 6c6c 6261 636b 2073 686f 756c 6420 callback should \n+0011deb0: 636f 6d70 6c65 7465 6c79 2066 696c 6c20 completely fill \n+0011dec0: 7468 6520 3c63 6f64 653e 6275 663c 2f63 the
buf buffer with\n+0011dee0: 203c 636f 6465 3e6c 656e 3c2f 636f 6465
len
bytes unless t\n+0011df00: 6865 206c 6173 7420 6461 7461 2063 6875 he last data chu\n+0011df10: 6e6b 2069 7320 7265 6163 6865 6420 616e nk is reached an\n+0011df20: 6420 6665 7765 7220 6279 7465 7320 6172 d fewer bytes ar\n+0011df30: 6520 7265 7475 726e 6564 2e3c 2f6c 693e e returned.void \n+0011df50: 282a 736f 6170 2e66 6d69 6d65 7265 6164 (*soap.fmimeread\n+0011df60: 636c 6f73 6529 2873 7472 7563 7420 736f close)(struct so\n+0011df70: 6170 202a 736f 6170 2c20 766f 6964 202a ap *soap, void *\n+0011df80: 6861 6e64 6c65 293c 2f63 6f64 653e 2054 handle)
T\n+0011df90: 6869 7320 6361 6c6c 6261 636b 2069 7320 his callback is \n+0011dfa0: 6361 6c6c 6564 2062 7920 7468 6520 656e called by the en\n+0011dfb0: 6769 6e65 2074 6f20 636c 6f73 6520 7468 gine to close th\n+0011dfc0: 6520 4d49 4d45 2f4d 544f 4d20 6174 7461 e MIME/MTOM atta\n+0011dfd0: 6368 6d65 6e74 2073 7472 6561 6d20 6166 chment stream af\n+0011dfe0: 7465 7220 7265 6164 696e 672e 2054 6865 ter reading. The\n+0011dff0: 203c 636f 6465 3e68 616e 646c 653c 2f63 handle parameter c\n+0011e010: 6f6e 7461 696e 7320 7468 6520 6861 6e64 ontains the hand\n+0011e020: 6c65 2072 6574 7572 6e65 6420 6279 2074 le returned by t\n+0011e030: 6865 203c 636f 6465 3e3c 6120 636c 6173 he
, soap::fmime\n+0011e0e0: 7265 6164 6f70 656e 3c2f 613e 3c2f 636f readopen callback..
\n+0011e420: 6361 6c6c 6261 636b 2069 7320 6361 6c6c callback is call\n+0011e430: 6564 2074 6f20 636c 6f73 6520 7468 6520 ed to close the \n+0011e440: 7374 7265 616d 2e20 5468 6520 3c63 6f64 stream. The voi\n+0011e110: 6420 2a28 2a73 6f61 702e 666d 696d 6577 d *(*soap.fmimew\n+0011e120: 7269 7465 6f70 656e 2928 7374 7275 6374 riteopen)(struct\n+0011e130: 2073 6f61 7020 2a73 6f61 702c 2076 6f69 soap *soap, voi\n+0011e140: 6420 2a68 616e 646c 652c 2063 6f6e 7374 d *handle, const\n+0011e150: 2063 6861 7220 2a69 642c 2063 6f6e 7374 char *id, const\n+0011e160: 2063 6861 7220 2a74 7970 652c 2063 6f6e char *type, con\n+0011e170: 7374 2063 6861 7220 2a64 6573 6372 6970 st char *descrip\n+0011e180: 7469 6f6e 2c20 656e 756d 2073 6f61 705f tion, enum soap_\n+0011e190: 6d69 6d65 5f65 6e63 6f64 696e 6720 656e mime_encoding en\n+0011e1a0: 636f 6469 6e67 293c 2f63 6f64 653e 2043 coding)
C\n+0011e1b0: 616c 6c65 6420 6279 2074 6865 2074 6f20 alled by the to \n+0011e1c0: 7374 6172 7420 7265 6365 6976 696e 6720 start receiving \n+0011e1d0: 6120 7374 7265 616d 696e 6720 4d49 4d45 a streaming MIME\n+0011e1e0: 2f4d 544f 4d20 6174 7461 6368 6d65 6e74 /MTOM attachment\n+0011e1f0: 2e20 5468 6973 2063 616c 6c62 6163 6b20 . This callback \n+0011e200: 6f70 656e 7320 6120 7374 7265 616d 2074 opens a stream t\n+0011e210: 6f20 7374 6172 7420 7772 6974 696e 6720 o start writing \n+0011e220: 7468 6520 6174 7461 6368 6d65 6e74 2064 the attachment d\n+0011e230: 6174 6120 7265 6365 6976 6564 2e20 5468 ata received. Th\n+0011e240: 6520 6163 7475 616c 2064 6174 6120 7374 e actual data st\n+0011e250: 7265 616d 2077 696c 6c20 6265 2077 7269 ream will be wri\n+0011e260: 7474 656e 2069 6e20 6368 756e 6b73 2075 tten in chunks u\n+0011e270: 7369 6e67 2074 6865 203c 636f 6465 3e3c sing the <\n+0011e280: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+0011e290: 663d 2267 726f 7570 5f5f 6772 6f75 705f f=\"group__group_\n+0011e2a0: 5f63 616c 6c62 6163 6b73 2e68 746d 6c23 _callbacks.html#\n+0011e2b0: 6761 3930 3834 6630 3339 3265 3461 3534 ga9084f0392e4a54\n+0011e2c0: 3238 3733 3636 3132 3164 3330 6263 3438 287366121d30bc48\n+0011e2d0: 3330 2220 7469 746c 653d 2243 616c 6c62 30\" title=\"Callb\n+0011e2e0: 6163 6b20 746f 2077 7269 7465 2064 6174 ack to write dat\n+0011e2f0: 6120 696e 2061 204d 494d 4520 6174 7461 a in a MIME atta\n+0011e300: 6368 6d65 6e74 2073 7472 6561 6d2e 223e chment stream.\">\n+0011e310: 736f 6170 3a3a 666d 696d 6577 7269 7465 soap::fmimewrite\n+0011e320: 3c2f 613e 3c2f 636f 6465 3e20 6361 6c6c
call\n+0011e330: 6261 636b 2075 6e74 696c 206e 6f20 6d6f back until no mo\n+0011e340: 7265 2064 6174 6120 6973 2061 7661 696c re data is avail\n+0011e350: 6162 6c65 2061 6e64 2074 6865 203c 636f able and the options\n+0011e480: 3c2f 636f 6465 3e20 7061 7261 6d65 7465
paramete\n+0011e490: 7273 2061 7265 2074 6865 203c 636f 6465 rs are the id
, options<\n+0011e4d0: 2f63 6f64 653e 206f 6620 7468 6520 6174 /code> of the at\n+0011e4e0: 7461 6368 6d65 6e74 2073 7472 7563 742f tachment struct/\n+0011e4f0: 636c 6173 7320 2865 2e67 2e20 3c63 6f64 class (e.g.
or \n+0011e590: 3c63 6f64 653e 3c61 2063 6c61 7373 3d22 _xop\n+0011e600: 5f5f 496e 636c 7564 653c 2f61 3e3c 2f63 __Include with
, \n+0011e620: 5f5f 7074 723c 2f63 6f64 653e 2c20 3c63 __ptr
, id
type\n+0011e660: 636f 6465 3e20 616e 6420 3c63 6f64 653e code> and
\n+0011e670: 6f70 7469 6f6e 733c 2f63 6f64 653e 206d options
m\n+0011e680: 656d 6265 7273 292c 2072 6573 7065 6374 embers), respect\n+0011e690: 6976 656c 792e 2054 6865 2063 616c 6c62 ively. The callb\n+0011e6a0: 6163 6b20 7368 6f75 6c64 2072 6574 7572 ack should retur\n+0011e6b0: 6e20 6120 6861 6e64 6c65 2c20 7768 6963 n a handle, whic\n+0011e6c0: 6820 6973 2070 6173 7365 6420 746f 2074 h is passed to t\n+0011e6d0: 6865 203c 636f 6465 3e3c 6120 636c 6173 he soap::\n+0011e770: 666d 696d 6577 7269 7465 3c2f 613e 3c2f fmimewrite\n+0011e780: 636f 6465 3e20 616e 6420 3c63 6f64 653e code> and
m\n+0011e870: 656d 6265 7220 7661 7269 6162 6c65 206f ember variable o\n+0011e880: 6620 7468 6520 6174 7461 6368 6d65 6e74 f the attachment\n+0011e890: 2073 7472 7563 742f 636c 6173 7320 6973 struct/class is\n+0011e8a0: 2073 6574 2062 7920 7468 6520 656e 6769 set by the engi\n+0011e8b0: 6e65 2074 6f20 7468 6520 7661 6c75 6520 ne to the value \n+0011e8c0: 6f66 2074 6869 7320 6861 6e64 6c65 2e20 of this handle. \n+0011e8d0: 5468 6520 3c63 6f64 653e 5f5f 7369 7a65 The \n+0011e790: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap\n+0011e830: 3a3a 666d 696d 6577 7269 7465 636c 6f73 ::fmimewriteclos\n+0011e840: 653c 2f61 3e3c 2f63 6f64 653e 2063 616c e
cal\n+0011e850: 6c62 6163 6b73 2e20 5468 6520 3c63 6f64 lbacks. The __size\n+0011e8e0: 3c2f 636f 6465 3e20 6d65 6d62 6572 2076
member v\n+0011e8f0: 6172 6961 626c 6520 6973 2073 6574 2074 ariable is set t\n+0011e900: 6f20 7468 6520 7369 7a65 206f 6620 7468 o the size of th\n+0011e910: 6520 6174 7461 6368 6d65 6e74 2072 6563 e attachment rec\n+0011e920: 6569 7665 642e 3c2f 6c69 3e0a 3c6c 693e eived.int (*soap\n+0011e940: 2e66 6d69 6d65 7772 6974 6529 2873 7472 .fmimewrite)(str\n+0011e950: 7563 7420 736f 6170 202a 736f 6170 2c20 uct soap *soap, \n+0011e960: 766f 6964 202a 6861 6e64 6c65 2c20 636f void *handle, co\n+0011e970: 6e73 7420 6368 6172 202a 6275 662c 2073 nst char *buf, s\n+0011e980: 697a 655f 7420 6c65 6e29 3c2f 636f 6465 ize_t len)
This callback \n+0011e9a0: 6973 2063 616c 6c65 6420 6279 2074 6865 is called by the\n+0011e9b0: 2065 6e67 696e 6520 746f 2077 7269 7465 engine to write\n+0011e9c0: 2061 2063 6875 6e6b 206f 6620 6174 7461 a chunk of atta\n+0011e9d0: 6368 6d65 6e74 2064 6174 6120 7265 6365 chment data rece\n+0011e9e0: 6976 6564 2e20 5468 6520 3c63 6f64 653e ived. The \n+0011e9f0: 6861 6e64 6c65 3c2f 636f 6465 3e20 7061 handle
pa\n+0011ea00: 7261 6d65 7465 7220 636f 6e74 6169 6e73 rameter contains\n+0011ea10: 2074 6865 2068 616e 646c 6520 7265 7475 the handle retu\n+0011ea20: 726e 6564 2062 7920 7468 6520 3c63 6f64 rned by the len. Returns
s\n+0011ec20: 6f61 705f 7374 6174 7573 3c2f 613e 3c2f oap_status\n+0011ec30: 636f 6465 3e20 2869 6e74 2920 6572 726f code> (int) erro\n+0011ec40: 7220 636f 6465 2e3c 2f6c 693e 0a3c 6c69 r code.
void (*so\n+0011ec60: 6170 2e66 6d69 6d65 7772 6974 6563 6c6f ap.fmimewriteclo\n+0011ec70: 7365 2928 7374 7275 6374 2073 6f61 7020 se)(struct soap \n+0011ec80: 2a73 6f61 702c 2076 6f69 6420 2a68 616e *soap, void *han\n+0011ec90: 646c 6529 3c2f 636f 6465 3e20 5468 6973 dle)
This\n+0011eca0: 2063 616c 6c62 6163 6b20 6973 2063 616c callback is cal\n+0011ecb0: 6c65 6420 6279 2074 6865 2065 6e67 696e led by the engin\n+0011ecc0: 6520 746f 2063 6c6f 7365 2074 6865 204d e to close the M\n+0011ecd0: 494d 452f 4d54 4f4d 2061 7474 6163 686d IME/MTOM attachm\n+0011ece0: 656e 7420 7374 7265 616d 2061 6674 6572 ent stream after\n+0011ecf0: 2077 7269 7469 6e67 2e20 5468 6520 3c63 writing. The soap::fmimewri\n+0011edf0: 7465 6f70 656e 3c2f 613e 3c2f 636f 6465 teopen
callback.v\n+0011ee30: 6f69 642a 203c 6120 636c 6173 733d 2265 oid* soa\n+0011eef0: 703a 3a75 7365 723c 2f61 3e3c 2f63 6f64 p::user member is ava\n+0011ef10: 696c 6162 6c65 2074 6f20 7061 7373 2075 ilable to pass u\n+0011ef20: 7365 722d 6465 6669 6e65 6420 6461 7461 ser-defined data\n+0011ef30: 2074 6f20 7468 6520 6361 6c6c 6261 636b to the callback\n+0011ef40: 732e 2054 6869 7320 7761 792c 2079 6f75 s. This way, you\n+0011ef50: 2063 616e 2073 6574 203c 636f 6465 3e76 can set
v\n+0011ef60: 6f69 642a 203c 6120 636c 6173 733d 2265 oid* soa\n+0011f020: 703a 3a75 7365 723c 2f61 3e3c 2f63 6f64 p::user to point to a\n+0011f040: 7070 6c69 6361 7469 6f6e 2064 6174 6120 pplication data \n+0011f050: 7468 6174 2074 6865 2063 616c 6c62 6163 that the callbac\n+0011f060: 6b73 206e 6565 6420 7375 6368 2061 7320 ks need such as \n+0011f070: 6120 6669 6c65 206e 616d 6520 666f 7220 a file name for \n+0011f080: 6578 616d 706c 652e 3c2f 703e 0a3c 703e example.
// must set \n-0011f950: 746f 206e 6f6e 2d4e 554c 4c20 2874 6869 to non-NULL (thi\n-0011f960: 7320 6973 206f 7572 2066 6420 6861 6e64 s is our fd hand\n-0011f970: 6c65 2077 6869 6368 2077 6520 6e65 6564 le which we need\n-0011f980: 2069 6e20 7468 6520 6361 6c6c 6261 636b in the callback\n-0011f990: 7329 203c 2f73 7061 6e3e 3c2f 6469 763e s) else char *type, const char *description\n-00120360: 2920 3c2f 6469 763e 0a3c 6469 7620 636c ) if (soap_call_ns_\n-001211c0: 5f77 6562 6d65 7468 6f64 2826 616d 703b _webmethod(&\n-001211d0: 3c61 2063 6c61 7373 3d22 636f 6465 2220 soap,\n-00121200: 202e 2e2e 2929 3c2f 6469 763e 0a3c 6469 ...))const\n-00121470: 203c 7370 616e 2063 6c61 7373 3d22 6b65 char<\n-00121490: 2f73 7061 6e3e 202a 7479 7065 2c20 3c73 /span> *type, const\n-001214c0: 203c 7370 616e 2063 6c61 7373 3d22 6b65 char<\n-001214e0: 2f73 7061 6e3e 202a 6465 7363 7269 7074 /span> *descript\n-001214f0: 696f 6e2c 203c 7370 616e 2063 6c61 7373 ion, enum<\n-00121510: 2f73 7061 6e3e 203c 6120 636c 6173 733d /span> soap_mi\n-00121570: 6d65 5f65 6e63 6f64 696e 673c 2f61 3e20 me_encoding \n-00121580: 656e 636f 6469 6e67 2920 3c2f 6469 763e encoding) "\n+00121670: 7762 2671 756f 743b 3c2f 7370 616e 3e29 wb")\n+00121680: 3b20 3c2f 6469 763e 0a3c 6469 7620 636c ; char *bu\n+00121d80: 663c 2f61 3e2c 203c 7370 616e 2063 6c61 f, size_t l\n+00121db0: 656e 2920 3c2f 6469 763e 0a3c 6469 7620 en) #SOA\n-00122a20: 505f 454e 435f 5a4c 4942 3c2f 636f 6465 P_ENC_ZLIB
can be used wi\n-00122a40: 7468 204d 494d 4520 746f 2063 6f6d 7072 th MIME to compr\n-00122a50: 6573 7320 7468 6520 656e 7469 7265 206d ess the entire m\n-00122a60: 6573 7361 6765 2e20 486f 7765 7665 722c essage. However,\n-00122a70: 2063 6f6d 7072 6573 7369 6f6e 2072 6571 compression req\n-00122a80: 7569 7265 7320 6275 6666 6572 696e 6720 uires buffering \n-00122a90: 746f 2064 6574 6572 6d69 6e65 2074 6865 to determine the\n-00122aa0: 2048 5454 5020 636f 6e74 656e 7420 6c65 HTTP content le\n-00122ab0: 6e67 7468 2068 6561 6465 722c 2077 6869 ngth header, whi\n-00122ac0: 6368 2063 616e 6365 6c73 2074 6865 2062 ch cancels the b\n-00122ad0: 656e 6566 6974 7320 6f66 2073 7472 6561 enefits of strea\n-00122ae0: 6d69 6e67 204d 494d 452e 2054 6f20 6176 ming MIME. To av\n-00122af0: 6f69 6420 7468 6973 2c20 796f 7520 7368 oid this, you sh\n-00122b00: 6f75 6c64 2075 7365 2063 6875 6e6b 6564 ould use chunked\n-00122b10: 2048 5454 5020 2877 6974 6820 7468 6520 HTTP (with the \n-00122b20: 6f75 7470 7574 2d6d 6f64 6520 3c63 6f64 output-mode #SOAP_\n-00122ba0: 494f 5f43 4855 4e4b 3c2f 636f 6465 3e20 IO_CHUNK
\n-00122bb0: 6265 666f 7265 2063 616c 6c69 6e67 203c before calling <\n-00122bc0: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>soap_serve\n-00122c40: 613e 3c2f 636f 6465 3e2c 2074 6865 2065 a>, the e\n-00122c50: 6e67 696e 6520 7769 6c6c 2061 7574 6f6d ngine will autom\n-00122c60: 6174 6963 616c 6c79 2072 6576 6572 7420 atically revert \n-00122c70: 746f 2062 7566 6665 7269 6e67 2028 3c63 to buffering ((soap\n-00122cd0: 2d26 6774 3b6f 6d6f 6465 2026 616d 703b ->omode &\n-00122ce0: 2053 4f41 505f 494f 2920 3d3d 2053 4f41 SOAP_IO) == SOA\n-00122cf0: 505f 494f 5f43 4855 4e4b 3c2f 636f 6465 P_IO_CHUNK
to see if the \n-00122d10: 636c 6965 6e74 2061 6363 6570 7473 2063 client accepts c\n-00122d20: 6875 6e6b 696e 672e 204d 6f72 6520 696e hunking. More in\n-00122d30: 666f 726d 6174 696f 6e20 6162 6f75 7420 formation about \n-00122d40: 7374 7265 616d 696e 6720 6368 756e 6b65 streaming chunke\n-00122d50: 6420 4d49 4d45 2063 616e 2062 6520 666f d MIME can be fo\n-00122d60: 756e 6420 696e 2053 6563 7469 6f6e 203c und in Section <\n-00122d70: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-00122d80: 663d 2269 6e64 6578 2e68 746d 6c23 6d69 f=\"index.html#mi\n-00122d90: 6d65 6368 756e 6b69 6e67 223e 5374 7265 mechunking\">Stre\n-00122da0: 616d 696e 6720 6368 756e 6b65 6420 4d49 aming chunked MI\n-00122db0: 4d45 2f4d 544f 4d3c 2f61 3e20 2e2e 3c2f ME/MTOMmime\n-00122df0: 5f72 6561 643c 2f63 6f64 653e 2075 7365 _read
use\n-00122e00: 7320 6120 6861 6e64 6c65 2074 6861 7420 s a handle that \n-00122e10: 706f 696e 7473 2074 6f20 7468 6520 6f70 points to the op\n-00122e20: 656e 2066 696c 6520 3c63 6f64 653e 4649 en file FI\n-00122e30: 4c45 2a3c 2f63 6f64 653e 2e20 5468 6520 LE*
. The \n-00122e40: 7369 6d70 6c65 2065 7861 6d70 6c65 2061 simple example a\n-00122e50: 626f 7665 2069 7320 6e6f 7420 7265 636f bove is not reco\n-00122e60: 6d6d 656e 6465 6420 7768 656e 2074 6865 mmended when the\n-00122e70: 2070 6c61 7466 6f72 6d20 696d 706f 7365 platform impose\n-00122e80: 7320 6120 6c69 6d69 7420 6f6e 2074 6865 s a limit on the\n-00122e90: 206e 756d 6265 7220 6f66 206f 7065 6e20 number of open \n-00122ea0: 6669 6c65 2064 6573 6372 6970 746f 7273 file descriptors\n-00122eb0: 2e20 596f 7520 6361 6e20 7573 6520 7468 . You can use th\n-00122ec0: 6520 6861 6e64 6c65 2074 6f20 7061 7373 e handle to pass\n-00122ed0: 2061 6c6f 6e67 206d 6f72 6520 696e 666f along more info\n-00122ee0: 726d 6174 696f 6e20 7468 616e 206a 7573 rmation than jus\n-00122ef0: 7420 7468 6520 6669 6c65 2064 6573 6372 t the file descr\n-00122f00: 6970 746f 722e 2053 6f20 666f 7220 6578 iptor. So for ex\n-00122f10: 616d 706c 652c 2077 6865 6e20 7468 6520 ample, when the \n-00122f20: 6e75 6d62 6572 206f 6620 6f70 656e 2066 number of open f\n-00122f30: 696c 6520 6465 7363 7269 7074 6f72 7320 ile descriptors \n-00122f40: 6973 206c 696d 6974 6564 206f 6e20 796f is limited on yo\n-00122f50: 7572 2070 6c61 7466 6f72 6d2c 2079 6f75 ur platform, you\n-00122f60: 2073 686f 756c 6420 6c65 7420 7468 6520 should let the \n-00122f70: 6861 6e64 6c65 2070 6f69 6e74 2074 6f20 handle point to \n-00122f80: 6120 7374 7275 6374 7572 6520 7769 7468 a structure with\n-00122f90: 2066 696c 652d 7265 6c61 7465 6420 696e file-related in\n-00122fa0: 666f 726d 6174 696f 6e2e 2054 6865 2043 formation. The C\n-00122fb0: 2b2b 2065 7861 6d70 6c65 2062 656c 6f77 ++ example below\n-00122fc0: 2069 6c6c 7573 7472 6174 6573 2074 6869 illustrates thi\n-00122fd0: 733a 3c2f 703e 0a3c 6469 7620 636c 6173 s:#SOAP_IO\n+00122b20: 5f43 4855 4e4b 3c2f 636f 6465 3e20 666c _CHUNK
fl\n+00122b30: 6167 2920 7769 7468 2063 6f6d 7072 6573 ag) with compres\n+00122b40: 7369 6f6e 2061 6e64 2073 7472 6561 6d69 sion and streami\n+00122b50: 6e67 204d 494d 452e 2041 7420 7468 6520 ng MIME. At the \n+00122b60: 7365 7276 6572 2073 6964 652c 2077 6865 server side, whe\n+00122b70: 6e20 796f 7520 7365 7420 3c63 6f64 653e n you set \n+00122b80: 2353 4f41 505f 494f 5f43 4855 4e4b 3c2f #SOAP_IO_CHUNK\n+00122b90: 636f 6465 3e20 6265 666f 7265 2063 616c code> before cal\n+00122ba0: 6c69 6e67 203c 636f 6465 3e3c 6120 636c ling
soap_s\n+00122c20: 6572 7665 3c2f 613e 3c2f 636f 6465 3e2c erve
,\n+00122c30: 2074 6865 2065 6e67 696e 6520 7769 6c6c the engine will\n+00122c40: 2061 7574 6f6d 6174 6963 616c 6c79 2072 automatically r\n+00122c50: 6576 6572 7420 746f 2062 7566 6665 7269 evert to bufferi\n+00122c60: 6e67 2028 3c63 6f64 653e 2353 4f41 505f ng (#SOAP_\n+00122c70: 494f 5f53 544f 5245 3c2f 636f 6465 3e20 IO_STORE
\n+00122c80: 666c 6167 2069 7320 7365 7429 2e20 596f flag is set). Yo\n+00122c90: 7520 6361 6e20 6368 6563 6b20 7468 6973 u can check this\n+00122ca0: 2066 6c61 6720 7769 7468 203c 636f 6465 flag with (soap->omode\n+00122cc0: 2026 616d 703b 2053 4f41 505f 494f 2920 & SOAP_IO) \n+00122cd0: 3d3d 2053 4f41 505f 494f 5f43 4855 4e4b == SOAP_IO_CHUNK\n+00122ce0: 3c2f 636f 6465 3e20 746f 2073 6565 2069
to see i\n+00122cf0: 6620 7468 6520 636c 6965 6e74 2061 6363 f the client acc\n+00122d00: 6570 7473 2063 6875 6e6b 696e 672e 204d epts chunking. M\n+00122d10: 6f72 6520 696e 666f 726d 6174 696f 6e20 ore information \n+00122d20: 6162 6f75 7420 7374 7265 616d 696e 6720 about streaming \n+00122d30: 6368 756e 6b65 6420 4d49 4d45 2063 616e chunked MIME can\n+00122d40: 2062 6520 666f 756e 6420 696e 2053 6563 be found in Sec\n+00122d50: 7469 6f6e 203c 6120 636c 6173 733d 2265 tion Streaming chun\n+00122d90: 6b65 6420 4d49 4d45 2f4d 544f 4d3c 2f61 ked MIME/MTOM ..new F\n+00123250: 696c 6553 7472 6561 6d49 6e28 6572 726f ileStreamIn(erro\n+00123260: 7268 616e 646c 6572 293b 203c 2f64 6976 rhandler); unsigned\n-001233f0: 3c2f 7370 616e 3e20 3c73 7061 6e20 636c char*)i\n-00123420: 6e73 3b3c 2f64 6976 3e0a 3c64 6976 2063 ns;char*)ins;return\n-00123ab0: 7370 616e 3e20 4e55 4c4c 3b20 3c2f 6469 span> NULL; .struct soap *soap\n-00123c10: 613e 2c20 3c73 7061 6e20 636c 6173 733d a>, vo\n-00123c30: 6964 3c2f 7370 616e 3e20 2a68 616e 646c id *handl\n-00123c40: 6529 203c 2f64 6976 3e0a 3c64 6976 2063 e) return\n+00123890: 7370 616e 3e20 4e55 4c4c 3b20 3c2f 6469 span> NULL; .void mime_read_cl\n+00123b70: 6f73 6528 3c73 7061 6e20 636c 6173 733d ose(struct\n+00123b90: 3c2f 7370 616e 3e20 3c61 2063 6c61 7373 s\n+00123bc0: 6f61 703c 2f61 3e20 2a3c 6120 636c 6173 oap *\n+00123bf0: 736f 6170 3c2f 613e 2c20 3c73 7061 6e20 soap, void \n+00123c20: 2a68 616e 646c 6529 203c 2f64 6976 3e0a *handle) if (!handle) .\n-001244d0: 3c2f 613e 0a52 6564 6972 6563 7469 6e67 .Redirecting\n-001244e0: 2069 6e62 6f75 6e64 204d 494d 452f 4d54 inbound MIME/MT\n-001244f0: 4f4d 2073 7472 6561 6d73 2062 6173 6564 OM streams based\n-00124500: 206f 6e20 534f 4150 2062 6f64 7920 636f on SOAP body co\n-00124510: 6e74 656e 743c 2f68 323e 0a3c 703e 5768 ntent
.\n-001248a0: 0a3c 6c69 3e3c 636f 6465 3e76 6f69 6420 .
.void \n-001248b0: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap_po\n-00124940: 7374 5f63 6865 636b 5f6d 696d 655f 6174 st_check_mime_at\n-00124950: 7461 6368 6d65 6e74 7328 7374 7275 6374 tachments(struct\n-00124960: 2073 6f61 7020 2a73 6f61 7029 3c2f 613e soap *soap)\n-00124970: 3c2f 636f 6465 3e20 5468 6973 2066 756e
This fun\n-00124980: 6374 696f 6e20 656e 6162 6c65 7320 706f ction enables po\n-00124990: 7374 2d70 726f 6365 7373 696e 6720 6f66 st-processing of\n-001249a0: 204d 494d 452f 4d54 4f4d 2061 7474 6163 MIME/MTOM attac\n-001249b0: 686d 656e 7473 2072 6563 6569 7665 642e hments received.\n-001249c0: 2054 6869 7320 6d65 616e 7320 7468 6174 This means that\n-001249d0: 2074 6865 2070 7265 7365 6e63 6520 6f66 the presence of\n-001249e0: 204d 494d 452f 4d54 4f4d 2061 7474 6163 MIME/MTOM attac\n-001249f0: 686d 656e 7473 206d 7573 7420 6265 2065 hments must be e\n-00124a00: 7870 6c69 6369 746c 7920 6368 6563 6b65 xplicitly checke\n-00124a10: 6420 6279 2063 616c 6c69 6e67 203c 636f d by calling soap_r\n-00124bc0: 6563 765f 6d69 6d65 5f61 7474 6163 686d ecv_mime_attachm\n-00124bd0: 656e 743c 2f61 3e3c 2f63 6f64 653e 2072 ent
r\n-00124be0: 6570 6561 7465 646c 7920 746f 2072 6574 epeatedly to ret\n-00124bf0: 7269 6576 6520 6561 6368 2061 7474 6163 rieve each attac\n-00124c00: 686d 656e 7420 756e 7469 6c20 7468 6973 hment until this\n-00124c10: 2066 756e 6374 696f 6e20 7265 7475 726e function return\n-00124c20: 7320 4e55 4c4c 2e20 5468 6973 2066 756e s NULL. This fun\n-00124c30: 6374 696f 6e20 7265 7475 726e 7320 6120 ction returns a \n-00124c40: 706f 696e 7465 7220 746f 2061 203c 636f pointer to a in\n-00124d00: 7420 3c61 2063 6c61 7373 3d22 656c 2220 t soap\n-00124d80: 5f63 6865 636b 5f6d 696d 655f 6174 7461 _check_mime_atta\n-00124d90: 6368 6d65 6e74 7328 7374 7275 6374 2073 chments(struct s\n-00124da0: 6f61 7020 2a73 6f61 7029 3c2f 613e 3c2f oap *soap)\n-00124db0: 636f 6465 3e20 5468 6973 2066 756e 6374 code> This funct\n-00124dc0: 696f 6e20 6368 6563 6b73 2074 6865 2070 ion checks the p\n-00124dd0: 7265 7365 6e63 6520 6f66 2061 204d 494d resence of a MIM\n-00124de0: 452f 4d54 4f4d 2061 7474 6163 686d 656e E/MTOM attachmen\n-00124df0: 7420 6166 7465 7220 6361 6c6c 696e 6720 t after calling \n-00124e00: 6120 7365 7276 6963 6520 6f70 6572 6174 a service operat\n-00124e10: 696f 6e20 6279 2072 6574 7572 6e69 6e67 ion by returning\n-00124e20: 206e 6f6e 7a65 726f 2077 6865 6e20 6174 nonzero when at\n-00124e30: 7461 6368 6d65 6e74 7320 6172 6520 7072 tachments are pr\n-00124e40: 6573 656e 742e 2052 6574 7572 6e73 206e esent. Returns n\n-00124e50: 6f6e 7a65 726f 2069 6620 6174 7461 6368 onzero if attach\n-00124e60: 6d65 6e74 7320 6172 6520 7072 6573 656e ments are presen\n-00124e70: 742e 2052 6571 7569 7265 7320 3c63 6f64 t. Requires
struct soa\n-00124fc0: 705f 6d75 6c74 6970 6172 743c 2f61 3e20 p_multipart \n-00124fd0: 2a73 6f61 705f 7265 6376 5f6d 696d 655f *soap_recv_mime_\n-00124fe0: 6174 7461 6368 6d65 6e74 2873 7472 7563 attachment(struc\n-00124ff0: 7420 736f 6170 202a 736f 6170 2c20 766f t soap *soap, vo\n-00125000: 6964 202a 6861 6e64 6c65 293c 2f63 6f64 id *handle) This function\n-00125020: 2070 6172 7365 7320 616e 2061 7474 6163 parses an attac\n-00125030: 686d 656e 7420 616e 6420 696e 766f 6b65 hment and invoke\n-00125040: 7320 7468 6520 4d49 4d45 2063 616c 6c62 s the MIME callb\n-00125050: 6163 6b73 2077 6865 6e20 7365 742e 2054 acks when set. T\n-00125060: 6865 203c 636f 6465 3e68 616e 646c 653c he
handle<\n-00125070: 2f63 6f64 653e 2070 6172 616d 6574 6572 /code> parameter\n-00125080: 2069 7320 7061 7373 6564 2074 6f20 3c63 is passed to
. The h\n-001250b0: 616e 646c 6520 6d61 7920 636f 6e74 6169 andle may contai\n-001250c0: 6e20 616e 7920 6461 7461 2074 6861 7420 n any data that \n-001250d0: 6973 2065 7874 7261 6374 6564 2066 726f is extracted fro\n-001250e0: 6d20 7468 6520 534f 4150 206d 6573 7361 m the SOAP messa\n-001250f0: 6765 2062 6f64 7920 746f 2067 7569 6465 ge body to guide\n-00125100: 2074 6865 2072 6564 6972 6563 7469 6f6e the redirection\n-00125110: 206f 6620 7468 6520 7374 7265 616d 2069 of the stream i\n-00125120: 6e20 7468 6520 6361 6c6c 6261 636b 732e n the callbacks.\n-00125130: 2052 6574 7572 6e73 2061 2073 7472 7563 Returns a struc\n-00125140: 7420 7769 7468 2061 203c 636f 6465 3e63 t with a c\n-00125150: 6861 7220 2a70 7472 3c2f 636f 6465 3e20 har *ptr
\n-00125160: 6d65 6d62 6572 2074 6861 7420 636f 6e74 member that cont\n-00125170: 6169 6e73 2074 6865 2068 616e 646c 6520 ains the handle \n-00125180: 7661 6c75 6520 7265 7475 726e 6564 2062 value returned b\n-00125190: 7920 7468 6520 3c63 6f64 653e 666d 696d y the fmim\n-001251a0: 6577 7269 7465 6f70 656e 3c2f 636f 6465 ewriteopen
callback, and \n-001251c0: 3c63 6f64 653e 6368 6172 202a 6964 3c2f char *id\n-001251d0: 636f 6465 3e2c 203c 636f 6465 3e63 6861 code>,
cha\n-001251e0: 7220 2a74 7970 653c 2f63 6f64 653e 2c20 r *type
, \n-001251f0: 616e 6420 3c63 6f64 653e 6368 6172 202a and char *\n-00125200: 6465 7363 7269 7074 696f 6e3c 2f63 6f64 description member variab\n-00125220: 6c65 7320 7769 7468 2074 6865 204d 494d les with the MIM\n-00125230: 4520 6964 2c20 7479 7065 2c20 616e 6420 E id, type, and \n-00125240: 6465 7363 7269 7074 696f 6e20 696e 666f description info\n-00125250: 2077 6865 6e20 7072 6573 656e 7420 696e when present in\n-00125260: 2074 6865 2061 7474 6163 686d 656e 742e the attachment.\n-00125270: 3c2f 6c69 3e0a 3c2f 756c 3e0a 3c70 3e45
return\n+00124290: 7370 616e 3e20 6e72 6561 643b 203c 2f64 span> nread; ..Redir\n+001244c0: 6563 7469 6e67 2069 6e62 6f75 6e64 204d ecting inbound M\n+001244d0: 494d 452f 4d54 4f4d 2073 7472 6561 6d73 IME/MTOM streams\n+001244e0: 2062 6173 6564 206f 6e20 534f 4150 2062 based on SOAP b\n+001244f0: 6f64 7920 636f 6e74 656e 743c 2f68 323e ody content
\n+00124500: 0a3c 703e 5768 656e 2069 7420 6973 2070 ..
.void s\n+00124920: 6f61 705f 706f 7374 5f63 6865 636b 5f6d oap_post_check_m\n+00124930: 696d 655f 6174 7461 6368 6d65 6e74 7328 ime_attachments(\n+00124940: 7374 7275 6374 2073 6f61 7020 2a73 6f61 struct soap *soa\n+00124950: 7029 3c2f 613e 3c2f 636f 6465 3e20 5468 p)
Th\n+00124960: 6973 2066 756e 6374 696f 6e20 656e 6162 is function enab\n+00124970: 6c65 7320 706f 7374 2d70 726f 6365 7373 les post-process\n+00124980: 696e 6720 6f66 204d 494d 452f 4d54 4f4d ing of MIME/MTOM\n+00124990: 2061 7474 6163 686d 656e 7473 2072 6563 attachments rec\n+001249a0: 6569 7665 642e 2054 6869 7320 6d65 616e eived. This mean\n+001249b0: 7320 7468 6174 2074 6865 2070 7265 7365 s that the prese\n+001249c0: 6e63 6520 6f66 204d 494d 452f 4d54 4f4d nce of MIME/MTOM\n+001249d0: 2061 7474 6163 686d 656e 7473 206d 7573 attachments mus\n+001249e0: 7420 6265 2065 7870 6c69 6369 746c 7920 t be explicitly \n+001249f0: 6368 6563 6b65 6420 6279 2063 616c 6c69 checked by calli\n+00124a00: 6e67 203c 636f 6465 3e3c 6120 636c 6173 ng soap_check_mi\n+00124a90: 6d65 5f61 7474 6163 686d 656e 7473 3c2f me_attachments\n+00124aa0: 613e 3c2f 636f 6465 3e20 6166 7465 7220 a>
after \n+00124ab0: 7468 6520 6d65 7373 6167 6520 7761 7320 the message was \n+00124ac0: 7265 6365 6976 6564 2e20 5768 656e 2074 received. When t\n+00124ad0: 6869 7320 6675 6e63 7469 6f6e 2072 6574 his function ret\n+00124ae0: 7572 6e73 206e 6f6e 7a65 726f 2028 7472 urns nonzero (tr\n+00124af0: 7565 292c 2074 6865 6e20 7468 6520 6174 ue), then the at\n+00124b00: 7461 6368 6d65 6e74 7320 6361 6e20 6265 tachments can be\n+00124b10: 2072 6574 7269 6576 6564 2062 7920 6361 retrieved by ca\n+00124b20: 6c6c 696e 6720 3c63 6f64 653e 3c61 2063 lling \n+00124ba0: 736f 6170 5f72 6563 765f 6d69 6d65 5f61 soap_recv_mime_a\n+00124bb0: 7474 6163 686d 656e 743c 2f61 3e3c 2f63 ttachment repeatedly \n+00124bd0: 746f 2072 6574 7269 6576 6520 6561 6368 to retrieve each\n+00124be0: 2061 7474 6163 686d 656e 7420 756e 7469 attachment unti\n+00124bf0: 6c20 7468 6973 2066 756e 6374 696f 6e20 l this function \n+00124c00: 7265 7475 726e 7320 4e55 4c4c 2e20 5468 returns NULL. Th\n+00124c10: 6973 2066 756e 6374 696f 6e20 7265 7475 is function retu\n+00124c20: 726e 7320 6120 706f 696e 7465 7220 746f rns a pointer to\n+00124c30: 2061 203c 636f 6465 3e73 7472 7563 7420 a
struct \n+00124c40: 3c61 2063 6c61 7373 3d22 656c 2220 6872 s\n+00124cb0: 6f61 705f 6d75 6c74 6970 6172 743c 2f61 oap_multipart
attachm\n+00124cd0: 656e 742e 3c2f 6c69 3e0a 3c6c 693e 3c63 ent.soap_post_check\n+00124f00: 5f6d 696d 655f 6174 7461 6368 6d65 6e74 _mime_attachment\n+00124f10: 733c 2f61 3e3c 2f63 6f64 653e 2e3c 2f6c s
..str\n+00124f30: 7563 7420 3c61 2063 6c61 7373 3d22 656c uct soap_multipar\n+00124fb0: 743c 2f61 3e20 2a73 6f61 705f 7265 6376 t *soap_recv\n+00124fc0: 5f6d 696d 655f 6174 7461 6368 6d65 6e74 _mime_attachment\n+00124fd0: 2873 7472 7563 7420 736f 6170 202a 736f (struct soap *so\n+00124fe0: 6170 2c20 766f 6964 202a 6861 6e64 6c65 ap, void *handle\n+00124ff0: 293c 2f63 6f64 653e 2054 6869 7320 6675 )
This fu\n+00125000: 6e63 7469 6f6e 2070 6172 7365 7320 616e nction parses an\n+00125010: 2061 7474 6163 686d 656e 7420 616e 6420 attachment and \n+00125020: 696e 766f 6b65 7320 7468 6520 4d49 4d45 invokes the MIME\n+00125030: 2063 616c 6c62 6163 6b73 2077 6865 6e20 callbacks when \n+00125040: 7365 742e 2054 6865 203c 636f 6465 3e68 set. The h\n+00125050: 616e 646c 653c 2f63 6f64 653e 2070 6172 andle
par\n+00125060: 616d 6574 6572 2069 7320 7061 7373 6564 ameter is passed\n+00125070: 2074 6f20 3c63 6f64 653e 666d 696d 6577 to fmimew\n+00125080: 7269 7465 6f70 656e 3c2f 636f 6465 3e2e riteopen
.\n+00125090: 2054 6865 2068 616e 646c 6520 6d61 7920 The handle may \n+001250a0: 636f 6e74 6169 6e20 616e 7920 6461 7461 contain any data\n+001250b0: 2074 6861 7420 6973 2065 7874 7261 6374 that is extract\n+001250c0: 6564 2066 726f 6d20 7468 6520 534f 4150 ed from the SOAP\n+001250d0: 206d 6573 7361 6765 2062 6f64 7920 746f message body to\n+001250e0: 2067 7569 6465 2074 6865 2072 6564 6972 guide the redir\n+001250f0: 6563 7469 6f6e 206f 6620 7468 6520 7374 ection of the st\n+00125100: 7265 616d 2069 6e20 7468 6520 6361 6c6c ream in the call\n+00125110: 6261 636b 732e 2052 6574 7572 6e73 2061 backs. Returns a\n+00125120: 2073 7472 7563 7420 7769 7468 2061 203c struct with a <\n+00125130: 636f 6465 3e63 6861 7220 2a70 7472 3c2f code>char *ptr\n+00125140: 636f 6465 3e20 6d65 6d62 6572 2074 6861 code> member tha\n+00125150: 7420 636f 6e74 6169 6e73 2074 6865 2068 t contains the h\n+00125160: 616e 646c 6520 7661 6c75 6520 7265 7475 andle value retu\n+00125170: 726e 6564 2062 7920 7468 6520 3c63 6f64 rned by the char\n+001251b0: 202a 6964 3c2f 636f 6465 3e2c 203c 636f *id
, \n+001251e0: 6368 6172 202a 6465 7363 7269 7074 696f char *descriptio\n+001251f0: 6e3c 2f63 6f64 653e 206d 656d 6265 7220 n
member \n+00125200: 7661 7269 6162 6c65 7320 7769 7468 2074 variables with t\n+00125210: 6865 204d 494d 4520 6964 2c20 7479 7065 he MIME id, type\n+00125220: 2c20 616e 6420 6465 7363 7269 7074 696f , and descriptio\n+00125230: 6e20 696e 666f 2077 6865 6e20 7072 6573 n info when pres\n+00125240: 656e 7420 696e 2074 6865 2061 7474 6163 ent in the attac\n+00125250: 686d 656e 742e 3c2f 6c69 3e0a 3c2f 756c hment.// attachmen\n-00126c80: 7473 2061 7265 2070 7265 7365 6e74 2c20 ts are present, \n-00126c90: 6368 616e 6e65 6c20 6973 2073 7469 6c6c channel is still\n-00126ca0: 206f 7065 6e20 3c2f 7370 616e 3e3c 2f64 open .wsa.h
file to enabl\n-00128ab0: 6520 7468 6520 6765 6e65 7261 7469 6f6e e the generation\n-00128ac0: 206f 6620 5753 444c 2073 7065 6369 6669 of WSDL specifi\n-00128ad0: 6361 7469 6f6e 7320 7468 6174 2069 6d70 cations that imp\n-00128ae0: 6f72 7420 2869 6e73 7465 6164 206f 6620 ort (instead of \n-00128af0: 696e 636c 7564 6573 2920 7468 6520 5753 includes) the WS\n-00128b00: 2d41 6464 7265 7373 696e 6720 656c 656d -Addressing elem\n-00128b10: 656e 7473 2e20 4e6f 7465 2074 6861 7420 ents. Note that \n-00128b20: 7468 6520 3c63 6f64 653e 2f2f 6773 6f61 the //gsoa\n-00128b30: 706f 7074 2077 3c2f 636f 6465 3e20 6469 popt w
di\n-00128b40: 7265 6374 6976 6520 2877 6869 6368 2061 rective (which a\n-00128b50: 6464 7320 6f70 7469 6f6e 203c 623e 3c63 dds option w\n-00128c90: 7361 3a4d 6573 7361 6765 4944 3c2f 636f sa:MessageID
, wsa:Action\n-00128ce0: 3c2f 636f 6465 3e3c 2f65 6d3e 2065 6c65
ele\n-00128cf0: 6d65 6e74 7320 696e 2074 6865 2053 4f41 ments in the SOA\n-00128d00: 5020 4865 6164 6572 206f 6620 7468 6520 P Header of the \n-00128d10: 7265 7175 6573 7420 6d65 7373 6167 6520 request message \n-00128d20: 6173 2066 6f6c 6c6f 7773 3a3c 2f70 3e0a as follows:int ns__sendStrin\n-00128f00: 6728 3c73 7061 6e20 636c 6173 733d 226b g(char\n-00128f20: 3c2f 7370 616e 3e20 2a73 7472 2c20 3c73 *str, void);wsa:Me\n-00128fd0: 7373 6167 6549 443c 2f63 6f64 653e 3c2f ssageID
\n-00128fe0: 656d 3e2c 203c 656d 3e3c 636f 6465 3e77 em>, w\n-00128ff0: 7361 3a54 6f3c 2f63 6f64 653e 3c2f 656d sa:To
, wsa\n-00129010: 3a41 6374 696f 6e3c 2f63 6f64 653e 3c2f :Action
\n-00129020: 656d 3e2c 2061 6e64 203c 656d 3e3c 636f em>, and wsa:To\n-001290c0: 3c2f 636f 6465 3e3c 2f65 6d3e 2c20 3c65
, wsa:Acti\n-001290e0: 6f6e 3c2f 636f 6465 3e3c 2f65 6d3e 2c20 on
ws\n-00129100: 613a 5265 6c61 7465 7354 6f3c 2f63 6f64 a:RelatesTo
elements\n-00129120: 2069 6e20 7468 6520 534f 4150 2048 6561 in the SOAP Hea\n-00129130: 6465 7220 6f66 2074 6865 2072 6573 706f der of the respo\n-00129140: 6e73 6520 6d65 7373 6167 653a 3c2f 703e nse message:\n-001295e0: 3c2f 613e 0a43 6c69 656e 742d 7369 6465 .Client-side\n-001295f0: 206f 6e65 2d77 6179 2055 4450 2075 6e69 one-way UDP uni\n-00129600: 6361 7374 3c2f 6833 3e0a 3c70 3e54 6869 cast
.ns__sendString<\n-001296e0: 2f63 6f64 653e 2066 756e 6374 696f 6e20 /code> function \n-001296f0: 6469 7363 7573 7365 6420 696e 2053 6563 discussed in Sec\n-00129700: 7469 6f6e 203c 6120 636c 6173 733d 2265 tion Usin\n-00129730: 6720 5753 2d41 6464 7265 7373 696e 6720 g WS-Addressing \n-00129740: 7769 7468 2053 4f41 502d 6f76 6572 2d55 with SOAP-over-U\n-00129750: 4450 3c2f 613e 2e3c 2f70 3e0a 3c64 6976 DP.
// server-si\n+00127410: 6465 2070 726f 6365 7373 696e 6720 6c6f de processing lo\n+00127420: 6769 6320 3c2f 7370 616e 3e3c 2f64 6976 gic .Stream\n+00127570: 696e 6720 6368 756e 6b65 6420 4d49 4d45 ing chunked MIME\n+00127580: 2f4d 544f 4d3c 2f68 323e 0a3c 703e 546f /MTOM
._\n+001276e0: 5f73 697a 653c 2f63 6f64 653e 206d 656d _size
mem\n+001276f0: 6265 7220 6f66 2061 6e20 6174 7461 6368 ber of an attach\n+00127700: 6d65 6e74 2074 6f20 7a65 726f 2061 6e64 ment to zero and\n+00127710: 2065 6e61 626c 6520 4d49 4d45 2f4d 544f enable MIME/MTO\n+00127720: 4d20 6368 756e 6b69 6e67 2e20 5468 6520 M chunking. The \n+00127730: 4d49 4d45 2f4d 544f 4d20 3c63 6f64 653e MIME/MTOM \n+00127740: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap::fmime\n+001277e0: 7265 6164 3c2f 613e 3c2f 636f 6465 3e20 read
\n+001277f0: 6361 6c6c 6261 636b 2074 6865 6e20 6665 callback then fe\n+00127800: 7463 6865 7320 6461 7461 2069 6e20 6368 tches data in ch\n+00127810: 756e 6b73 2061 6e64 2069 7420 6973 2069 unks and it is i\n+00127820: 6d70 6f72 7461 6e74 2074 6f20 6669 6c6c mportant to fill\n+00127830: 2074 6865 2065 6e74 6972 6520 6275 6666 the entire buff\n+00127840: 6572 2075 6e6c 6573 7320 7468 6520 656e er unless the en\n+00127850: 6420 6f66 2074 6865 2064 6174 6120 6861 d of the data ha\n+00127860: 7320 6265 656e 2072 6561 6368 6564 2061 s been reached a\n+00127870: 6e64 2074 6865 206c 6173 7420 6368 756e nd the last chun\n+00127880: 6b20 6973 2074 6f20 6265 2073 656e 642e k is to be send.\n+00127890: 2054 6861 7420 6973 2c20 3c63 6f64 653e That is, \n+001278a0: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap::fmime\n+00127940: 7265 6164 3c2f 613e 3c2f 636f 6465 3e20 read
\n+00127950: 7368 6f75 6c64 2072 6574 7572 6e20 7468 should return th\n+00127960: 6520 7661 6c75 6520 6f66 2074 6865 206c e value of the l\n+00127970: 6173 7420 3c63 6f64 653e 6c65 6e3c 2f63 ast len parameter a\n+00127990: 6e64 2066 696c 6c20 7468 6520 656e 7469 nd fill the enti\n+001279a0: 7265 2062 7566 6665 7220 3c63 6f64 653e re buffer
\n+001279b0: 6275 663c 2f63 6f64 653e 2066 6f72 2061 buf
for a\n+001279c0: 6c6c 2063 6875 6e6b 7320 6578 6365 7074 ll chunks except\n+001279d0: 2074 6865 206c 6173 742e 2046 6f72 2074 the last. For t\n+001279e0: 6865 206c 6173 7420 6974 2072 6574 7572 he last it retur\n+001279f0: 6e73 2030 2e3c 2f70 3e0a 3c70 3ef0 9f94 ns 0.<\n+00127a50: 2f61 3e0a 534f 4150 2f58 4d4c 206f 7665 /a>.SOAP/XML ove\n+00127a60: 7220 5544 503c 2f68 313e 0a3c 703e 5544 r UDP
.soap.udp\n+00127cc0: 3a2f 2f2e 2e2e 3c2f 636f 6465 3e29 2061 ://...
) a\n+00127cd0: 7265 2061 7574 6f6d 6174 6963 616c 6c79 re automatically\n+00127ce0: 2074 7261 6e73 6d69 7474 6564 2061 7320 transmitted as \n+00127cf0: 6461 7461 6772 616d 732e 2053 6572 7665 datagrams. Serve\n+00127d00: 722d 7369 6465 2061 7070 6c69 6361 7469 r-side applicati\n+00127d10: 6f6e 7320 7368 6f75 6c64 2073 6574 2074 ons should set t\n+00127d20: 6865 203c 636f 6465 3e23 534f 4150 5f49 he #SOAP_I\n+00127d30: 4f5f 5544 503c 2f63 6f64 653e 206d 6f64 O_UDP
mod\n+00127d40: 6520 666c 6167 2074 6f20 6163 6365 7074 e flag to accept\n+00127d50: 2055 4450 2072 6571 7565 7374 732c 2065 UDP requests, e\n+00127d60: 2e67 2e20 7573 696e 6720 3c63 6f64 653e .g. using \n+00127d70: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soa\n+00127e20: 705f 6e65 7731 3c2f 613e 3c2f 636f 6465 p_new1
, soap_init1<\n+00127ef0: 2f61 3e3c 2f63 6f64 653e 2c20 6f72 203c /a>
, or <\n+00127f00: 636f 6465 3e3c 6120 636c 6173 733d 2265 code>\n+00127fa0: 736f 6170 5f73 6574 5f6d 6f64 653c 2f61 soap_set_mode.#SOAP_BU\n+00128020: 464c 454e 3c2f 636f 6465 3e2c 2077 6869 FLEN
, whi\n+00128030: 6368 2069 7320 3635 3533 3620 6279 2064 ch is 65536 by d\n+00128040: 6566 6175 6c74 2c20 756e 6c65 7373 2063 efault, unless c\n+00128050: 6f6d 7069 6c65 6420 7769 7468 203c 636f ompiled with #SOAP_BUFL\n+001280c0: 454e 3c2f 636f 6465 3e20 6d75 7374 206e EN
must n\n+001280d0: 6f74 2065 7863 6565 6420 7468 6520 6d61 ot exceed the ma\n+001280e0: 7869 6d75 6d20 5544 5020 7061 636b 6574 ximum UDP packet\n+001280f0: 2073 697a 6520 3635 3533 3620 2874 6865 size 65536 (the\n+00128100: 2073 697a 6520 6f66 2064 6174 6167 7261 size of datagra\n+00128110: 6d20 6d65 7373 6167 6573 2069 7320 636f m messages is co\n+00128120: 6e73 7472 6169 6e65 6420 6279 2074 6865 nstrained by the\n+00128130: 2055 4450 2070 6163 6b65 7420 7369 7a65 UDP packet size\n+00128140: 2032 5e31 363d 3635 3533 3620 6173 2070 2^16=65536 as p\n+00128150: 6572 2055 4450 2073 7461 6e64 6172 6429 er UDP standard)\n+00128160: 2e20 596f 7520 6361 6e20 7573 6520 636f . You can use co\n+00128170: 6d70 7265 7373 696f 6e20 7769 7468 203c mpression with <\n+00128180: 636f 6465 3e23 534f 4150 5f45 4e43 5f5a code>#SOAP_ENC_Z\n+00128190: 4c49 423c 2f63 6f64 653e 2074 6f20 7265 LIB to re\n+001281a0: 6475 6365 2074 6865 206d 6573 7361 6765 duce the message\n+001281b0: 2073 697a 652c 2062 7574 206e 6f74 6520 size, but note \n+001281c0: 7468 6174 2063 6f6d 7072 6573 7365 6420 that compressed \n+001281d0: 534f 4150 2d6f 7665 722d 5544 5020 6973 SOAP-over-UDP is\n+001281e0: 2061 2067 534f 4150 2d73 7065 6369 6669 a gSOAP-specifi\n+001281f0: 6320 6665 6174 7572 6520 6265 6361 7573 c feature becaus\n+00128200: 6520 6974 2069 7320 6e6f 7420 7061 7274 e it is not part\n+00128210: 206f 6620 7468 6520 534f 4150 2d6f 7665 of the SOAP-ove\n+00128220: 722d 5544 5020 7370 6563 6966 6963 6174 r-UDP specificat\n+00128230: 696f 6e2e 3c2f 703e 0a3c 703e 5468 6520 ion.import directory d\n+001282c0: 6566 696e 6573 2074 6865 2057 532d 4164 efines the WS-Ad\n+001282d0: 6472 6573 7369 6e67 2065 6c65 6d65 6e74 dressing element\n+001282e0: 7320 666f 7220 636c 6965 6e74 2061 6e64 s for client and\n+001282f0: 2073 6572 7665 7220 6170 706c 6963 6174 server applicat\n+00128300: 696f 6e73 2e3c 2f70 3e0a 3c70 3e54 6865 ions.
.
..
.#WI\n+001285f0: 5448 5f47 5a49 503c 2f63 6f64 653e 292e TH_GZIP
).\n+00128600: 3c2f 6c69 3e0a 3c6c 693e 534f 4150 2077 .#WITH_I\n+001286a0: 5056 363c 2f63 6f64 653e 293c 2f6c 693e PV6
)<\n+00128710: 2f61 3e0a 5573 696e 6720 5753 2d41 6464 /a>.Using WS-Add\n+00128720: 7265 7373 696e 6720 7769 7468 2053 4f41 ressing with SOA\n+00128730: 502d 6f76 6572 2d55 4450 3c2f 6832 3e0a P-over-UDP
.\n+00128740: 3c70 3e41 2053 4f41 502d 6f76 6572 2d55 wsa.h<\n+001287d0: 2f63 6f64 653e 3c2f 656d 3e20 6669 6c65 /code>
file\n+001287e0: 2069 6e20 7468 6520 3c63 6f64 653e 696d in the im\n+001287f0: 706f 7274 3c2f 636f 6465 3e20 6469 7265 port
dire\n+00128800: 6374 6f72 7920 6465 6669 6e65 7320 7468 ctory defines th\n+00128810: 6520 5753 2d41 6464 7265 7373 696e 6720 e WS-Addressing \n+00128820: 656c 656d 656e 7473 2e20 546f 2069 6e63 elements. To inc\n+00128830: 6c75 6465 2074 6865 2057 532d 4164 6472 lude the WS-Addr\n+00128840: 6573 7369 6e67 2065 6c65 6d65 6e74 7320 essing elements \n+00128850: 696e 2074 6865 2053 4f41 5020 4865 6164 in the SOAP Head\n+00128860: 6572 2066 6f72 206d 6573 7361 6769 6e67 er for messaging\n+00128870: 2c20 6120 5753 2d41 6464 7265 7373 696e , a WS-Addressin\n+00128880: 6720 6361 7061 626c 6520 3c63 6f64 653e g capable \n+00128890: 3c61 2063 6c61 7373 3d22 656c 2220 6872 SOAP_\n+001288f0: 454e 565f 5f48 6561 6465 723c 2f61 3e3c ENV__Header<\n+00128900: 2f63 6f64 653e 2073 7472 7563 7420 7368 /code> struct sh\n+00128910: 6f75 6c64 2062 6520 6465 6669 6e65 6420 ould be defined \n+00128920: 696e 2079 6f75 7220 6865 6164 6572 2066 in your header f\n+00128930: 696c 6520 6279 2069 6d70 6f72 7469 6e67 ile by importing\n+00128940: 203c 656d 3e3c 636f 6465 3e67 736f 6170
gsoap\n+00128950: 2f69 6d70 6f72 742f 7773 612e 683c 2f63 /import/wsa.h
or gsoap/imp\n+00128980: 6f72 742f 7773 6135 2e68 3c2f 636f 6465 ort/wsa5.h
://gsoa\n+00128a40: 7020 7773 6120 7363 6865 6d61 2069 6d70 p wsa schema imp\n+00128a50: 6f72 743a 3c2f 636f 6465 3e20 6469 7265 ort:
dire\n+00128a60: 6374 6976 6520 696e 2074 6865 203c 656d ctive in the wsa.h
file to\n+00128a90: 2065 6e61 626c 6520 7468 6520 6765 6e65 enable the gene\n+00128aa0: 7261 7469 6f6e 206f 6620 5753 444c 2073 ration of WSDL s\n+00128ab0: 7065 6369 6669 6361 7469 6f6e 7320 7468 pecifications th\n+00128ac0: 6174 2069 6d70 6f72 7420 2869 6e73 7465 at import (inste\n+00128ad0: 6164 206f 6620 696e 636c 7564 6573 2920 ad of includes) \n+00128ae0: 7468 6520 5753 2d41 6464 7265 7373 696e the WS-Addressin\n+00128af0: 6720 656c 656d 656e 7473 2e20 4e6f 7465 g elements. Note\n+00128b00: 2074 6861 7420 7468 6520 3c63 6f64 653e that the \n+00128b10: 2f2f 6773 6f61 706f 7074 2077 3c2f 636f //gsoapopt w directive (w\n+00128b30: 6869 6368 2061 6464 7320 6f70 7469 6f6e hich adds option\n+00128b40: 203c 623e 3c63 6f64 653e 2d77 3c2f 636f
-w
to run <\n+00128b60: 623e 3c63 6f64 653e 736f 6170 6370 7032 b>soapcpp2\n+00128b70: 202d 773c 2f63 6f64 653e 3c2f 623e 2920 -w
) \n+00128b80: 6d75 7374 206e 6f74 2062 6520 7072 6573 must not be pres\n+00128b90: 656e 7420 696e 2079 6f75 7220 6865 6164 ent in your head\n+00128ba0: 6572 2066 696c 6520 746f 2065 6e61 626c er file to enabl\n+00128bb0: 6520 5753 444c 2067 656e 6572 6174 696f e WSDL generatio\n+00128bc0: 6e2e 3c2f 703e 0a3c 703e 4f6e 652d 7761 n.wsa:To\n+00128ca0: 3c2f 636f 6465 3e3c 2f65 6d3e 2c20 616e
, an\n+00128cb0: 6420 3c65 6d3e 3c63 6f64 653e 7773 613a d wsa:\n+00128cc0: 4163 7469 6f6e 3c2f 636f 6465 3e3c 2f65 Action
elements in t\n+00128ce0: 6865 2053 4f41 5020 4865 6164 6572 206f he SOAP Header o\n+00128cf0: 6620 7468 6520 7265 7175 6573 7420 6d65 f the request me\n+00128d00: 7373 6167 6520 6173 2066 6f6c 6c6f 7773 ssage as follows\n+00128d10: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 ://gsoap ns s\n+00128d60: 6572 7669 6365 206d 6574 686f 642d 6865 ervice method-he\n+00128d70: 6164 6572 2d70 6172 743a 2020 2020 2020 ader-part: \n+00128d80: 2020 2020 7365 6e64 5374 7269 6e67 2077 sendString w\n+00128d90: 7361 5f5f 4d65 7373 6167 6549 4420 3c2f sa__MessageID \n+00128da0: 7370 616e 3e3c 2f64 6976 3e0a 3c64 6976 span>//gsoap ns s\n+00128de0: 6572 7669 6365 206d 6574 686f 642d 6865 ervice method-he\n+00128df0: 6164 6572 2d70 6172 743a 2020 2020 2020 ader-part: \n+00128e00: 2020 2020 7365 6e64 5374 7269 6e67 2077 sendString w\n+00128e10: 7361 5f5f 546f 203c 2f73 7061 6e3e 3c2f sa__To \n+00128e20: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.\n+00128fb0: 7773 613a 4d65 7373 6167 6549 443c 2f63 wsa:MessageID
, <\n+00128fd0: 636f 6465 3e77 7361 3a54 6f3c 2f63 6f64 code>wsa:To, wsa:Rep\n+00129020: 6c79 546f 3c2f 636f 6465 3e3c 2f65 6d3e lyTo
\n+00129030: 2065 6c65 6d65 6e74 7320 696e 2074 6865 elements in the\n+00129040: 2053 4f41 5020 4865 6164 6572 206f 6620 SOAP Header of \n+00129050: 7468 6520 7265 7175 6573 7420 6d65 7373 the request mess\n+00129060: 6167 652c 2061 6e64 2074 6865 2074 6865 age, and the the\n+00129070: 203c 656d 3e3c 636f 6465 3e77 7361 3a4d wsa:M\n+00129080: 6573 7361 6765 4944 3c2f 636f 6465 3e3c essageID
<\n+00129090: 2f65 6d3e 2c20 3c65 6d3e 3c63 6f64 653e /em>, \n+001290a0: 7773 613a 546f 3c2f 636f 6465 3e3c 2f65 wsa:To
, ws\n+001290c0: 613a 4163 7469 6f6e 3c2f 636f 6465 3e3c a:Action
<\n+001290d0: 2f65 6d3e 2c20 616e 6420 3c65 6d3e 3c63 /em>, and .Clien\n+001295d0: 742d 7369 6465 206f 6e65 2d77 6179 2055 t-side one-way U\n+001295e0: 4450 2075 6e69 6361 7374 3c2f 6833 3e0a DP unicast
.\n+001295f0: 3c70 3e54 6869 7320 6578 616d 706c 6520 ns__sendS\n+001296c0: 7472 696e 673c 2f63 6f64 653e 2066 756e tring
fun\n+001296d0: 6374 696f 6e20 6469 7363 7573 7365 6420 ction discussed \n+001296e0: 696e 2053 6563 7469 6f6e 203c 6120 636c in Section Using WS-Addre\n+00129720: 7373 696e 6720 7769 7468 2053 4f41 502d ssing with SOAP-\n+00129730: 6f76 6572 2d55 4450 3c2f 613e 2e3c 2f70 over-UDP..C\n-0012a2e0: 6c69 656e 742d 7369 6465 206f 6e65 2d77 lient-side one-w\n-0012a2f0: 6179 2055 4450 206d 756c 7469 6361 7374 ay UDP multicast\n-0012a300: 3c2f 6833 3e0a 3c70 3e54 6869 7320 6578
.SO_B\n-0012a380: 524f 4144 4341 5354 3c2f 636f 6465 3e20 ROADCAST
\n-0012a390: 736f 636b 6574 206f 7074 696f 6e3a 3c2f socket option:\n-0012a3a0: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.// required \n-0012a890: 666f 7220 6272 6f61 6463 6173 7420 3c2f for broadcast \n-0012a8a0: 7370 616e 3e3c 2f64 6976 3e0a 3c64 6976 span>"\n-0012ad00: 534f 4150 2061 6374 696f 6e26 7175 6f74 SOAP action"\n-0012ad10: 3b3c 2f73 7061 6e3e 293b 3c2f 6469 763e ;);if (soap_send_ns_\n-0012add0: 5f65 6368 6f53 7472 696e 6728 2661 6d70 _echoString(&\n-0012ade0: 3b3c 6120 636c 6173 733d 2263 6f64 6522 ;soap\n-0012ae10: 2c20 3c73 7061 6e20 636c 6173 733d 2273 , &q\n-0012ae30: 756f 743b 736f 6170 2e75 6470 3a2f 2f65 uot;soap.udp://e\n-0012ae40: 6e64 706f 696e 7426 7175 6f74 3b3c 2f73 ndpoint", "SOAP act\n-0012ae80: 696f 6e26 7175 6f74 3b3c 2f73 7061 6e3e ion"\n-0012ae90: 2c20 3c73 7061 6e20 636c 6173 733d 2273 , &q\n-0012aeb0: 756f 743b 6865 6c6c 6f20 776f 726c 6421 uot;hello world!\n-0012aec0: 2671 756f 743b 3c2f 7370 616e 3e29 2920 ")) \n-0012aed0: 3c2f 6469 763e 0a3c 6469 7620 636c 6173 IP_M\n-0012b8c0: 554c 5449 4341 5354 5f49 463c 2f63 6f64 ULTICAST_IF to specify th\n-0012b8e0: 6520 6465 6661 756c 7420 696e 7465 7266 e default interf\n-0012b8f0: 6163 6520 666f 7220 6d75 6c74 6963 6173 ace for multicas\n-0012b900: 7420 6461 7461 6772 616d 7320 746f 2062 t datagrams to b\n-0012b910: 6520 7365 6e74 2066 726f 6d2e 2054 6869 e sent from. Thi\n-0012b920: 7320 6973 2061 203c 636f 6465 3e73 7472 s is a
str\n-0012b930: 7563 7420 696e 5f61 6464 723c 2f63 6f64 uct in_addr (
) inter\n-0012b980: 6661 6365 2076 616c 7565 2e20 4f74 6865 face value. Othe\n-0012b990: 7277 6973 652c 2074 6865 2064 6566 6175 rwise, the defau\n-0012b9a0: 6c74 2069 6e74 6572 6661 6365 2073 6574 lt interface set\n-0012b9b0: 2062 7920 7468 6520 7379 7374 656d 2061 by the system a\n-0012b9c0: 646d 696e 6973 7472 6174 6f72 2077 696c dministrator wil\n-0012b9d0: 6c20 6265 2075 7365 6420 2869 6620 616e l be used (if an\n-0012b9e0: 7929 2e3c 2f70 3e0a 3c70 3e50 6c65 6173 y).in_add\n-0012b950: 725f 743c 2f63 6f64 653e 2066 6f72 203c r_t
for <\n-0012b960: 636f 6465 3e73 696e 365f 7363 6f70 655f code>sin6_scope_\n-0012b970: 6964 3c2f 636f 6465 3e29 2069 6e74 6572 idIPPROTO_\n-0012ba20: 4950 3c2f 636f 6465 3e20 3c63 6f64 653e IP
\n-0012ba30: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL\n-0012ba40: 3c2f 636f 6465 3e20 746f 206c 696d 6974
to limit\n-0012ba50: 2074 6865 206c 6966 6574 696d 6520 6f66 the lifetime of\n-0012ba60: 2074 6865 2070 6163 6b65 742e 204d 756c the packet. Mul\n-0012ba70: 7469 6361 7374 2064 6174 6167 7261 6d73 ticast datagrams\n-0012ba80: 2061 7265 2073 656e 7420 7769 7468 2061 are sent with a\n-0012ba90: 2064 6566 6175 6c74 2076 616c 7565 206f default value o\n-0012baa0: 6620 312c 2074 6f20 7072 6576 656e 7420 f 1, to prevent \n-0012bab0: 7468 656d 2074 6f20 6265 2066 6f72 7761 them to be forwa\n-0012bac0: 7264 6564 2062 6579 6f6e 6420 7468 6520 rded beyond the \n-0012bad0: 6c6f 6361 6c20 6e65 7477 6f72 6b2e 2054 local network. T\n-0012bae0: 6869 7320 7061 7261 6d65 7465 7220 6361 his parameter ca\n-0012baf0: 6e20 6265 2073 6574 2062 6574 7765 656e n be set between\n-0012bb00: 2031 2074 6f20 3235 352e 3c2f 703e 0a3c 1 to 255..Clie\n-0012bb80: 6e74 2d73 6964 6520 7265 7175 6573 742d nt-side request-\n-0012bb90: 7265 7370 6f6e 7365 2055 4450 2075 6e69 response UDP uni\n-0012bba0: 6361 7374 3c2f 6833 3e0a 3c70 3e54 6869 cast
.#import \"\n-0012bc40: 7773 612e 6822 3c2f 636f 6465 3e20 616e wsa.h\"
an\n-0012bc50: 6420 7468 6520 3c63 6f64 653e 6e73 5f5f d the ns__\n-0012bc60: 6563 686f 5374 7269 6e67 3c2f 636f 6465 echoString
function discu\n-0012bc80: 7373 6564 2069 6e20 5365 6374 696f 6e20 ssed in Section \n-0012bc90: 3c61 2063 6c61 7373 3d22 656c 2220 6872 Using WS-\n-0012bcc0: 4164 6472 6573 7369 6e67 2077 6974 6820 Addressing with \n-0012bcd0: 534f 4150 2d6f 7665 722d 5544 503c 2f61 SOAP-over-UDP .// server re\n-0012bf10: 7370 6f6e 7365 203c 2f73 7061 6e3e 3c2f sponse \n-0012bf20: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.// Send and \n-0012c4a0: 7265 6365 6976 6520 6d65 7373 6167 6573 receive messages\n-0012c4b0: 206f 7665 7220 5544 503a 203c 2f73 7061 over UDP: .Client\n-0012cb30: 2d73 6964 6520 7265 7175 6573 742d 7265 -side request-re\n-0012cb40: 7370 6f6e 7365 206d 756c 7469 6361 7374 sponse multicast\n-0012cb50: 3c2f 6833 3e0a 3c70 3e54 6869 7320 6578
.bcastStri\n-0012ccc0: 6e67 3c2f 636f 6465 3e20 7265 7175 6573 ng
reques\n-0012ccd0: 7420 616e 6420 6120 3c63 6f64 653e 6263 t and a bc\n-0012cce0: 6173 7453 7472 696e 6752 6573 706f 6e73 astStringRespons\n-0012ccf0: 653c 2f63 6f64 653e 2072 6573 706f 6e73 e
respons\n-0012cd00: 6520 6d65 7373 6167 652c 2077 6869 6368 e message, which\n-0012cd10: 2061 7265 2065 7373 656e 7469 616c 6c79 are essentially\n-0012cd20: 2064 6563 6c61 7265 6420 6173 206f 6e65 declared as one\n-0012cd30: 2d77 6179 206d 6573 7361 6765 7320 696e -way messages in\n-0012cd40: 2074 6865 2068 6561 6465 7220 6669 6c65 the header file\n-0012cd50: 3a3c 2f70 3e0a 3c64 6976 2063 6c61 7373 ://gsoap ns s\n-0012cda0: 6572 7669 6365 206d 6574 686f 642d 6865 ervice method-he\n-0012cdb0: 6164 6572 2d70 6172 743a 2020 2020 2020 ader-part: \n-0012cdc0: 2020 2020 6263 6173 7453 7472 696e 6720 bcastString \n-0012cdd0: 7773 615f 5f4d 6573 7361 6765 4944 203c wsa__MessageID <\n-0012cde0: 2f73 7061 6e3e 3c2f 6469 763e 0a3c 6469 /span>wsdl2\n-0012d330: 6820 2d62 3c2f 636f 6465 3e3c 2f62 3e20 h -b
\n-0012d340: 6f70 7469 6f6e 203c 623e 3c63 6f64 653e option \n-0012d350: 2d62 3c2f 636f 6465 3e3c 2f62 3e3c 2f61 -b
."\n-0012daf0: 6d65 7373 6167 6520 4944 2671 756f 743b message ID"\n-0012db00: 3c2f 7370 616e 3e2c 203c 7370 616e 2063 , "endpo\n-0012db30: 696e 7426 7175 6f74 3b3c 2f73 7061 6e3e int"\n-0012db40: 2c20 3c73 7061 6e20 636c 6173 733d 2273 , &q\n-0012db60: 756f 743b 534f 4150 2061 6374 696f 6e26 uot;SOAP action&\n-0012db70: 7175 6f74 3b3c 2f73 7061 6e3e 293b 3c2f quot;);\n-0012db80: 6469 763e 0a3c 6469 7620 636c 6173 733d div>.<\n+0012a2a0: 6120 636c 6173 733d 2261 6e63 686f 7222 a class=\"anchor\"\n+0012a2b0: 2069 643d 226d 756c 7469 6361 7374 223e id=\"multicast\">\n+0012a2c0: 3c2f 613e 0a43 6c69 656e 742d 7369 6465 .Client-side\n+0012a2d0: 206f 6e65 2d77 6179 2055 4450 206d 756c one-way UDP mul\n+0012a2e0: 7469 6361 7374 3c2f 6833 3e0a 3c70 3e54 ticast
.IPPROT\n+0012b890: 4f5f 4950 3c2f 636f 6465 3e20 3c63 6f64 O_IP
\n+0012b930: 696e 5f61 6464 725f 743c 2f63 6f64 653e in_addr_t
\n+0012b940: 2066 6f72 203c 636f 6465 3e73 696e 365f for sin6_\n+0012b950: 7363 6f70 655f 6964 3c2f 636f 6465 3e29 scope_id
)\n+0012b960: 2069 6e74 6572 6661 6365 2076 616c 7565 interface value\n+0012b970: 2e20 4f74 6865 7277 6973 652c 2074 6865 . Otherwise, the\n+0012b980: 2064 6566 6175 6c74 2069 6e74 6572 6661 default interfa\n+0012b990: 6365 2073 6574 2062 7920 7468 6520 7379 ce set by the sy\n+0012b9a0: 7374 656d 2061 646d 696e 6973 7472 6174 stem administrat\n+0012b9b0: 6f72 2077 696c 6c20 6265 2075 7365 6420 or will be used \n+0012b9c0: 2869 6620 616e 7929 2e3c 2f70 3e0a 3c70 (if any).IP\n+0012ba00: 5052 4f54 4f5f 4950 3c2f 636f 6465 3e20 PROTO_IP
\n+0012ba10: 3c63 6f64 653e 4950 5f4d 554c 5449 4341 IP_MULTICA\n+0012ba20: 5354 5f54 544c 3c2f 636f 6465 3e20 746f ST_TTL
to\n+0012ba30: 206c 696d 6974 2074 6865 206c 6966 6574 limit the lifet\n+0012ba40: 696d 6520 6f66 2074 6865 2070 6163 6b65 ime of the packe\n+0012ba50: 742e 204d 756c 7469 6361 7374 2064 6174 t. Multicast dat\n+0012ba60: 6167 7261 6d73 2061 7265 2073 656e 7420 agrams are sent \n+0012ba70: 7769 7468 2061 2064 6566 6175 6c74 2076 with a default v\n+0012ba80: 616c 7565 206f 6620 312c 2074 6f20 7072 alue of 1, to pr\n+0012ba90: 6576 656e 7420 7468 656d 2074 6f20 6265 event them to be\n+0012baa0: 2066 6f72 7761 7264 6564 2062 6579 6f6e forwarded beyon\n+0012bab0: 6420 7468 6520 6c6f 6361 6c20 6e65 7477 d the local netw\n+0012bac0: 6f72 6b2e 2054 6869 7320 7061 7261 6d65 ork. This parame\n+0012bad0: 7465 7220 6361 6e20 6265 2073 6574 2062 ter can be set b\n+0012bae0: 6574 7765 656e 2031 2074 6f20 3235 352e etween 1 to 255.\n+0012baf0: 3c2f 703e 0a3c 703e f09f 949d 203c 6120 <\n+0012bb30: 6120 636c 6173 733d 2261 6e63 686f 7222 a class=\"anchor\"\n+0012bb40: 2069 643d 2272 6571 7565 7374 7265 7370 id=\"requestresp\n+0012bb50: 6f6e 7365 756e 6963 6173 7422 3e3c 2f61 onseunicast\">
.Client-side re\n+0012bb70: 7175 6573 742d 7265 7370 6f6e 7365 2055 quest-response U\n+0012bb80: 4450 2075 6e69 6361 7374 3c2f 6833 3e0a DP unicast.\n+0012bb90: 3c70 3e54 6869 7320 6578 616d 706c 6520 #im\n+0012bc20: 706f 7274 2022 7773 612e 6822 3c2f 636f port \"wsa.h\" and the
function\n+0012bc60: 2064 6973 6375 7373 6564 2069 6e20 5365 discussed in Se\n+0012bc70: 6374 696f 6e20 3c61 2063 6c61 7373 3d22 ction Usi\n+0012bca0: 6e67 2057 532d 4164 6472 6573 7369 6e67 ng WS-Addressing\n+0012bcb0: 2077 6974 6820 534f 4150 2d6f 7665 722d with SOAP-over-\n+0012bcc0: 5544 503c 2f61 3e20 2e3c 2f70 3e0a 3c64 UDP . ... \n+0012c890: 2f2f 2055 4450 2073 6572 7665 7220 7265 // UDP server re\n+0012c8a0: 7370 6f6e 7365 2069 7320 7374 6f72 6564 sponse is stored\n+0012c8b0: 2069 6e20 2623 3339 3b72 6573 2623 3339 in 'res'\n+0012c8c0: 3b20 3c2f 7370 616e 3e3c 2f64 6976 3e0a ; wsdl2h -b
option \n+0012d330: 3c63 6f64 653e 2d62 3c2f 636f 6465 3e3c -b
<\n+0012d340: 2f62 3e3c 2f61 3e2e 3c2f 703e 0a3c 703e /b>.// Timeout: \n-0012e290: 6e6f 206d 6f72 6520 6d65 7373 6167 6573 no more messages\n-0012e2a0: 2072 6563 6569 7665 6420 3c2f 7370 616e received bcast\n-0012e630: 5374 7269 6e67 3c2f 636f 6465 3e20 646f String
do\n-0012e640: 6573 206e 6f74 206e 6565 6420 746f 2075 es not need to u\n-0012e650: 7365 2074 776f 2d6f 6e65 2077 6179 206d se two-one way m\n-0012e660: 6573 7361 6765 732e 2054 6875 732c 206d essages. Thus, m\n-0012e670: 756c 7469 6361 7374 2072 6571 7565 7374 ulticast request\n-0012e680: 2d72 6573 706f 6e73 6520 6d65 7373 6167 -response messag\n-0012e690: 6520 7061 7474 6572 6e20 6361 6e20 6265 e pattern can be\n-0012e6a0: 2064 6563 6c61 7265 6420 616e 6420 696d declared and im\n-0012e6b0: 706c 656d 656e 7465 6420 6173 2072 6571 plemented as req\n-0012e6c0: 7565 7374 2d72 6573 706f 6e73 6520 6f70 uest-response op\n-0012e6d0: 6572 6174 696f 6e73 2061 7420 7468 6520 erations at the \n-0012e6e0: 7365 7276 6572 2073 6964 652e 3c2f 703e server side.\n-0012e750: 613e 0a53 4f41 502d 6f76 6572 2d55 4450 a>.SOAP-over-UDP\n-0012e760: 2073 6572 7665 723c 2f68 323e 0a3c 703e server
.\n-0012e7c0: 7365 6e64 5374 7269 6e67 3c2f 636f 6465 sendString
and request-re\n-0012e7e0: 7370 6f6e 7365 203c 636f 6465 3e65 6368 sponse ech\n-0012e7f0: 6f53 7472 696e 673c 2f63 6f64 653e 206d oString
m\n-0012e800: 6573 7361 6765 732e 2054 6869 7320 6578 essages. This ex\n-0012e810: 616d 706c 6520 6173 7375 6d65 7320 7468 ample assumes th\n-0012e820: 6174 2074 6865 2069 6e74 6572 6661 6365 at the interface\n-0012e830: 2068 6561 6465 7220 6669 6c65 2069 6e63 header file inc\n-0012e840: 6c75 6465 7320 7468 6520 534f 4150 2048 ludes the SOAP H\n-0012e850: 6561 6465 7220 7769 7468 2057 532d 4164 eader with WS-Ad\n-0012e860: 6472 6573 7369 6e67 2065 6c65 6d65 6e74 dressing element\n-0012e870: 7320 696d 706f 7274 6564 2077 6974 6820 s imported with \n-0012e880: 3c63 6f64 653e 2369 6d70 6f72 7420 2277 #import \"w\n-0012e890: 7361 2e68 223c 2f63 6f64 653e 2061 6e64 sa.h\"
and\n-0012e8a0: 2074 6865 203c 636f 6465 3e6e 735f 5f65 the ns__e\n-0012e8b0: 6368 6f53 7472 696e 673c 2f63 6f64 653e choString
\n-0012e8c0: 2066 756e 6374 696f 6e20 6469 7363 7573 function discus\n-0012e8d0: 7365 6420 696e 2053 6563 7469 6f6e 203c sed in Section <\n-0012e8e0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n-0012e8f0: 663d 2269 6e64 6578 2e68 746d 6c23 7773 f=\"index.html#ws\n-0012e900: 6175 6470 223e 5573 696e 6720 5753 2d41 audp\">Using WS-A\n-0012e910: 6464 7265 7373 696e 6720 7769 7468 2053 ddressing with S\n-0012e920: 4f41 502d 6f76 6572 2d55 4450 3c2f 613e OAP-over-UDP\n-0012e930: 202e 3c2f 703e 0a3c 6469 7620 636c 6173 .while (1)bcastString does not nee\n+0012e630: 6420 746f 2075 7365 2074 776f 2d6f 6e65 d to use two-one\n+0012e640: 2077 6179 206d 6573 7361 6765 732e 2054 way messages. T\n+0012e650: 6875 732c 206d 756c 7469 6361 7374 2072 hus, multicast r\n+0012e660: 6571 7565 7374 2d72 6573 706f 6e73 6520 equest-response \n+0012e670: 6d65 7373 6167 6520 7061 7474 6572 6e20 message pattern \n+0012e680: 6361 6e20 6265 2064 6563 6c61 7265 6420 can be declared \n+0012e690: 616e 6420 696d 706c 656d 656e 7465 6420 and implemented \n+0012e6a0: 6173 2072 6571 7565 7374 2d72 6573 706f as request-respo\n+0012e6b0: 6e73 6520 6f70 6572 6174 696f 6e73 2061 nse operations a\n+0012e6c0: 7420 7468 6520 7365 7276 6572 2073 6964 t the server sid\n+0012e6d0: 652e 3c2f 703e 0a3c 703e f09f 949d 203c e.
.SOAP-ov\n+0012e740: 6572 2d55 4450 2073 6572 7665 723c 2f68 er-UDP server.
sendString\n+0012e7b0: 3c2f 636f 6465 3e20 616e 6420 7265 7175
and requ\n+0012e7c0: 6573 742d 7265 7370 6f6e 7365 203c 636f est-response #imp\n+0012e870: 6f72 7420 2277 7361 2e68 223c 2f63 6f64 ort \"wsa.h\" and the
ns__echoString<\n+0012e8a0: 2f63 6f64 653e 2066 756e 6374 696f 6e20 /code> function \n+0012e8b0: 6469 7363 7573 7365 6420 696e 2053 6563 discussed in Sec\n+0012e8c0: 7469 6f6e 203c 6120 636c 6173 733d 2265 tion Usin\n+0012e8f0: 6720 5753 2d41 6464 7265 7373 696e 6720 g WS-Addressing \n+0012e900: 7769 7468 2053 4f41 502d 6f76 6572 2d55 with SOAP-over-U\n+0012e910: 4450 3c2f 613e 202e 3c2f 703e 0a3c 6469 DP .
int main() // must set \n+0012ebe0: 5544 5020 666c 6167 203c 2f73 7061 6e3e UDP flag \n+0012ebf0: 3c2f 6469 763e 0a3c 6469 7620 636c 6173 // should ch\n-0012f870: 6563 6b20 666f 7220 6475 706c 6963 6174 eck for duplicat\n-0012f880: 6520 6d65 7373 6167 6573 2028 736f 6d65 e messages (some\n-0012f890: 7468 696e 6720 7468 6174 2057 532d 5265 thing that WS-Re\n-0012f8a0: 6c69 6162 6c65 4d65 7373 6167 696e 6720 liableMessaging \n-0012f8b0: 646f 6573 2074 6f6f 293c 2f73 7061 6e3e does too)\n-0012f8c0: 3c2f 6469 763e 0a3c 6469 7620 636c 6173 // don't\n-0012faf0: 2072 6574 7572 6e20 7265 7370 6f6e 7365 return response\n-0012fb00: 203c 2f73 7061 6e3e 3c2f 6469 763e 0a3c char *str) struct soap *soap\n+0012fe30: 613e 2c20 3c73 7061 6e20 636c 6173 733d a>, ch\n+0012fe50: 6172 3c2f 7370 616e 3e20 2a73 7472 2920 ar *str) \n+0012fe60: 3c2f 6469 763e 0a3c 6469 7620 636c 6173 soap::recv_time\n-00130af0: 6f75 743c 2f61 3e3c 2f63 6f64 653e 2074 out
t\n-00130b00: 6f20 6d61 6b65 203c 636f 6465 3e3c 6120 o make soap\n-00130b80: 5f73 6572 7665 3c2f 613e 3c2f 636f 6465 _serve
non-blocking.<\n-00130ba0: 2f70 3e0a 3c70 3e54 6f20 6f62 7461 696e /p>.wsdl2\n-00130c00: 6820 2d62 3c2f 636f 6465 3e3c 2f62 3e20 h -b
\n-00130c10: 6f70 7469 6f6e 203c 623e 3c63 6f64 653e option \n-00130c20: 2d62 3c2f 636f 6465 3e3c 2f62 3e3c 2f61 -b
. This produces\n-00130c40: 2061 6464 6974 696f 6e61 6c20 6f6e 652d additional one-\n-00130c50: 7761 7920 6f70 6572 6174 696f 6e73 2074 way operations t\n-00130c60: 6f20 7375 7070 6f72 7420 6173 796e 6368 o support asynch\n-00130c70: 726f 6e6f 7573 2068 616e 646c 696e 6720 ronous handling \n-00130c80: 6f66 2072 6573 706f 6e73 6520 6d65 7373 of response mess\n-00130c90: 6167 6573 2069 6e20 7468 6520 7361 6d65 ages in the same\n-00130ca0: 2077 6179 2072 6571 7565 7374 7320 6172 way requests ar\n-00130cb0: 6520 6861 6e64 6c65 642e 3c2f 703e 0a3c e handled..SOAP-o\n-00130d30: 7665 722d 5544 5020 6d75 6c74 6963 6173 ver-UDP multicas\n-00130d40: 7420 7265 6365 6976 696e 6720 7365 7276 t receiving serv\n-00130d50: 6572 3c2f 6833 3e0a 3c70 3e46 6f72 2055 er
.soap_ser\n+001309b0: 7665 3c2f 613e 3c2f 636f 6465 3e20 7761 ve
wa\n+001309c0: 6974 7320 666f 7220 6120 6d65 7373 6167 its for a messag\n+001309d0: 6520 616e 6420 696d 6d65 6469 6174 656c e and immediatel\n+001309e0: 7920 6163 6365 7074 7320 6974 2e20 596f y accepts it. Yo\n+001309f0: 7520 6361 6e20 7573 6520 6120 7265 6365 u can use a rece\n+00130a00: 6976 6520 7469 6d65 6f75 7420 7661 6c75 ive timeout valu\n+00130a10: 6520 666f 7220 3c63 6f64 653e 3c61 2063 e for soap::rec\n+00130ad0: 765f 7469 6d65 6f75 743c 2f61 3e3c 2f63 v_timeout to make
non-bloc\n+00130b80: 6b69 6e67 2e3c 2f70 3e0a 3c70 3e54 6f20 king.wsdl2h -b
option \n+00130c00: 3c63 6f64 653e 2d62 3c2f 636f 6465 3e3c -b
<\n+00130c10: 2f62 3e3c 2f61 3e2e 2054 6869 7320 7072 /b>. This pr\n+00130c20: 6f64 7563 6573 2061 6464 6974 696f 6e61 oduces additiona\n+00130c30: 6c20 6f6e 652d 7761 7920 6f70 6572 6174 l one-way operat\n+00130c40: 696f 6e73 2074 6f20 7375 7070 6f72 7420 ions to support \n+00130c50: 6173 796e 6368 726f 6e6f 7573 2068 616e asynchronous han\n+00130c60: 646c 696e 6720 6f66 2072 6573 706f 6e73 dling of respons\n+00130c70: 6520 6d65 7373 6167 6573 2069 6e20 7468 e messages in th\n+00130c80: 6520 7361 6d65 2077 6179 2072 6571 7565 e same way reque\n+00130c90: 7374 7320 6172 6520 6861 6e64 6c65 642e sts are handled.\n+00130ca0: 3c2f 703e 0a3c 703e f09f 949d 203c 6120 <\n+00130ce0: 6120 636c 6173 733d 2261 6e63 686f 7222 a class=\"anchor\"\n+00130cf0: 2069 643d 2273 6f61 706f 7665 7275 6470 id=\"soapoverudp\n+00130d00: 6d75 6c74 6963 6173 7422 3e3c 2f61 3e0a multicast\">.\n+00130d10: 534f 4150 2d6f 7665 722d 5544 5020 6d75 SOAP-over-UDP mu\n+00130d20: 6c74 6963 6173 7420 7265 6365 6976 696e lticast receivin\n+00130d30: 6720 7365 7276 6572 3c2f 6833 3e0a 3c70 g server
.int main() //.std::o\n-00136100: 7374 7265 616d 3c2f 636f 6465 3e20 7769 stream
wi\n-00136110: 7468 6f75 7420 736f 6170 6370 7032 2074 thout soapcpp2 t\n-00136120: 6872 6f77 696e 6720 6572 726f 7273 2c20 hrowing errors, \n-00136130: 6279 2075 7369 6e67 203c 636f 6465 3e65 by using e\n-00136140: 7874 6572 6e3c 2f63 6f64 653e 2074 6f20 xtern
to \n-00136150: 6465 636c 6172 6520 3c63 6f64 653e 636c declare cl\n-00136160: 6173 7320 7374 643a 3a6f 7374 7265 616d ass std::ostream\n-00136170: 3c2f 636f 6465 3e3a 3c2f 703e 0a3c 6469
:.Compi\n+00131b60: 6c65 2d74 696d 6520 666c 6167 733c 2f68 le-time flags.
-D\n+00131c90: 636f 6465 3e3c 2f62 3e20 746f 2073 6574 code>
to set\n+00131ca0: 2074 6865 206d 6163 726f 3a3c 2f70 3e0a the macro:.
.d\n+00131d10: 6566 696e 6520 2020 3c2f 7468 3e3c 7468 efine r\n+00131d40: 6573 756c 7420 2020 203c 2f74 683e 3c2f esult \n+00131d50: 7472 3e0a 3c74 7220 636c 6173 733d 226d tr>.. .#SO\n+00131da0: 4150 4445 4653 5f48 3c2f 636f 6465 3e20 APDEFS_H
\n+00131db0: 2020 3c2f 7464 3e3c 7464 2063 6c61 7373 the hea\n+00131de0: 6465 7220 6669 6c65 2074 6f20 696e 636c der file to incl\n+00131df0: 7564 652c 2069 6620 6469 6666 6572 656e ude, if differen\n+00131e00: 7420 6672 6f6d 203c 636f 6465 3e73 6f61 t from soa\n+00131e10: 7064 6566 732e 683c 2f63 6f64 653e 2020 pdefs.h
\n+00131e20: 2020 3c2f 7464 3e3c 2f74 723e 0a3c 7472 .<\n+00131e50: 7464 2063 6c61 7373 3d22 6d61 726b 646f td class=\"markdo\n+00131e60: 776e 5461 626c 6542 6f64 794e 6f6e 6522 wnTableBodyNone\"\n+00131e70: 3e3c 636f 6465 3e23 5749 5448 5f53 4f41 > .<\n+00131f60: 7472 2063 6c61 7373 3d22 6d61 726b 646f tr class=\"markdo\n+00131f70: 776e 5461 626c 6552 6f77 4f64 6422 3e0a wnTableRowOdd\">.\n+00131f80: 3c74 6420 636c 6173 733d 226d 6172 6b64 #WITH_SOA\n+00131e80: 5044 4546 535f 483c 2f63 6f64 653e 2020 PDEFS_H
\n+00131e90: 203c 2f74 643e 3c74 6420 636c 6173 733d includes\n+00131ec0: 2074 6865 203c 636f 6465 3e73 6f61 7064 the soapd\n+00131ed0: 6566 732e 683c 2f63 6f64 653e 2066 696c efs.h
fil\n+00131ee0: 6520 666f 7220 6375 7374 6f6d 2073 6574 e for custom set\n+00131ef0: 7469 6e67 732c 2073 6565 2053 6563 7469 tings, see Secti\n+00131f00: 6f6e 203c 6120 636c 6173 733d 2265 6c22 on Usin\n+00131f30: 6720 7468 6520 736f 6170 6465 6673 2e68 g the soapdefs.h\n+00131f40: 2068 6561 6465 7220 6669 6c65 3c2f 613e header file\n+00131f50: 2020 2020 3c2f 7464 3e3c 2f74 723e 0a3c #WITH_CO\n+00131fb0: 4d50 4154 3c2f 636f 6465 3e20 2020 3c2f MPAT
\n+00131fc0: 7464 3e3c 7464 2063 6c61 7373 3d22 6d61 td>removes dep\n+00131ff0: 656e 6465 6e63 7920 6f6e 2043 2b2b 2073 endency on C++ s\n+00132000: 7472 6561 6d20 6c69 6272 6172 6965 7320 tream libraries \n+00132010: 616e 6420 432b 2b20 6578 6365 7074 696f and C++ exceptio\n+00132020: 6e73 2020 2020 3c2f 7464 3e3c 2f74 723e ns \n+00132030: 0a3c 7472 2063 6c61 7373 3d22 6d61 726b .. .#WITH\n+00132080: 5f4c 4541 4e3c 2f63 6f64 653e 2020 203c _LEAN
<\n+00132090: 2f74 643e 3c74 6420 636c 6173 733d 226d /td>creates a \n+001320c0: 736d 616c 6c2d 666f 6f74 7072 696e 7420 small-footprint \n+001320d0: 6578 6563 7574 6162 6c65 2c20 7365 6520 executable, see \n+001320e0: 5365 6374 696f 6e20 3c61 2063 6c61 7373 Section How\n+00132110: 2074 6f20 6d69 6e69 6d69 7a65 2061 7070 to minimize app\n+00132120: 6c69 6361 7469 6f6e 206d 656d 6f72 7920 lication memory \n+00132130: 666f 6f74 7072 696e 743c 2f61 3e20 2020 footprint \n+00132140: 203c 2f74 643e 3c2f 7472 3e0a 3c74 7220 . .\n+00132270: 3c74 7220 636c 6173 733d 226d 6172 6b64 <\n+00132190: 636f 6465 3e23 5749 5448 5f4c 4541 4e45 code>#WITH_LEANE\n+001321a0: 523c 2f63 6f64 653e 2020 203c 2f74 643e R \n+001321b0: 3c74 6420 636c 6173 733d 226d 6172 6b64 creates an eve\n+001321e0: 6e20 736d 616c 6c65 7220 666f 6f74 7072 n smaller footpr\n+001321f0: 696e 7420 6578 6563 7574 6162 6c65 2c20 int executable, \n+00132200: 7365 6520 5365 6374 696f 6e20 3c61 2063 see Section How to minimize\n+00132240: 2061 7070 6c69 6361 7469 6f6e 206d 656d application mem\n+00132250: 6f72 7920 666f 6f74 7072 696e 743c 2f61 ory footprint . #WITH_\n+001322c0: 4641 5354 3c2f 636f 6465 3e20 2020 3c2f FAST
\n+001322d0: 7464 3e3c 7464 2063 6c61 7373 3d22 6d61 td>use faster \n+00132300: 6d65 6d6f 7279 2061 6c6c 6f63 6174 696f memory allocatio\n+00132310: 6e20 7768 656e 2075 7365 6420 7769 7468 n when used with\n+00132320: 203c 636f 6465 3e23 5749 5448 5f4c 4541 \n+00132360: 7472 3e0a 3c74 7220 636c 6173 733d 226d tr>.#WITH_LEA\n+00132330: 4e3c 2f63 6f64 653e 206f 7220 3c63 6f64 N
or . .#WI\n+001323b0: 5448 5f43 4f4f 4b49 4553 3c2f 636f 6465 TH_COOKIES
enabl\n+001323f0: 6573 2048 5454 5020 636f 6f6b 6965 732c es HTTP cookies,\n+00132400: 2073 6565 2053 6563 7469 6f6e 7320 3c61 see Sections Clien\n+00132440: 742d 7369 6465 2063 6f6f 6b69 6520 7375 t-side cookie su\n+00132450: 7070 6f72 743c 2f61 3e20 616e 6420 3c61 pport and Serve\n+00132490: 722d 7369 6465 2063 6f6f 6b69 6520 7375 r-side cookie su\n+001324a0: 7070 6f72 743c 2f61 3e20 2020 203c 2f74 pport . .enables\n+00132550: 2048 5454 5020 636f 6f6b 6965 7320 616e HTTP cookies an\n+00132560: 6420 616c 6c6f 7773 2063 6f6f 6b69 6573 d allows cookies\n+00132570: 2077 6974 6820 7468 6569 7220 5365 6375 with their Secu\n+00132580: 7265 2066 6c61 6720 7365 7420 746f 2062 re flag set to b\n+00132590: 6520 7365 6e74 206f 7665 7220 696e 7365 e sent over inse\n+001325a0: 6375 7265 2063 6861 6e6e 656c 7320 2020 cure channels \n+001325b0: 203c 2f74 643e 3c2f 7472 3e0a 3c74 7220 . <\n+00132600: 636f 6465 3e23 5749 5448 5f49 5056 363c code>#WITH_IPV6<\n+00132610: 2f63 6f64 653e 2020 203c 2f74 643e 3c74 /code> . .<\n+00132730: 7472 2063 6c61 7373 3d22 6d61 726b 646f tr class=\"markdo\n+00132740: 776e 5461 626c 6552 6f77 4f64 6422 3e0a wnTableRowOdd\">.\n+00132750: 3c74 6420 636c 6173 733d 226d 6172 6b64 #WI\n+001326b0: 5448 5f49 5056 365f 5636 4f4e 4c59 3c2f TH_IPV6_V6ONLY\n+001326c0: 636f 6465 3e20 2020 3c2f 7464 3e3c 7464 code>
e\n+001326f0: 6e61 626c 6573 2049 5076 3620 7375 7070 nables IPv6 supp\n+00132700: 6f72 7420 7769 7468 2049 5076 362d 6f6e ort with IPv6-on\n+00132710: 6c79 2073 6572 7665 7220 6f70 7469 6f6e ly server option\n+00132720: 2020 2020 3c2f 7464 3e3c 2f74 723e 0a3c #WITH_OP\n+00132780: 454e 5353 4c3c 2f63 6f64 653e 2020 203c ENSSL
<\n+00132790: 2f74 643e 3c74 6420 636c 6173 733d 226d /td>enables Op\n+001327c0: 656e 5353 4c2c 2073 6565 2053 6563 7469 enSSL, see Secti\n+001327d0: 6f6e 7320 3c61 2063 6c61 7373 3d22 656c ons Secure clients\n+00132810: 2077 6974 6820 4854 5450 533c 2f61 3e20 with HTTPS \n+00132820: 616e 6420 3c61 2063 6c61 7373 3d22 656c and Secure Web ser\n+00132860: 7669 6365 7320 7769 7468 2048 5454 5053 vices with HTTPS\n+00132870: 3c2f 613e 2020 2020 3c2f 7464 3e3c 2f74 . .#WI\n+001328d0: 5448 5f47 4e55 544c 533c 2f63 6f64 653e TH_GNUTLS
\n+001328e0: 2020 203c 2f74 643e 3c74 6420 636c 6173 enable\n+00132910: 7320 474e 5554 4c53 2c20 7365 6520 5365 s GNUTLS, see Se\n+00132920: 6374 696f 6e73 203c 6120 636c 6173 733d ctions Secure clie\n+00132960: 6e74 7320 7769 7468 2048 5454 5053 3c2f nts with HTTPS\n+00132970: 613e 2061 6e64 203c 6120 636c 6173 733d a> and Secure Web \n+001329b0: 7365 7276 6963 6573 2077 6974 6820 4854 services with HT\n+001329c0: 5450 533c 2f61 3e20 2020 203c 2f74 643e TPS \n+001329d0: 3c2f 7472 3e0a 3c74 7220 636c 6173 733d . .#\n+00132a20: 5749 5448 5f47 5a49 503c 2f63 6f64 653e WITH_GZIP
\n+00132a30: 2020 203c 2f74 643e 3c74 6420 636c 6173 enable\n+00132a60: 7320 677a 6970 2061 6e64 2064 6566 6c61 s gzip and defla\n+00132a70: 7465 2063 6f6d 7072 6573 7369 6f6e 2c20 te compression, \n+00132a80: 7365 6520 5365 6374 696f 6e20 3c61 2063 see Section Zlib com\n+00132ac0: 7072 6573 7369 6f6e 3c2f 613e 2020 2020 pression \n+00132ad0: 3c2f 7464 3e3c 2f74 723e 0a3c 7472 2063 . .<\n+00132b20: 636f 6465 3e23 5749 5448 5f5a 4c49 423c code>#WITH_ZLIB<\n+00132b30: 2f63 6f64 653e 2020 203c 2f74 643e 3c74 /code> . .#WITH_NTLM\n+00132c30: 3c2f 636f 6465 3e20 2020 3c2f 7464 3e3c
<\n+00132c40: 7464 2063 6c61 7373 3d22 6d61 726b 646f td class=\"markdo\n+00132c50: 776e 5461 626c 6542 6f64 794e 6f6e 6522 wnTableBodyNone\"\n+00132c60: 3e65 6e61 626c 6573 204e 544c 4d20 7375 >enables NTLM su\n+00132c70: 7070 6f72 7420 2020 203c 2f74 643e 3c2f pport \n+00132c80: 7472 3e0a 3c74 7220 636c 6173 733d 226d tr>.. .#W\n+00132cd0: 4954 485f 435f 4c4f 4341 4c45 3c2f 636f ITH_C_LOCALE
for\n+00132d10: 6365 2074 6865 2075 7365 206c 6f63 616c ce the use local\n+00132d20: 6520 6675 6e63 7469 6f6e 7320 7768 656e e functions when\n+00132d30: 2061 7661 696c 6162 6c65 2074 6f20 656e available to en\n+00132d40: 7375 7265 206c 6f63 616c 652d 696e 6465 sure locale-inde\n+00132d50: 7065 6e64 656e 7420 6e75 6d62 6572 2063 pendent number c\n+00132d60: 6f6e 7665 7273 696f 6e73 2020 2020 3c2f onversions \n+00132d70: 7464 3e3c 2f74 723e 0a3c 7472 2063 6c61 td> . .remove the u\n+00132e10: 7365 206f 6620 6c6f 6361 6c65 2066 756e se of locale fun\n+00132e20: 6374 696f 6e73 2074 6f20 696d 7072 6f76 ctions to improv\n+00132e30: 6520 706f 7274 6162 696c 6974 7920 2020 e portability \n+00132e40: 203c 2f74 643e 3c2f 7472 3e0a 3c74 7220 . .#WITH_INCL\n+00132ea0: 5544 455f 584c 4f43 414c 455f 483c 2f63 UDE_XLOCALE_H
fo\n+00132ee0: 7263 6520 7468 6520 696e 636c 7573 696f rce the inclusio\n+00132ef0: 6e20 6f66 203c 636f 6465 3e26 6c74 3b78 n of <x\n+00132f00: 6c6f 6361 6c65 2e68 2667 743b 3c2f 636f locale.h> to define
_l\n+00132f40: 3c2f 636f 6465 3e20 6675 6e63 7469 6f6e
function\n+00132f50: 732c 2074 6f20 696d 7072 6f76 6520 706f s, to improve po\n+00132f60: 7274 6162 696c 6974 7920 2020 203c 2f74 rtability . .#WITH_DOM
enabl\n+00133000: 6520 444f 4d20 7061 7273 696e 6720 696e e DOM parsing in\n+00133010: 2074 6865 2065 6e67 696e 652c 2072 6571 the engine, req\n+00133020: 7569 7265 6420 6279 2074 6865 2057 532d uired by the WS-\n+00133030: 5365 6375 7269 7479 2070 6c75 6769 6e20 Security plugin \n+00133040: 2020 203c 2f74 643e 3c2f 7472 3e0a 3c74 #WITH_RE\n+001330a0: 504c 4143 455f 494c 4c45 4741 4c5f 5554 PLACE_ILLEGAL_UT\n+001330b0: 4638 3c2f 636f 6465 3e20 2020 3c2f 7464 F8
enable strict\n+001330f0: 2055 5446 2d38 2c20 7265 706c 6163 6573 UTF-8, replaces\n+00133100: 2055 5446 2d38 2063 6f6e 7465 6e74 2074 UTF-8 content t\n+00133110: 6861 7420 6973 206f 7574 7369 6465 2074 hat is outside t\n+00133120: 6865 2061 6c6c 6f77 6564 2072 616e 6765 he allowed range\n+00133130: 2077 6974 6820 552b 4646 4644 2020 2020 with U+FFFD \n+00133140: 3c2f 7464 3e3c 2f74 723e 0a3c 7472 2063 . \n+00133230: 0a3c 7472 2063 6c61 7373 3d22 6d61 726b . \n+001331b0: 3c74 6420 636c 6173 733d 226d 6172 6b64 enables FastCG\n+001331e0: 492c 2073 6565 2053 6563 7469 6f6e 203c I, see Section <\n+001331f0: 6120 636c 6173 733d 2265 6c22 2068 7265 a class=\"el\" hre\n+00133200: 663d 2269 6e64 6578 2e68 746d 6c23 6661 f=\"index.html#fa\n+00133210: 7374 6367 6922 3e46 6173 7443 4749 3c2f stcgi\">FastCGI\n+00133220: 613e 2020 2020 3c2f 7464 3e3c 2f74 723e a> . .#WITH\n+00133280: 5f4e 4f49 4f3c 2f63 6f64 653e 2020 203c _NOIO
<\n+00133290: 2f74 643e 3c74 6420 636c 6173 733d 226d /td>removes IO\n+001332c0: 206f 7065 7261 7469 6f6e 732c 2074 6f20 operations, to \n+001332d0: 656c 696d 696e 6174 6520 7468 6520 7573 eliminate the us\n+001332e0: 6520 6f66 2042 5344 2073 6f63 6b65 7473 e of BSD sockets\n+001332f0: 2c20 7365 6520 5365 6374 696f 6e20 3c61 , see Section How to remove\n+00133330: 2074 6865 2042 5344 2073 6f63 6b65 7420 the BSD socket \n+00133340: 6c69 6272 6172 7920 7265 7175 6972 656d library requirem\n+00133350: 656e 743c 2f61 3e20 2020 203c 2f74 643e ent \n+00133360: 3c2f 7472 3e0a 3c74 7220 636c 6173 733d . \n+00133470: 0a3c 7472 2063 6c61 7373 3d22 6d61 726b .#\n+001333b0: 5749 5448 5f4e 4f49 4452 4546 3c2f 636f WITH_NOIDREF
rem\n+001333f0: 6f76 6573 2069 6420 616e 6420 6872 6566 oves id and href\n+00133400: 2f72 6566 206d 756c 7469 2d72 6566 6572 /ref multi-refer\n+00133410: 656e 6365 2064 6174 612c 206d 6f72 6520 ence data, more \n+00133420: 6167 6772 6573 7369 7665 2074 6861 6e20 aggressive than \n+00133430: 7573 696e 6720 7468 6520 3c63 6f64 653e using the \n+00133440: 2353 4f41 505f 584d 4c5f 5452 4545 3c2f #SOAP_XML_TREE\n+00133450: 636f 6465 3e20 7275 6e74 696d 6520 666c code> runtime fl\n+00133460: 6167 2020 2020 3c2f 7464 3e3c 2f74 723e ag
. \n+00133530: 0a3c 7472 2063 6c61 7373 3d22 6d61 726b .#WITH\n+001334c0: 5f4e 4f48 5454 503c 2f63 6f64 653e 2020 _NOHTTP
\n+001334d0: 203c 2f74 643e 3c74 6420 636c 6173 733d removes \n+00133500: 7468 6520 4854 5450 2073 7461 636b 2074 the HTTP stack t\n+00133510: 6f20 7265 6475 6365 2063 6f64 6520 7369 o reduce code si\n+00133520: 7a65 2020 2020 3c2f 7464 3e3c 2f74 723e ze . .#WITH_\n+00133580: 4e4f 5a4f 4e45 3c2f 636f 6465 3e20 2020 NOZONE
\n+00133590: 3c2f 7464 3e3c 7464 2063 6c61 7373 3d22 disables \n+001335c0: 616e 6420 6967 6e6f 7265 7320 7468 6520 and ignores the \n+001335d0: 7469 6d65 7a6f 6e65 2069 6e20 3c63 6f64 timezone in . .<\n+00133650: 636f 6465 3e23 5749 5448 5f4e 4f45 4d50 code>#WITH_NOEMP\n+00133660: 5459 4e41 4d45 5350 4143 4553 3c2f 636f TYNAMESPACES dis\n+001336a0: 6162 6c65 7320 786d 6c6e 733d 2222 2064 ables xmlns=\"\" d\n+001336b0: 6566 6175 6c74 2065 6d70 7479 206e 616d efault empty nam\n+001336c0: 6573 7061 6365 7320 6672 6f6d 2058 4d4c espaces from XML\n+001336d0: 206d 6573 7361 6765 7320 2020 203c 2f74 messages . .\n+001337c0: 3c74 7220 636c 6173 733d 226d 6172 6b64 #WITH_NOEMPTYST\n+00133740: 5255 4354 3c2f 636f 6465 3e20 2020 3c2f RUCT
\n+00133750: 7464 3e3c 7464 2063 6c61 7373 3d22 6d61 td>inserts a d\n+00133780: 756d 6d79 206d 656d 6265 7220 696e 2065 ummy member in e\n+00133790: 6d70 7479 2073 7472 7563 7473 2074 6f20 mpty structs to \n+001337a0: 616c 6c6f 7720 636f 6d70 696c 6174 696f allow compilatio\n+001337b0: 6e20 2020 203c 2f74 643e 3c2f 7472 3e0a n . #WITH_\n+00133810: 4e4f 474c 4f42 414c 3c2f 636f 6465 3e20 NOGLOBAL
\n+00133820: 2020 3c2f 7464 3e3c 7464 2063 6c61 7373 omit SO\n+00133850: 4150 2048 6561 6465 7220 616e 6420 4661 AP Header and Fa\n+00133860: 756c 7420 7365 7269 616c 697a 6174 696f ult serializatio\n+00133870: 6e20 636f 6465 2c20 7072 6576 656e 7473 n code, prevents\n+00133880: 2064 7570 6c69 6361 7465 2064 6566 696e duplicate defin\n+00133890: 6974 696f 6e73 2077 6974 6820 6765 6e65 itions with gene\n+001338a0: 7261 7465 6420 736f 6170 5859 5a4c 6962 rated soapXYZLib\n+001338b0: 2063 6f64 6520 2020 203c 2f74 643e 3c2f code \n+001338c0: 7472 3e0a 3c74 7220 636c 6173 733d 226d tr>.. .\n+00133b10: 3c74 7220 636c 6173 733d 226d 6172 6b64 #WI\n+00133910: 5448 5f4e 4f4e 414d 4553 5041 4345 533c TH_NONAMESPACES<\n+00133920: 2f63 6f64 653e 2020 203c 2f74 643e 3c74 /code>
soap_set_\n+00133a80: 6e61 6d65 7370 6163 6573 3c2f 613e 3c2f namespaces\n+00133a90: 636f 6465 3e20 7365 6520 616c 736f 2053 code> see also S\n+00133aa0: 6563 7469 6f6e 203c 6120 636c 6173 733d ection X\n+00133ad0: 4d4c 206e 616d 6573 7061 6365 7320 616e ML namespaces an\n+00133ae0: 6420 7468 6520 6e61 6d65 7370 6163 6520 d the namespace \n+00133af0: 6d61 7070 696e 6720 7461 626c 653c 2f61 mapping table
. .#WITH_\n+00133b60: 4344 4154 413c 2f63 6f64 653e 2020 203c CDATA
<\n+00133b70: 2f74 643e 3c74 6420 636c 6173 733d 226d /td>retains th\n+00133ba0: 6520 7061 7273 6564 2043 4441 5441 2073 e parsed CDATA s\n+00133bb0: 6563 7469 6f6e 7320 696e 206c 6974 6572 ections in liter\n+00133bc0: 616c 2058 4d4c 2073 7472 696e 6773 2020 al XML strings \n+00133bd0: 2020 3c2f 7464 3e3c 2f74 723e 0a3c 7472 . #WITH_PURE\n+00133c30: 5f56 4952 5455 414c 3c2f 636f 6465 3e20 _VIRTUAL
\n+00133c40: 2020 3c2f 7464 3e3c 7464 2063 6c61 7373 enables\n+00133c70: 2043 2b2b 2061 6273 7472 6163 7420 7365 C++ abstract se\n+00133c80: 7276 6963 6520 636c 6173 7365 7320 7769 rvice classes wi\n+00133c90: 7468 2070 7572 6520 7669 7274 7561 6c20 th pure virtual \n+00133ca0: 6d65 7468 6f64 732c 2072 6571 7569 7265 methods, require\n+00133cb0: 7320 736f 6170 6370 7032 206f 7074 696f s soapcpp2 optio\n+00133cc0: 6e20 3c63 6f64 653e 2d69 3c2f 636f 6465 n -i
or -j
. .#WI\n+00133d40: 5448 5f44 4546 4155 4c54 5f56 4952 5455 TH_DEFAULT_VIRTU\n+00133d50: 414c 3c2f 636f 6465 3e20 2020 3c2f 7464 AL
enables C++ b\n+00133d90: 6173 6520 7365 7276 6963 6520 636c 6173 ase service clas\n+00133da0: 7365 7320 7769 7468 2064 6566 6175 6c74 ses with default\n+00133db0: 2076 6972 7475 616c 206d 6574 686f 6473 virtual methods\n+00133dc0: 2072 6574 7572 6e69 6e67 2066 6175 6c74 returning fault\n+00133dd0: 203c 636f 6465 3e23 534f 4150 5f4e 4f5f #SOAP_NO_\n+00133de0: 4d45 5448 4f44 3c2f 636f 6465 3e2c 2072 METHOD
, r\n+00133df0: 6571 7569 7265 7320 736f 6170 6370 7032 equires soapcpp2\n+00133e00: 206f 7074 696f 6e20 3c63 6f64 653e 2d69 option -i\n+00133e10: 3c2f 636f 6465 3e20 6f72 203c 636f 6465
or -j
\n+00133e30: 7464 3e3c 2f74 723e 0a3c 7472 2063 6c61 td>. .<\n+00133f00: 7472 2063 6c61 7373 3d22 6d61 726b 646f tr class=\"markdo\n+00133f10: 776e 5461 626c 6552 6f77 4576 656e 223e wnTableRowEven\">\n+00133f20: 0a3c 7464 2063 6c61 7373 3d22 6d61 726b .enab\n+00133ed0: 6c65 7320 6361 7365 2069 6e73 656e 7369 les case insensi\n+00133ee0: 7469 7665 2058 4d4c 2070 6172 7369 6e67 tive XML parsing\n+00133ef0: 2020 2020 3c2f 7464 3e3c 2f74 723e 0a3c #WITH_S\n+00133f50: 4f43 4b45 545f 434c 4f53 455f 4f4e 5f45 OCKET_CLOSE_ON_E\n+00133f60: 5849 543c 2f63 6f64 653e 2020 203c 2f74 XIT
prevents a s\n+00133fa0: 6572 7665 7220 706f 7274 2066 726f 6d20 erver port from \n+00133fb0: 7374 6179 696e 6720 696e 206c 6973 7465 staying in liste\n+00133fc0: 6e69 6e67 206d 6f64 6520 6166 7465 7220 ning mode after \n+00133fd0: 6578 6974 2062 7920 696e 7465 726e 616c exit by internal\n+00133fe0: 6c79 2073 6574 7469 6e67 203c 636f 6465 ly setting .fcntl(sock, F_S\n+00134000: 4554 4644 2c20 4644 5f43 4c4f 4558 4543 ETFD, FD_CLOEXEC\n+00134010: 293c 2f63 6f64 653e 2020 2020 3c2f 7464 )
. \n+00134070: 2357 4954 485f 5443 5046 494e 3c2f 636f #WITH_TCPFIN
ena\n+001340b0: 626c 6573 2054 4350 2046 494e 2061 6674 bles TCP FIN aft\n+001340c0: 6572 2073 656e 6473 2077 6865 6e20 736f er sends when so\n+001340d0: 636b 6574 2069 7320 7265 6164 7920 746f cket is ready to\n+001340e0: 2063 6c6f 7365 2020 2020 3c2f 7464 3e3c close <\n+001340f0: 2f74 723e 0a3c 7472 2063 6c61 7373 3d22 /tr>.. \n+00134290: 0a3c 2f74 6162 6c65 3e0a 3c70 3e54 6865 .#\n+00134140: 5749 5448 5f53 454c 465f 5049 5045 3c2f WITH_SELF_PIPE\n+00134150: 636f 6465 3e20 2020 3c2f 7464 3e3c 7464 code>
e\n+00134180: 6e61 626c 6573 2061 2022 7365 6c66 2070 nables a \"self p\n+00134190: 6970 6522 2074 6f20 656e 6162 6c65 2074 ipe\" to enable t\n+001341a0: 6865 203c 636f 6465 3e3c 6120 636c 6173 he \n+00134240: 736f 6170 5f63 6c6f 7365 5f63 6f6e 6e65 soap_close_conne\n+00134250: 6374 696f 6e3c 2f61 3e3c 2f63 6f64 653e ction
\n+00134260: 2066 756e 6374 696f 6e20 2867 534f 4150 function (gSOAP\n+00134270: 2032 2e38 2e37 3120 6f72 2067 7265 6174 2.8.71 or great\n+00134280: 6572 2920 2020 3c2f 7464 3e3c 2f74 723e er) -D\n+001343c0: 3c2f 636f 6465 3e3c 2f62 3e20 746f 2073
to s\n+001343d0: 6574 2074 6865 206d 6163 726f 3a3c 2f70 et the macro:.\n+00134400: 3c74 7220 636c 6173 733d 226d 6172 6b64
.\n+001359c0: 3c64 6c20 636c 6173 733d 2273 6563 7469 .<\n+00134420: 7468 2063 6c61 7373 3d22 6d61 726b 646f th class=\"markdo\n+00134430: 776e 5461 626c 6548 6561 644e 6f6e 6522 wnTableHeadNone\"\n+00134440: 3e64 6566 696e 6520 2020 3c2f 7468 3e3c >define <\n+00134450: 7468 2063 6c61 7373 3d22 6d61 726b 646f th class=\"markdo\n+00134460: 776e 5461 626c 6548 6561 644e 6f6e 6522 wnTableHeadNone\"\n+00134470: 3e72 6573 756c 7420 2020 203c 2f74 683e >result \n+00134480: 3c2f 7472 3e0a 3c74 7220 636c 6173 733d .. .#\n+001344d0: 534f 4150 5f4e 4f54 4852 4f57 3c2f 636f SOAP_NOTHROW
exp\n+00134510: 616e 6473 2074 6f20 3c63 6f64 653e 2873 ands to (s\n+00134520: 7464 3a3a 6e6f 7468 726f 7729 3c2f 636f td::nothrow) to prevent m\n+00134540: 656d 6f72 7920 616c 6c6f 6361 7469 6f6e emory allocation\n+00134550: 2065 7863 6570 7469 6f6e 7320 283c 636f exceptions (
#SOAP_BU\n+00134600: 464c 454e 3c2f 636f 6465 3e20 2020 3c2f FLEN
\n+00134610: 7464 3e3c 7464 2063 6c61 7373 3d22 6d61 td>the length \n+00134640: 6f66 2074 6865 2069 6e74 6572 6e61 6c20 of the internal \n+00134650: 6d65 7373 6167 6520 6275 6666 6572 2c20 message buffer, \n+00134660: 696d 7061 6374 7320 636f 6d6d 756e 6963 impacts communic\n+00134670: 6174 696f 6e73 2070 6572 666f 726d 616e ations performan\n+00134680: 6365 2020 2020 3c2f 7464 3e3c 2f74 723e ce \n+00134690: 0a3c 7472 2063 6c61 7373 3d22 6d61 726b .. .#SOAP_\n+001346e0: 4844 524c 454e 3c2f 636f 6465 3e20 2020 HDRLEN
\n+001346f0: 3c2f 7464 3e3c 7464 2063 6c61 7373 3d22 the maxim\n+00134720: 756d 206c 656e 6774 6820 6f66 2048 5454 um length of HTT\n+00134730: 5020 6865 6164 6572 7320 2020 203c 2f74 P headers . t\n+001347d0: 6865 206d 6178 696d 756d 206c 656e 6774 he maximum lengt\n+001347e0: 6820 6f66 2058 4d4c 2074 6167 7320 616e h of XML tags an\n+001347f0: 6420 5552 4c73 2020 2020 3c2f 7464 3e3c d URLs <\n+00134800: 2f74 723e 0a3c 7472 2063 6c61 7373 3d22 /tr>.. .<\n+001348f0: 7472 2063 6c61 7373 3d22 6d61 726b 646f tr class=\"markdo\n+00134900: 776e 5461 626c 6552 6f77 4576 656e 223e wnTableRowEven\">\n+00134910: 0a3c 7464 2063 6c61 7373 3d22 6d61 726b .#S\n+00134850: 4f41 505f 544d 504c 454e 3c2f 636f 6465 OAP_TMPLEN
the m\n+00134890: 6178 696d 756d 206c 656e 6774 6820 6f66 aximum length of\n+001348a0: 2074 656d 706f 7261 7279 2073 7472 696e temporary strin\n+001348b0: 6720 7661 6c75 6573 2c20 7368 6f72 7420 g values, short \n+001348c0: 7374 7269 6e67 7320 616e 6420 6272 6965 strings and brie\n+001348d0: 6620 6572 726f 7220 6d65 7373 6167 6573 f error messages\n+001348e0: 2020 2020 3c2f 7464 3e3c 2f74 723e 0a3c #SOAP_M\n+00134940: 4158 414c 4c4f 4353 495a 453c 2f63 6f64 AXALLOCSIZE
the \n+00134980: 6d61 7869 6d75 6d20 7369 7a65 206f 6620 maximum size of \n+00134990: 6120 626c 6f63 6b20 6f66 206d 656d 6f72 a block of memor\n+001349a0: 7920 7468 6174 203c 636f 6465 3e6d 616c y that \n+001349d0: 3c2f 7472 3e0a 3c74 7220 636c 6173 733d .mal\n+001349b0: 6c6f 633c 2f63 6f64 653e 2063 616e 2061 loc
can a\n+001349c0: 6c6c 6f63 6174 6520 2020 203c 2f74 643e llocate . . \n+00134a40: 3c74 6420 636c 6173 733d 226d 6172 6b64 #\n+00134a20: 534f 4150 5f4d 4158 4152 5241 5953 495a SOAP_MAXARRAYSIZ\n+00134a30: 453c 2f63 6f64 653e 2020 203c 2f74 643e E
the maximum al\n+00134a70: 6c6f 6361 7469 6f6e 2074 6872 6573 686f location thresho\n+00134a80: 6c64 2074 6f20 7072 652d 616c 6c6f 6361 ld to pre-alloca\n+00134a90: 7465 2053 4f41 5020 6172 7261 7973 2069 te SOAP arrays i\n+00134aa0: 6e20 6d65 6d6f 7279 2020 2020 3c2f 7464 n memory . #SOAP_MAXDIMESI\n+00134b10: 5a45 3c2f 636f 6465 3e20 2020 3c2f 7464 ZE
the maximum D\n+00134b50: 494d 4520 6174 7461 6368 6d65 6e74 2073 IME attachment s\n+00134b60: 697a 6520 616c 6c6f 7765 6420 746f 2072 ize allowed to r\n+00134b70: 6563 6569 7665 2020 2020 3c2f 7464 3e3c eceive <\n+00134b80: 2f74 723e 0a3c 7472 2063 6c61 7373 3d22 /tr>.. #S\n+00134bd0: 4f41 505f 4d41 5845 494e 5452 3c2f 636f OAP_MAXEINTR
max\n+00134c10: 696d 756d 206e 756d 6265 7220 6f66 2045 imum number of E\n+00134c20: 494e 5452 2069 6e74 6572 7275 7074 7320 INTR interrupts \n+00134c30: 746f 2069 676e 6f72 6520 7768 696c 6520 to ignore while \n+00134c40: 706f 6c6c 696e 6720 6120 736f 636b 6574 polling a socket\n+00134c50: 2066 6f72 2070 656e 6469 6e67 2061 6374 for pending act\n+00134c60: 6976 6974 7920 2020 203c 2f74 643e 3c2f ivity \n+00134c70: 7472 3e0a 3c74 7220 636c 6173 733d 226d tr>.. \n+00134d40: 0a3c 7472 2063 6c61 7373 3d22 6d61 726b .#S\n+00134cc0: 4f41 505f 4d41 5849 4e46 4c41 5445 5349 OAP_MAXINFLATESI\n+00134cd0: 5a45 3c2f 636f 6465 3e20 2020 3c2f 7464 ZE
trusted infla\n+00134d10: 7465 6420 636f 6e74 656e 7420 7369 7a65 ted content size\n+00134d20: 2028 3120 4d42 2062 7920 6465 6661 756c (1 MB by defaul\n+00134d30: 7429 2020 2020 3c2f 7464 3e3c 2f74 723e t) . #SOAP_\n+00134d90: 4d41 584b 4545 5041 4c49 5645 3c2f 636f MAXKEEPALIVE
max\n+00134dd0: 696d 756d 2069 7465 7261 7469 6f6e 7320 imum iterations \n+00134de0: 696e 2074 6865 203c 636f 6465 3e3c 6120 in the \n+00134ea0: 7472 3e0a 3c74 7220 636c 6173 733d 226d tr>.soap\n+00134e60: 5f73 6572 7665 3c2f 613e 3c2f 636f 6465 _serve
loop on HTTP k\n+00134e80: 6565 702d 616c 6976 6520 636f 6e6e 6563 eep-alive connec\n+00134e90: 7469 6f6e 7320 2020 203c 2f74 643e 3c2f tions . #S\n+00134ef0: 4f41 505f 4d41 584c 454e 4754 483c 2f63 OAP_MAXLENGTH
ma\n+00134f30: 7869 6d75 6d20 7374 7269 6e67 2063 6f6e ximum string con\n+00134f40: 7465 6e74 206c 656e 6774 6820 666f 7220 tent length for \n+00134f50: 7374 7269 6e67 7320 6e6f 7420 616c 7265 strings not alre\n+00134f60: 6164 7920 636f 6e73 7472 6169 6e65 6420 ady constrained \n+00134f70: 6279 2058 4d4c 2073 6368 656d 6120 7661 by XML schema va\n+00134f80: 6c69 6461 7469 6f6e 2063 6f6e 7374 7261 lidation constra\n+00134f90: 696e 7473 2020 2020 3c2f 7464 3e3c 2f74 ints .. #SOA\n+00134ff0: 505f 4d41 584c 4556 454c 3c2f 636f 6465 P_MAXLEVEL
maxim\n+00135030: 756d 2058 4d4c 206e 6573 7469 6e67 2064 um XML nesting d\n+00135040: 6570 7468 206c 6576 656c 2070 6572 6d69 epth level permi\n+00135050: 7474 6564 2062 7920 7468 6520 584d 4c20 tted by the XML \n+00135060: 7061 7273 6572 2020 2020 3c2f 7464 3e3c parser <\n+00135070: 2f74 723e 0a3c 7472 2063 6c61 7373 3d22 /tr>.. .\n+00135190: 3c74 7220 636c 6173 733d 226d 6172 6b64 #\n+001350c0: 534f 4150 5f4d 4158 4f43 4355 5253 3c2f SOAP_MAXOCCURS\n+001350d0: 636f 6465 3e20 2020 3c2f 7464 3e3c 7464 code>
m\n+00135100: 6178 696d 756d 206e 756d 6265 7220 6f66 aximum number of\n+00135110: 2061 7272 6179 206f 7220 636f 6e74 6169 array or contai\n+00135120: 6e65 7220 656c 656d 656e 7473 2066 6f72 ner elements for\n+00135130: 2063 6f6e 7461 696e 6572 7320 7468 6174 containers that\n+00135140: 2061 7265 206e 6f74 2061 6c72 6561 6479 are not already\n+00135150: 2063 6f6e 7374 7261 696e 6564 2062 7920 constrained by \n+00135160: 584d 4c20 7363 6865 6d61 2076 616c 6964 XML schema valid\n+00135170: 6174 696f 6e20 636f 6e73 7472 6169 6e74 ation constraint\n+00135180: 7320 2020 203c 2f74 643e 3c2f 7472 3e0a s \n+001351b0: 0a3c 7464 2063 6c61 7373 3d22 6d61 726b . .#SOAP_M\n+001351e0: 494e 4445 464c 4154 4552 4154 494f 3c2f INDEFLATERATIO\n+001351f0: 636f 6465 3e20 2020 3c2f 7464 3e3c 7464 code>
t\n+00135220: 7275 7374 6564 2064 6566 6c61 7469 6f6e rusted deflation\n+00135230: 2072 6174 696f 2061 6674 6572 203c 636f ratio after . .set to #WITH_PU\n+00135330: 5245 5f56 4952 5455 414c 3c2f 636f 6465 RE_VIRTUAL
is defined \n+00135350: 3c2f 7464 3e3c 2f74 723e 0a3c 7472 2063 . .length of\n+001353f0: 2074 6865 2052 5341 206b 6579 2028 3230 the RSA key (20\n+00135400: 3438 2062 7920 6465 6661 756c 7429 2020 48 by default) \n+00135410: 2020 3c2f 7464 3e3c 2f74 723e 0a3c 7472 .<\n+00135440: 7464 2063 6c61 7373 3d22 6d61 726b 646f td class=\"markdo\n+00135450: 776e 5461 626c 6542 6f64 794e 6f6e 6522 wnTableBodyNone\"\n+00135460: 3e3c 636f 6465 3e23 534f 4150 5f55 4e4b > \n+00135540: 0a3c 7472 2063 6c61 7373 3d22 6d61 726b .#SOAP_UNK\n+00135470: 4e4f 574e 5f43 4841 523c 2f63 6f64 653e NOWN_CHAR
\n+00135480: 2020 203c 2f74 643e 3c74 6420 636c 6173 an 8 b\n+001354b0: 6974 2069 6e74 6567 6572 2074 6861 7420 it integer that \n+001354c0: 7265 7072 6573 656e 7473 2061 2063 6861 represents a cha\n+001354d0: 7261 6374 6572 2074 6861 7420 636f 756c racter that coul\n+001354e0: 6420 6e6f 7420 6265 2063 6f6e 7665 7274 d not be convert\n+001354f0: 6564 2074 6f20 616e 2041 5343 4949 2063 ed to an ASCII c\n+00135500: 6861 722c 2069 2e65 2e20 7768 656e 2063 har, i.e. when c\n+00135510: 6f6e 7665 7274 696e 6720 616e 2058 4d4c onverting an XML\n+00135520: 2055 6e69 636f 6465 2063 6861 7261 6374 Unicode charact\n+00135530: 6572 2020 2020 3c2f 7464 3e3c 2f74 723e er . .#SOAP_\n+00135590: 554e 4b4e 4f57 4e5f 554e 4943 4f44 455f UNKNOWN_UNICODE_\n+001355a0: 4348 4152 3c2f 636f 6465 3e20 2020 3c2f CHAR
\n+001355b0: 7464 3e3c 7464 2063 6c61 7373 3d22 6d61 td>integer Uni\n+001355e0: 636f 6465 2076 616c 7565 2072 6570 7265 code value repre\n+001355f0: 7365 6e74 696e 6720 6120 6368 6172 6163 senting a charac\n+00135600: 7465 7220 7468 6174 2072 6570 6c61 6365 ter that replace\n+00135610: 7320 616e 2069 6e76 616c 6964 2055 6e69 s an invalid Uni\n+00135620: 636f 6465 2063 6f64 6520 706f 696e 7420 code code point \n+00135630: 2020 203c 2f74 643e 3c2f 7472 3e0a 3c74 #SOAP_LO\n+00135690: 4e47 5f46 4f52 4d41 543c 2f63 6f64 653e NG_FORMAT
\n+001356a0: 2020 203c 2f74 643e 3c74 6420 636c 6173 macro \n+001356d0: 7468 6174 2072 6570 7265 7365 6e74 7320 that represents \n+001356e0: 7468 6520 3c63 6f64 653e 234c 4f4e 4736 the .#LONG6\n+001356f0: 343c 2f63 6f64 653e 2070 7269 6e74 6620 4
printf \n+00135700: 252d 666f 726d 6174 2020 2020 3c2f 7464 %-format . \n+001357f0: 0a3c 7472 2063 6c61 7373 3d22 6d61 726b .\n+00135760: 2353 4f41 505f 554c 4f4e 475f 464f 524d #SOAP_ULONG_FORM\n+00135770: 4154 3c2f 636f 6465 3e20 2020 3c2f 7464 AT
macro that re\n+001357b0: 7072 6573 656e 7473 2074 6865 203c 636f presents the . .#SOAP\n+00135840: 5f49 4e56 414c 4944 5f53 4f43 4b45 543c _INVALID_SOCKET<\n+00135850: 2f63 6f64 653e 2020 203c 2f74 643e 3c74 /code>
\n+00135cb0: 0a3c 703e f09f 949d 203c 6120 6872 6566 ..gsoap/s\n+00135a80: 7464 736f 6170 322e 6370 703c 2f63 6f64 tdsoap2.cpp,
, \n+00135ae0: 3c65 6d3e 3c63 6f64 653e 736f 6170 5365 soapSe\n+00135af0: 7276 6572 2e63 7070 3c2f 636f 6465 3e3c rver.cpp
<\n+00135b00: 2f65 6d3e 2c20 616e 6420 616c 6c20 6170 /em>, and all ap\n+00135b10: 706c 6963 6174 696f 6e20 736f 7572 6365 plication source\n+00135b20: 2063 6f64 6520 6669 6c65 7320 7468 6174 code files that\n+00135b30: 2069 6e63 6c75 6465 203c 656d 3e3c 636f include soa\n+00135b70: 7048 2e68 3c2f 636f 6465 3e3c 2f65 6d3e pH.h
\n+00135b80: 2e20 4966 2074 6865 206d 6163 726f 7320 . If the macros \n+00135b90: 6172 6520 6e6f 7420 636f 6e73 6973 7465 are not consiste\n+00135ba0: 6e74 6c79 2064 6566 696e 6564 2061 7420 ntly defined at \n+00135bb0: 636f 6d70 696c 6520 7469 6d65 2074 6865 compile time the\n+00135bc0: 6e20 7468 6520 6170 706c 6963 6174 696f n the applicatio\n+00135bd0: 6e20 7769 6c6c 206c 696b 656c 7920 6372 n will likely cr\n+00135be0: 6173 6820 6475 6520 746f 2061 206d 6973 ash due to a mis\n+00135bf0: 6d61 7463 6865 7320 696e 2074 6865 2064 matches in the d\n+00135c00: 6563 6c61 7261 7469 6f6e 2061 6e64 2075 eclaration and u\n+00135c10: 7365 206f 6620 7468 6520 3c63 6f64 653e se of the \n+00135c20: 3c61 2063 6c61 7373 3d22 656c 2220 6872 soap\n+00135c70: 3c2f 613e 3c2f 636f 6465 3e20 636f 6e74
cont\n+00135c80: 6578 7420 7468 6174 2069 7320 6375 7374 ext that is cust\n+00135c90: 6f6d 697a 6564 2062 7920 7468 6573 6520 omized by these \n+00135ca0: 666c 6167 732e 3c2f 6464 3e3c 2f64 6c3e flags..\n+00135d10: 5573 696e 6720 7468 6520 736f 6170 6465 Using the soapde\n+00135d20: 6673 2e68 2068 6561 6465 7220 6669 6c65 fs.h header file\n+00135d30: 3c2f 6832 3e0a 3c70 3e54 6865 203c 656d
.soapdefs.\n+00135d50: 683c 2f63 6f64 653e 3c2f 656d 3e20 6865 h
he\n+00135d60: 6164 6572 2066 696c 6520 6973 2069 6e63 ader file is inc\n+00135d70: 6c75 6465 6420 696e 203c 656d 3e3c 636f luded in #WIT\n+00135dd0: 485f 534f 4150 4445 4653 5f48 3c2f 636f H_SOAPDEFS_H:
\n+00135e00: 632b 2b20 2d44 2057 4954 485f 534f 4150 c++ -D WITH_SOAP\n+00135e10: 4445 4653 5f48 202d 6320 7374 6473 6f61 DEFS_H -c stdsoa\n+00135e20: 7032 2e63 7070 0a3c 2f70 7265 3e3c 703e p2.cpp.
s\n+00135e40: 6f61 7064 6566 732e 683c 2f63 6f64 653e oapdefs.h
\n+00135e50: 3c2f 656d 3e20 6669 6c65 2061 6c6c 6f77 file allow\n+00135e60: 7320 7573 6572 7320 746f 2069 6e63 6c75 s users to inclu\n+00135e70: 6465 2064 6566 696e 6974 696f 6e73 2061 de definitions a\n+00135e80: 6e64 2061 6464 2069 6e63 6c75 6465 7320 nd add includes \n+00135e90: 7769 7468 6f75 7420 7265 7175 6972 696e without requirin\n+00135ea0: 6720 6368 616e 6765 7320 746f 203c 656d g changes to gsoap/std\n+00135ec0: 736f 6170 322e 683c 2f63 6f64 653e 3c2f soap2.h
\n+00135ed0: 656d 3e2e 2059 6f75 2063 616e 2061 6c73 em>. You can als\n+00135ee0: 6f20 7370 6563 6966 7920 7468 6520 6865 o specify the he\n+00135ef0: 6164 6572 2066 696c 6520 6e61 6d65 2074 ader file name t\n+00135f00: 6f20 696e 636c 7564 6520 6173 2061 206d o include as a m\n+00135f10: 6163 726f 203c 636f 6465 3e53 4f41 5044 acro SOAPD\n+00135f20: 4546 535f 483c 2f63 6f64 653e 2074 6f20 EFS_H
to \n+00135f30: 6f76 6572 7269 6465 2074 6865 206e 616d override the nam\n+00135f40: 6520 3c65 6d3e 3c63 6f64 653e 736f 6170 e soap\n+00135f50: 6465 6673 2e68 3c2f 636f 6465 3e3c 2f65 defs.h
: c\n+00135f80: 2b2b 202d 4420 534f 4150 4445 4653 5f48 ++ -D SOAPDEFS_H\n+00135f90: 3d6d 7964 6566 732e 6820 2d63 2073 7464 =mydefs.h -c std\n+00135fa0: 736f 6170 322e 6370 700a 3c2f 7072 653e soap2.cpp.
\n+00135fb0: 3c70 3e20 466f 7220 6578 616d 706c 652c \n+001360e0: 7374 643a 3a6f 7374 7265 616d 3c2f 636f std::ostream without soap\n+00136100: 6370 7032 2074 6872 6f77 696e 6720 6572 cpp2 throwing er\n+00136110: 726f 7273 2c20 6279 2075 7369 6e67 203c rors, by using <\n+00136120: 636f 6465 3e65 7874 6572 6e3c 2f63 6f64 code>extern to declare
:\n+00136160: 703e 0a3c 6469 7620 636c 6173 733d 2266 p>.extern class \n+00136260: 7370 616e 3e73 7464 3a3a 6f73 7472 6561 span>std::ostrea\n+00136270: 6d3b 3c2f 6469 763e 0a3c 6469 7620 636c m;.Run\n-00136560: 2d74 696d 6520 666c 6167 733c 2f68 313e -time flags
\n-00136570: 0a3c 703e 5468 6520 6753 4f41 5020 656e .