⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chapter32.htm

📁 这是一个学写JAVA的好东西
💻 HTM
📖 第 1 页 / 共 2 页
字号:
A.black:hover {	COLOR: #000000; TEXT-DECORATION: underline}.navigater {	FONT-SIZE: 12px; COLOR: #333333; LINE-HEIGHT: 19px; TEXT-DECORATION: none}A.navigater:hover {	COLOR: #cc0000}.g1 {	FONT-SIZE: 14px}.g2 {	PADDING-LEFT: 21px; PADDING-TOP: 5px}.g3 {	FONT-WEIGHT: bold; COLOR: #ab6503}.g4 {	COLOR: #ff0000}.img {	BORDER-RIGHT: #800000 1px solid; BORDER-TOP: #800000 1px solid; BORDER-LEFT: #800000 1px solid; BORDER-BOTTOM: #800000 1px solid}.img1 {	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid}.f14 {	FONT-SIZE: 14px; LINE-HEIGHT: 26px}.f20 {	FONT-WEIGHT: bold; FONT-SIZE: 20px}.top_red {	COLOR: #d70709; TEXT-DECORATION: none}.center01 {	COLOR: #000000; LINE-HEIGHT: 20px}.center01 TD {	COLOR: #000000; LINE-HEIGHT: 20px}.center01 A:link {	COLOR: #000000; TEXT-DECORATION: none}.center01 A:visited {	COLOR: #000000; TEXT-DECORATION: none}.center01 A:hover {	COLOR: #2b7128; TEXT-DECORATION: underline}.center02 {	COLOR: #194e00; LINE-HEIGHT: 20px}.center02 TD {	COLOR: #194e00; LINE-HEIGHT: 20px}.center02 A:link {	COLOR: #194e00; TEXT-DECORATION: none}.center02 A:visited {	COLOR: #194e00; TEXT-DECORATION: none}.center02 A:hover {	COLOR: #194e00; TEXT-DECORATION: underline}--></style><TABLE width=760 border=0 align=center cellPadding=0 cellSpacing=0 bgcolor="#F3F3F3" valign="top">	<tr class="center01"> 		<td width="488" style="padding-left:10px;padding-top:10px">			<a href="index.php">连载</a>       &gt; <a href="slist.php?class1=6">程序设计</a>      &gt; <a href="slist.php?class2=7">Java</a>      &gt; <a href="serialize.php?id=387">Java网络编程专辑</a>		</td>		<td width="280" style="padding-left:10px;padding-top:10px">			<div align="center">			<font color=#0000FF><a href='chapter.php?id=387&volume=2&chapter=18'>上一页</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;			<font color=#0000FF><a href="serialize.php?id=387">回书目</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;			<font color=#0000FF><a href='chapter.php?id=387&volume=3&chapter=1'>下一页</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;			</div>		</td>	</tr>	<tr class="center01">		<td colspan="2" align="center" style="padding-left:10px;padding-top:10px">&nbsp;</td>	</tr>	<TBODY>	<TR> 		<TD colspan="2" align=middle>			<BR>			<div style="FONT-SIZE: 18pt; COLOR: #990000; FONT-FAMILY: 楷体_GB2312" align=center><B>网络协议</b></div><br><div style="COLOR: #990000; font-family: ; font-size: 18px;宋体;" align=center>SOAP协议初级指南(8)</div>			<DIV style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10.5pt; COLOR: black; LINE-HEIGHT: 180%" align=left>                         <br>&nbsp;&nbsp;&nbsp;&nbsp;<P><STRONG>错误处理</STRONG><BR><BR>  一个服务器有时将不能正确地为一个方法请求提供服务。这可能是由于一般的HTTP错误造成的(如请求-URI不能被映射到本地的资源或一个HTTP级的安全违反)。也可能是在SOAP翻译软件中的问题,如马歇尔打包错误或一个必须的头不能被认出。其它可能的原因包括一个请求不能正确地被服务,或者应用/对象代码决定要返回一个应用级的错误给调用者。这些情况在SOAP规范中都被清楚地加以处理。<BR><BR>  如果在分发对任何SOAP代码的调用之前一个错误发生在HTTP层,一个纯HTTP响应必须被返回。标准的HTTP状态代码编号将被采用,400级的代码表示一个客户引发的错误,500级的代码表示服务器引发的错误。这通常在代码执行前由Web服务器软件自动处理。<BR><BR>  假设在HTTP层一切正常,错误发生的下一个地方是在那些翻译和分发对应用代码(如COM对象和CORBA伺服对象)的SOAP调用。如果错误发生在这一层,服务器必须返回一个错误消息来代替一个标准的响应消息。一个错误消息是下列被编码为soap:Body的根元素的类型的实例。<BR><BR><schema <BR>targetNamespace=‘urn:schemas-xmlsoap-org:soap.v1‘ <BR>> <BR><element name=‘Fault‘> <BR><type> <BR><element name=‘faultcode‘ type=‘string‘ /> <BR><element name=‘faultstring‘ type=‘string‘ /> <BR><element name=‘runcode‘ type=‘string‘ /> <BR><element name=‘detail‘ /> <BR></type> <BR></element> <BR> <BR></schema><BR> <BR>  faultcode存取元素必须包含一个用已知的整数表示的SOAP错误代码或者一个专门应用的名域限制的值。当前的SOAP 错误代码如图12所示。Faultstring存取元素包含对发生的错误的可读性的描述。runcode 存取元素包含一个字符串,它的值必须是Yes, No或 Maybe,表明被请求的操作实际上是否在错误产生之前被执行。Detail存取元素是可选的,用于包含一个专门应用的异常对象。<BR><BR>  下面是一个对应于一个包含无法识别的必须的头元素的请求的SOAP错误的例子:<BR><BR><soap:Envelope <BR>xmlns:soap=‘urn:schemas-xmlsoap-org:soap.v1‘ <BR>> <BR><soap:Body> <BR><soap:Fault> ;<BR><faultcode>200</faultcode> <BR><faultstring> <BR>Unrecognized ‘causality‘ header <BR></faultstring> <BR><runcode>No</runcode> <BR></soap:Fault> <BR></soap:Body> <BR></soap:Envelope> <BR><BR>  假设具体应用的错误需要被返回,你可能看到如图13所示的代码。在应用定义的错误的情况下,考虑应用的异常/错误对象时detail存取元素起到了soap:Body 元素的作用。<BR><BR>  <STRONG>奥秘<BR></STRONG><BR>  一个遗留的HTTP问题还需要进一步阐明。SOAP支持(但不需要)HTTP扩展框架约定来指定必须的HTTP头扩展。这些约定主要有两个目的。首先,它们允许任意的URI被用于限定给定的HTTP头的范围(象XML名域一样)。第二,这些约定允许把必须的头与可选的头区分开来(象soap:mustUnderstand)。下面是一个使用HTTP扩展框架来把SOAPMethodName头定义成为一个必须的头扩展:<BR><BR>M-POST /foobar HTTP/1.1 <BR>Host: 209.110.197.2 <BR>Man: "urn:schemas-xmlsoap-org:soap.v1; ns=42" <BR>42-SOAPMethodName: urn:bobnsid:IFoo#DoIt <BR><BR>  Man头映射SOAP URI到前缀为42的头,并表示没有认出SOAP的服务器必须返回一个HTTP错误,状态代码为501 (没有被实现) 或 510 (没有被扩展)。HTTP方法必须是M-POST,表明目前是必须的头扩展。<BR><BR>  <STRONG>结论</STRONG><BR><BR>  SOAP是一个被类型化的序列化格式,它恰巧用HTTP 作为请求/响应消息传输协议。SOAP被设计为与正将出现的XML Schema规范密切配合,并支持在Internet的任何地方运行的COM, CORBA, Perl, Tcl, 和 Java-language, C, Python, 或 PHP 等程序间的互操作性。<BR><BR>  希望本文给了你一个对这个协议具体细节的更清晰的理解。我鼓励你用SOAP进行实验,或者试着使用SOAP使能的系统之一(列在http://www.develop.com/soap/),或者自己做一些工作。我本人发现采用脚本语言(Jscript),使一个基本的SOAP客户与服务器建立并运行只花费了不到一个小时。针对你对HTTP和XML的熟悉程度,以及你的目标平台的成熟度,你所花费的时间会有所不同。</P><br><br>          </DIV>		</TD>	</TR>	<TR> 		<TD class=center01>			<div align="center">来源:天极网 作者:<div>		</TD>		<TD width="280" class=center01>			<div align="center">			<font color=#0000FF><a href='chapter.php?id=387&volume=2&chapter=18'>上一页</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;			<font color=#0000FF><a href="serialize.php?id=387">回书目</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;			<font color=#0000FF><a href='chapter.php?id=387&volume=3&chapter=1'>下一页</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;			</div>		</TD>	</TR>	</TBODY></TABLE><table><tr><td width="760"> <table width="760" height="10" border="0" cellpadding="0" cellspacing="0">                        <tr>                                <td></td>                        </tr>                </table>                <!------------ 评论 ---------------->                <table width="760" border="0" cellpadding="0" cellspacing="0">                        <tr>                                <td><iframe width="100%" id=vs frameborder=0 scrolling=no src="comment_list1.php?id=387"></iframe>                                </td>                        </tr>                </table><br><script language=javascript>function CheckNetwordForm(theForm){        if("" == theForm.content.value)        {                alert("写两句吧~~");                theForm.content.focus();                return false;        }        var index;        for(index=0;index<theForm.content.value.length;index++)        {                if(" " != theForm.content.value.charAt(index))                        break;        }        if(index == theForm.content.value.length) {                alert("写两句吧~~");                theForm.content.focus();                return false;        }        if (theForm.content.value.length>100){                alert("评论字数不能超过100哦");                theForm.content.focus();                return false;        }        return true;}</script>                <!------------------ 评论 --------------->                <form name=netword method=post action="insertnetword.php" onsubmit="javascript: return CheckNetwordForm(this);">                <table width="760" border="0" cellpadding="0" cellspacing="0">                        <tr>                                <td height="25" class="text6">&nbsp;给此书打分:<a name="1"></a>                                        <select name="score">                                                <option value=5 selected>非常好</option>                                                <option value=4>还凑合</option>                                                <option value=3>一般吧</option>                                                <option value=2>不太行</option>                                                <option value=1>太差了</option>                                        </select> &nbsp; 用户名:                                        <input name="id" value=387 type="hidden" id="id">                                        <input name="backurl" value=/book/chapter.php?id=387&volume=2&chapter=19 type="hidden">                                        <input name="username" type="text" id="username" size="20" maxlength="20">                                        <font color="#666666">*评论字数请控制在一百字以内</font> </td>                        </tr>                </table>                <br>&nbsp;<textarea name="content" cols="80" rows="4" wrap="OFF" id="description"></textarea>                <input type="submit" name="Submit" value="提交">                </form>        </td> </tr></table></td></tr></table> <TABLE cellSpacing=0 cellPadding=0 width=760 border=0>  <TBODY>    <TR>       <TD width="1003" height=9 background=images/t_bj01.gif><IMG height=1     src="images/ccc.gif" width=1></TD>    </TR>  </TBODY></TABLE><TABLE cellSpacing=0 cellPadding=0 width=760 bgColor=#ffffff border=0>  <TBODY>    <TR>       <TD><HR width=760 noShade SIZE=1> </TD>    </TR>    <TR>       <TD align=middle><A class=black href="http://www.chinaren.com/"     target=_blank>ChinaRen</A> - <A class=black     href="http://big5.www.sohu.com/" target=_blank>繁体版</A> - <A class=black     href="http://hr.sohu.com/hrm.html" target=_blank>搜狐招聘</A> - <A class=black     href="http://add.sohu.com/" target=_blank>网站登录</A> - <A class=black     href="http://help.sohu.com/" target=_blank>帮助中心</A> - <A class=black     href="http://book.news.sohu.com/onClick=this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.sohu.com');return"     target=_blank false;>设置首页</A> - <A class=black     href="http://adinfo.sohu.com/" target=_blank>广告服务</A> - <A class=black     href="http://www.sohu.com/about/lianxi.htm" target=_blank>联系方式</A> - <A     class=black href="http://www.sohu.com/about/privacy.html"     target=_blank>保护隐私权</A> - <A class=black href="http://www.sohu.com/about/"     target=_blank>About SOHU</A> - <A class=black     href="http://www.sohu.com/about/" target=_blank>公司介绍</A><BR> <SPAN     class=eng>Copyright &copy; 2004 Sohu.com Inc. All rights reserved. 搜狐公司         版权所有</SPAN> </TD>    </TR>  </TBODY></TABLE></center></body></html><script language="JavaScript" src="http://nielsen.js.sohu.com/nnselect.js"></script><noscript><img src='http://ping.nnselect.com/ping.gif?c=119' height='1' width='1'></noscript>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -