亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? soapdoc2.html

?? linux下開發的soap協議。建議大家學習學習!
?? HTML
?? 第 1 頁 / 共 5 頁
字號:
// Content of file <tt>"getQuote.h"</tt>: <br />
<b>int</b>&nbsp;ns1__getQuote(<b>char</b>&nbsp;*symbol, <b>float</b>&nbsp;&amp;Result);
</td></tr></table><br></i>
The header file essentially specifies the remote method in C++.
The remote method is declared as a <i>ns1__getQuote</i> <b>function prototype</b> which specifies all of the necessary details for
the gSOAP compiler to generate the stub routine for a client application to interact with the Delayed Stock Quote service.
<p>The Delayed Stock Quote service description requires that the <b>input parameter</b> of the <i>getQuote</i> remote method is a
<i>symbol</i> parameter of type string. The description also indicates that the <i>Result</i> <b>output parameter</b> is a floating
point number that represents the current unit price of the stock in dollars. The gSOAP compiler uses the convention the <b>last
parameter</b> of the function prototype must be the output parameter of the remote method, which is required to be passed by
reference using the reference operator (<i>&amp;</i>) or by using a pointer type. All other parameters except the last are input
parameters of the remote method, which are required to be passed by value or passed using a pointer to a value (by reference is
not allowed). The function prototype associated with a remote method is required to return an <i><b>int</b></i>, whose value indicates to
the caller whether the connection to a SOAP Web service was successful or resulted in an exception, see Section&nbsp;<a href="#sec:errcodes">7.2</a>
for the error codes. 
<p>The use of the namespace prefix <i>ns1__</i> in the remote method name in the function prototype declaration is discussed in
detail in&nbsp;<a href="#sec:namespace">5.1.2</a>.  Basically, a namespace prefix is distinghuished by a <b>pair of underscores</b> in the function
name, as in <i>ns1__getQuote</i> where <i>ns1</i> is the namespace prefix and <i>getQuote</i> is the remote method name.  (A single
underscore in an identifier name will be translated to a dash in the XML output, see Section&nbsp;<a href="#sec:idtrans">7.3</a>.)
<p>The gSOAP compiler is invoked from the command line with:
<br><br><table border=0 width="100%" cellpadding="8" bgcolor="#D0D0D0"><tr><td><span class="roman">
<i>soapcpp2 getQuote.h</i>
</td></tr></table><br></span>
The compiler generates the stub routine for the <i>getQuote</i> remote method specified in the <i>getQuote.h</i> header file. This
stub routine can be called by a client program at any time to request a stock quote from the Delayed Stock Quote service. The
interface to the generated stub routine is called a <b>proxy</b>, which is the following function generated by the gSOAP
compiler:
<br><br><table border=0 width="100%" cellpadding="8" bgcolor="#B0D0B0"><tr><td><i>
<b>int</b>&nbsp;soap_call_ns1__getQuote(<b>struct</b>&nbsp;soap *soap, <b>char</b>&nbsp;*URL, <b>char</b>&nbsp;*action, <b>char</b>&nbsp;*symbol, <b>float</b>&nbsp;&amp;Result);
</td></tr></table><br></i>
The stub routine of the proxy is saved in <i>soapClient.cpp</i>. The file <i>soapC.cpp</i> contains the <b>serializer</b> and <b>
deserializer</b> routines for the data types used by the stub.
<p>Note that the parameters of the <i>soap_call_ns1__getQuote</i> proxy are identical to the
<i>ns1__getQuote</i> function prototype with three additional input parameters: <i>soap</i> must be a valid pointer to a gSOAP
runtime environment, <i>URL</i> is the SOAP Web service <b>endpoint URL</b>
passed as a string, and <i>action</i> is a string that denotes the <b>SOAP action</b> required by the Web service.
<p>The following example C++ client program invokes the proxy to retrieve the latest AOL stock quote from the XMethods Delayed Stock
Quote service:
<br><br><table border=0 width="100%" cellpadding="8" bgcolor="#B0D0B0"><tr><td><i>
#include <tt>"soapH.h"</tt> // obtain the generated proxy <br />
<b>int</b>&nbsp;main() <br />
{ <br />
&nbsp;&nbsp;&nbsp;<b>struct</b>&nbsp;soap soap; // gSOAP runtime environment <br />
&nbsp;&nbsp;&nbsp;<b>float</b>&nbsp;quote; <br />
&nbsp;&nbsp;&nbsp;soap_init(&amp;soap); // initialize runtime environment (only once) <br />
&nbsp;&nbsp;&nbsp;<b>if</b>&nbsp;(soap_call_ns1__getQuote(&amp;soap, <tt>"http://services.xmethods.net:80/soap"</tt>, <tt>""</tt>, <tt>"AOL"</tt>, quote) == SOAP_OK) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout  &lt;&lt;  "Current AOL Stock Quote = "  &lt;&lt;  quote; <br />
&nbsp;&nbsp;&nbsp;<b>else</b>&nbsp;// an error occurred <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;soap_print_fault(&amp;soap, stderr); // display the SOAP fault message on the stderr stream <br />
soap_end(&amp;soap); // clean up <br />
}
</td></tr></table><br></i>
The XMethods Delayed Stock Quote service endpoint URL is <tt>http://services.xmethods.net/soap</tt> port 80 and the SOAP action required
is <tt>""</tt> (two quotes).  If successful, the proxy returns <i>SOAP_OK</i> and <i>quote</i> contains the latest stock quote.
Otherwise, an error occurred and the SOAP fault is displayed with the <i>soap_print_fault</i> function.
<p><p>When the example client application is invoked, the SOAP request is performed by the proxy routine <i>soap_call_ns1__getQuote</i>, which
generates the following SOAP request message:
<br><br><table border=0 width="100%" cellpadding="8" bgcolor="#B0B0D0"><tr><td><tt>
POST /soap HTTP/1.1 <br />
Host: services.xmethods.net <br />
Content-Type: text/xml <br />
Content-Length: 529 <br />
SOAPAction: "" <br />
<br />
&lt;?xml version="1.0" encoding="UTF-8"?&#62; <br />
&lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" <br />
&nbsp;&nbsp;&nbsp;xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" <br />
&nbsp;&nbsp;&nbsp;xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" <br />
&nbsp;&nbsp;&nbsp;xmlns:xsd="http://www.w3.org/1999/XMLSchema" <br />
&nbsp;&nbsp;&nbsp;xmlns:ns1="urn:xmethods-delayed-quotes" <br />
&nbsp;&nbsp;&nbsp;SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"&#62; <br />
&lt;SOAP-ENV:Body&#62; <br />
&lt;ns1:getQuote&#62; <br />
&lt;symbol&#62;AOL&lt;/symbol&#62; <br />
&lt;/ns1:getQuote&#62; <br />
&lt;/SOAP-ENV:Body&#62; <br />
&lt;/SOAP-ENV:Envelope&#62;
</td></tr></table><br></tt>
The XMethods Delayed Stock Quote service responds with the SOAP response message:
<br><br><table border=0 width="100%" cellpadding="8" bgcolor="#B0B0D0"><tr><td><tt>
HTTP/1.1 200 OK <br />
Date: Sat, 25 Aug 2001 19:28:59 GMT <br />
Content-Type: text/xml <br />
Server: Electric/1.0 <br />
Connection: Keep-Alive <br />
Content-Length: 491 <br />
<br />
&lt;?xml version='1.0' encoding='UTF-8'?&#62; <br />
&lt;soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' <br />
&nbsp;&nbsp;&nbsp;xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance' <br />
&nbsp;&nbsp;&nbsp;xmlns:xsd='http://www.w3.org/1999/XMLSchema' <br />
&nbsp;&nbsp;&nbsp;xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' <br />
&nbsp;&nbsp;&nbsp;soap:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'&#62; <br />
&lt;soap:Body&#62; <br />
&lt;n:getQuoteResponse xmlns:n='urn:xmethods-delayed-quotes'&#62; <br />
&lt;Result xsi:type='xsd:float'&#62;41.81&lt;/Result&#62; <br />
&lt;/n:getQuoteResponse&#62; <br />
&lt;/soap:Body&#62; <br />
&lt;/soap:Envelope&#62;
</td></tr></table><br></tt>
The server's response is parsed by the stub routine of the proxy of the client. The stub routine further demarshalls the data of <tt>Result</tt>
element of the SOAP response and stores it in the <i>quote</i> parameter of <i>soap_call_ns1__getQuote</i>.
<p>A client program can invoke a remote method at any time and multiple times if necessary. Consider for example:
<br><br><table border=0 width="100%" cellpadding="8" bgcolor="#B0D0B0"><tr><td><i>
... <br />
<b>struct</b>&nbsp;soap soap; <br />
<b>float</b>&nbsp;quotes[3]; char *myportfolio[] = {<tt>"IBM"</tt>, <tt>"AOL"</tt>, <tt>"MSDN"</tt>}; <br />
soap_init(&amp;soap); // need to initialize only once <br />
<b>for</b>&nbsp;(<b>int</b>&nbsp;i = 0; i  &lt;  3; i++) <br />
&nbsp;&nbsp;&nbsp;<b>if</b>&nbsp;(soap_call_ns1__getQuote(&amp;soap, <tt>"http://services.xmethods.net:80/soap"</tt>, <tt>""</tt>, myportfolio[i], quotes[i]) != SOAP_OK) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>break</b>; <br />
<b>if</b>&nbsp;(soap.error) // an error occurred <br />
&nbsp;&nbsp;&nbsp;soap_print_fault(&amp;soap, stderr); <br />
soap_end(&amp;soap); // clean up all deserialized data <br />
...
</td></tr></table><br></i>
This client composes an array of stock quotes by calling the <i>ns1__getQuote</i> proxy for each symbol in a portfolio array.
<p>This example demonstrated how easy it is to build a SOAP client with gSOAP once the details of a Web service are available 
in the form of a WSDL document.
<p>		      <h4><a name="tth_sEc5.1.2">5.1.2</a>&nbsp;&nbsp;<font color="#0000FF">Namespace Considerations</font></h4><a name="sec:namespace"></a>
<p>The declaration of the <i>ns1__getQuote</i> function prototype (discussed in the previous section) uses the namespace prefix
<i>ns1__</i> of the remote method namespace, which is distinghuished by a <b>pair of underscores</b> in the function name to
separate the namespace prefix from the remote method name.  The purpose of a namespace prefix is to associate a remote
method name with a service in order to prevent naming conflicts, e.g.&nbsp;to distinguish identical remote method names used
by different services.
<p>Note that the XML response of the XMethods Delayed Stock Quote service example uses the <b>namespace prefix</b> <tt>n</tt> which is
associated with the <b>namespace URI</b> <tt>urn:xmethods-delayed-quotes</tt> through the <tt>xmlns:n="urn:xmethods-delayed-quotes</tt>
binding.  The use of namespace prefixes and namespace URIs is also required to enable SOAP applications to validate the content of
a client's request and vice versa.  The namespace URI in the service response is verified by the stub routine by using the
information supplied in a <b>namespace mapping table</b> that is required to be part of the client program.  The table is accessed
at run time to resolve namespace bindings, both by the generated stub's data structure serializer for encoding the client request
and by the generated stub's data structure deserializer to decode and validate the service response. The namespace mapping table
should not be part of the header file input to the gSOAP stub and skeleton compiler.
<p>The namespace mapping table for the Delayed Stock Quote client is:
<br><br><table border=0 width="100%" cellpadding="8" bgcolor="#B0D0B0"><tr><td><i>
<b>struct</b>&nbsp;Namespace namespaces[] = <br />
{&nbsp;&nbsp;&nbsp;// {"ns-prefix", "ns-name"} <br />
&nbsp;&nbsp;&nbsp;{<font color="#FF0000">"SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/"</font>}, // MUST be first <br />
&nbsp;&nbsp;&nbsp;{<font color="#0000FF">"SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/"</font>}, // MUST be second <br />
&nbsp;&nbsp;&nbsp;{<font color="#FF00FF">"xsi",      "http://www.w3.org/2001/XMLSchema-instance"</font>}, // MUST be third <br />
&nbsp;&nbsp;&nbsp;{<font color="#00FFFF">"xsd",      "http://www.w3.org/2001/XMLSchema"</font>}, // 2001 XML schema <br />
&nbsp;&nbsp;&nbsp;{<font color="#00FF00">"ns1",      "urn:xmethods-delayed-quotes"</font>}, // given by the service description <br />
&nbsp;&nbsp;&nbsp;{NULL, NULL} // end of table <br />
};
</td></tr></table><br></i> 
The first four namespace entries in the table consist of the standard namespaces used by the SOAP 1.1 protocol. In fact, the
namespace mapping table is explicitly declared to enable a programmer to specify the SOAP encoding style and to allow the
inclusion of namespace-prefix with namespace-name bindings to comply to the namespace requirements of a specific SOAP service. For
example, the namespace prefix <tt>ns1</tt>, which is bound to <tt>urn:xmethods-delayed-quotes</tt> by the namespace mapping table shown
above, is used by the generated stub routine to encode the <i>getQuote</i> request. This is performed automatically by the gSOAP
compiler by using the <i>ns1</i> prefix of the <i>ns1__getQuote</i> method name specified in the <i>getQuote.h</i> header file. In
general, if a function name of a remote method, <i><b>struct</b></i> name, <i><b>class</b></i> name, <i><b>enum</b></i> name, or field name of a
<i><b>struct</b></i> or <i><b>class</b></i> has a pair of underscores, the name has a namespace prefix that must be defined in the namespace
mapping table.
<p>The namespace mapping table will be output as part of the SOAP Envelope by the stub routine. For example:
<br><br><table border=0 width="100%" cellpadding="8" bgcolor="#B0B0D0"><tr><td><tt>
... <br />
&lt;SOAP-ENV:Envelope xmlns:<font color="#FF0000">SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"</font> <br />
&nbsp;&nbsp;&nbsp;xmlns:<font color="#0000FF">SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"</font> <br />
&nbsp;&nbsp;&nbsp;xmlns:<font color="#FF00FF">xsi="http://www.w3.org/1999/XMLSchema-instance"</font> <br />
&nbsp;&nbsp;&nbsp;xmlns:<font color="#00FFFF">xsd="http://www.w3.org/1999/XMLSchema"</font> <br />
&nbsp;&nbsp;&nbsp;xmlns:<font color="#00FF00">ns1="urn:xmethods-delayed-quotes"</font> <br />
&nbsp;&nbsp;&nbsp;SOAP-ENV:encodingStyle=<font color="#0000FF">"http://schemas.xmlsoap.org/soap/encoding/"</font>&#62; <br />
...
</td></tr></table><br></tt>
The namespace bindings will be used by a SOAP service to validate the SOAP request.
<p>		      <h4><a name="tth_sEc5.1.3">5.1.3</a>&nbsp;&nbsp;<font color="#0000FF">Example</font></h4><a name="sec:example2"></a>
<p>The incorporation of namespace prefixes into C++ identifier names is necessary to distinguish remote methods that
share the same name but are implemented in different Web services. Consider for example:
<br><br><table border=0 width="100%" cellpadding="8" bgcolor="#B0D0B0"><tr><td><i>
// Contents of file "getQuote.h": <br />

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内一区二区视频| 欧美日韩一级二级三级| 久久精品噜噜噜成人av农村| 亚洲啪啪综合av一区二区三区| 久久尤物电影视频在线观看| 欧美一级艳片视频免费观看| 欧美一区中文字幕| 日韩欧美国产综合一区 | 精品国产乱码久久久久久免费| 69堂亚洲精品首页| 欧美激情在线一区二区| 亚洲一区在线视频| 国产一区二区三区精品欧美日韩一区二区三区 | 一二三四区精品视频| 亚洲一区二区中文在线| 国产永久精品大片wwwapp| 国产精品一二三在| 精品一区二区三区视频在线观看| 久久电影网电视剧免费观看| 精品系列免费在线观看| 一本久久精品一区二区| 日韩女优毛片在线| 一区二区三区在线免费播放| 亚洲一区国产视频| 高清成人在线观看| 日韩欧美一级精品久久| 有坂深雪av一区二区精品| 国产精品99久久久| 久久久天堂av| 狠狠网亚洲精品| 欧美一区二区视频在线观看2022| 亚洲精品一二三区| www.激情成人| 国产精品欧美久久久久一区二区| 韩国一区二区三区| 欧美mv日韩mv| 亚洲mv在线观看| 亚洲成人动漫在线免费观看| 成人av动漫网站| 久久久久国产精品厨房| 精品一区二区在线视频| 日韩视频在线观看一区二区| 亚洲高清免费在线| 欧美久久一二区| 免费成人小视频| 91豆麻精品91久久久久久| 亚洲人成网站在线| 精品视频在线免费观看| 日本伊人色综合网| 欧美激情在线一区二区三区| 亚洲色欲色欲www| av中文字幕在线不卡| 亚洲欧洲国产专区| 成人性视频免费网站| 亚洲欧洲99久久| 欧美无人高清视频在线观看| 午夜欧美2019年伦理| 91麻豆精品国产自产在线| 久久丁香综合五月国产三级网站| 国产欧美精品一区| 一本色道亚洲精品aⅴ| 亚洲国产一区二区在线播放| 91在线一区二区三区| 亚洲精品福利视频网站| 亚洲精品中文在线| 欧美成人三级在线| 在线观看欧美日本| 国产精品一区免费视频| 日韩激情在线观看| 亚洲欧洲三级电影| 久久久亚洲国产美女国产盗摄| 欧美日韩中文字幕一区| 中文字幕在线不卡一区| 欧美丰满美乳xxx高潮www| 成人小视频免费观看| 麻豆国产精品官网| 日韩精品视频网| 国产精品第一页第二页第三页| 欧美唯美清纯偷拍| 欧美日韩一区在线观看| 欧美日韩国产bt| 欧美精品三级日韩久久| 日韩欧美一级片| 久久久久久久久久久久久女国产乱 | av成人动漫在线观看| 成人午夜电影网站| 91麻豆免费观看| 欧美日韩一级片在线观看| 欧美丰满高潮xxxx喷水动漫| 日韩一区二区在线看| 久久久.com| 中文字幕一区av| 三级影片在线观看欧美日韩一区二区 | 亚洲精品视频免费看| 日韩在线a电影| 欧美日本韩国一区二区三区视频| 日韩一级高清毛片| 综合欧美亚洲日本| 久久精品免费观看| 99久久精品免费| 欧美日韩精品欧美日韩精品一 | 久久精品免费观看| 东方欧美亚洲色图在线| 在线观看成人小视频| 久久欧美中文字幕| 亚洲综合激情网| 国产91精品一区二区麻豆亚洲| 日本乱人伦aⅴ精品| 精品国产欧美一区二区| 天天操天天干天天综合网| 视频一区视频二区中文| av在线一区二区| 国产午夜精品美女毛片视频| 蜜桃视频一区二区三区在线观看| 91精彩视频在线| 亚洲另类在线制服丝袜| 欧美裸体一区二区三区| 亚洲欧美成人一区二区三区| 成人一区二区三区视频| 国产人久久人人人人爽| 国产乱码精品一区二区三区忘忧草| 欧美老年两性高潮| 91免费看片在线观看| 久久久久久久网| 国产成a人无v码亚洲福利| 日韩一区二区在线看| 免费看欧美女人艹b| 日韩亚洲电影在线| 国产综合久久久久影院| 国产精品理论片| 欧美亚洲动漫另类| 91在线播放网址| 日本成人在线一区| 久久九九影视网| 91网址在线看| 久久美女艺术照精彩视频福利播放| 欧美主播一区二区三区| 亚洲免费观看高清完整版在线观看熊| 成人黄色片在线观看| 一区二区三区欧美日韩| 欧美一区二区三区免费| 国产精品免费久久| 色婷婷av一区二区三区软件| 日韩电影在线看| 欧美国产亚洲另类动漫| 欧美在线制服丝袜| 国产一区999| 五月天久久比比资源色| 欧美国产97人人爽人人喊| 欧美日韩亚洲国产综合| 国产永久精品大片wwwapp| 亚洲高清视频中文字幕| 欧美国产日韩精品免费观看| 91精品国产麻豆| 岛国av在线一区| 久久精品国产成人一区二区三区| 国产精品久线在线观看| 欧美成人官网二区| 91久久香蕉国产日韩欧美9色| 美日韩黄色大片| 一色桃子久久精品亚洲| 久久免费精品国产久精品久久久久| 成人福利视频在线| 91玉足脚交白嫩脚丫在线播放| 99re这里都是精品| 亚洲欧美日韩小说| 国产精品不卡在线观看| 亚洲国产精品二十页| 久久精品在这里| 26uuuu精品一区二区| 欧美猛男男办公室激情| 欧美日韩一区成人| 911精品国产一区二区在线| 欧洲在线/亚洲| 欧美性猛交一区二区三区精品| 91小宝寻花一区二区三区| 91麻豆福利精品推荐| 在线观看欧美精品| 欧美日韩免费一区二区三区视频| 欧美网站一区二区| 日韩三级伦理片妻子的秘密按摩| 久久久亚洲综合| 一区二区三区美女| 日本va欧美va精品发布| 久久se精品一区精品二区| 天天av天天翘天天综合网色鬼国产 | 亚洲天堂中文字幕| 爽爽淫人综合网网站| 韩国精品久久久| 欧洲激情一区二区| 国产欧美一区二区精品秋霞影院| 一区二区三区鲁丝不卡| 精品在线观看视频| 色狠狠桃花综合| 精品国产乱码久久久久久老虎| 一区免费观看视频| 老司机午夜精品| 欧美日韩视频在线一区二区| 国产视频911| 激情综合色综合久久|