Webservice—SOAP message character escape

WebService special character escape

  When soap messages request Webservice, they often encounter special characters and cause interface errors; in this case, escaping is required;

   Common escape characters are as follows:

& & with
' ' apostrophe
" " Double quotes
>  > Greater than
&lt; < Less than sign

 

  If the escaped data is processed on the front-end such as js, the symbols before the escape will be displayed normally, and no further processing is required;

https://www.w3cschool.cn/oraclejc/oraclejc-ruyk2r6p.html

Oracle processing method:

CREATE OR REPLACE Function ZLXA_TransferResponse
(
resText In Varchar2
)
  Return Varchar2 As
  --作者: 王大聖
  --时间:2021-01-22
  --功能:调用WebService后存在大量的&amp;  & 和&apos; ' 单引号&quot; " 双引号&gt;  >  大于号&lt; < 小于号
  --实现:  转义

  l_returnXML Varchar2(32767) := '';

  v_AT   Varchar2(2);
Begin

  If resText Is Null Or Length(resText) <=0 Then
    Return '';
  End If;

  v_AT := chr(38);

  l_returnXML := Replace(resText, v_AT || 'amp;', v_AT); --&amp; 为 &
  l_returnXML := Replace(l_returnXML, v_AT || 'apos;', Chr(39)); --&apos; 为 '
  l_returnXML := Replace(l_returnXML, v_AT || 'quot;', Chr(34)); --&quot; 为 "
  l_returnXML := Replace(l_returnXML, v_AT || 'gt;', Chr(62)); --&gt; 为 >
  l_returnXML := Replace(l_returnXML, v_AT || 'lt;', Chr(60)); --&lt; 为 <

  Return l_returnXML;
Exception
  When Others Then
    Return resText;
End;

/*Create Public Synonym ZLXA_TRANSFERRESPONSE For ZLHIS.ZLXA_TRANSFERRESPONSE;
 Grant Execute On ZLXA_TRANSFERRESPONSE To Public; */

Related Oracle function introduction: Chr function

The Oracle Chr() function can return characters according to the numeric code, and its function is opposite to the ASCII function.

Apply to

The CHR() function can be used in the following versions of Oracle:

Oracle 12c、Oracle 11g、Oracle 10g、Oracle 9i

CHR() has a corresponding function ASCII(), which can achieve the opposite effect.
ASCII() - convert characters to ASCII code
Syntax
ASCII (single_character)
example
select ASCII('A') from dual; - return 65

 

ASCII table

 

Dec Hex Oct Char Description
0 0 000   null
1 1 001   start of heading
2 2 002   start of text
3 3 003   end of text
4 4 004   end of transmission
5 5 005   enquiry
6 6 006   acknowledge
7 7 007   bell
8 8 010   backspace
9 9 011   horizontal tab
10 A 012   new line
11 B 013   vertical tab
12 C 014   new page
13 D 015   carriage return
14 E 016   shift out
15 F 017   shift in
16 10 020   data link escape
17 11 021   device control 1
18 12 022   device control 2
19 13 023   device control 3
20 14 024   device control 4
21 15 025   negative acknowledge
22 16 026   synchronous idle
23 17 027   end of trans. block
24 18 030   cancel
25 19 031   end of medium
26 1A 032   substitute
27 1B 033   escape
28 1C 034   file separator
29 1D 035   group separator
30 1E 036   record separator
31 1F 037   unit separator
32 20 040   space
33 21 041 !  
34 22 042 "  
35 23 043 #  
36 24 044 $  
37 25 045 %  
38 26 046 &  
39 27 047 '  
40 28 050 (  
41 29 051 )  
42 2A 052 *  
43 2B 053 +  
44 2C 054 ,  
45 2D 055 -  
46 2E 056 .  
47 2F 057 /  
48 30 060 0  
49 31 061 1  
50 32 062 2  
51 33 063 3  
52 34 064 4  
53 35 065 5  
54 36 066 6  
55 37 067 7  
56 38 070 8  
57 39 071 9  
58 3A 072 :  
59 3B 073 ;  
60 3C 074 <  
61 3D 075 =  
62 3e 076 >  
63 3F 077 ?  
64 40 100 @  
65 41 101 A  
66 42 102 B  
67 43 103 C  
68 44 104 D  
69 45 105 E  
70 46 106 F  
71 47 107 G  
72 48 110 H  
73 49 111 I  
74 4A 112 J  
75 4B 113 K  
76 4C 114 L  
77 4D 115 M  
78 4E 116 N  
79 4F 117 O  
80 50 120 P  
81 51 121 Q  
82 52 122 R  
83 53 123 S  
84 54 124 T  
85 55 125 U  
86 56 126 V  
87 57 127 W  
88 58 130 X  
89 59 131 AND  
90 5a 132 WITH  
91 5B 133 [  
92 5C 134 \  
93 5D 135 ]  
94 5e 136 ^  
95 5F 137 _  
96 60 140 `  
97 61 141 a  
98 62 142 b  
99 63 143 c  
100 64 144 d  
101 65 145 e  
102 66 146 f  
103 67 147 g  
104 68 150 h  
105 69 151 i  
106 6A 152 j  
107 6B 153 k  
108 6C 154 l  
109 6D 155 m  
110 6E 156 n  
111 6F 157 o  
112 70 160 p  
113 71 161 q  
114 72 162 r  
115 73 163 s  
116 74 164 t  
117 75 165 u  
118 76 166 v  
119 77 167 w  
120 78 170 x  
121 79 171 y  
122 7A 172 z  
123 7B 173 {  
124 7C 174 |  
125 7D 175 }  
126 7E 176 ~  
127 7F 177 DEL  

 

Guess you like

Origin blog.csdn.net/wangshengfeng1986211/article/details/112992222