锘??xml version="1.0" encoding="utf-8" standalone="yes"?> WS-Addressing moves the destination URL of the message into the message to enable routing and scenarios where messages are delivered over multiple protocols. Before WS-Addressing the URL of the destination was only available in the protocol part of the message. Is you were sending a SOAP message over HTTP, the URL was stored in the HTTP part of the message. You had no access to the URL from within your SOAP processor – unless your Web server vendor chose to give you access to the HTTP headers. Now with WS-Addressing built into WSE, the Web service platform can actually determine if a message was indeed intended for the service that received it because WSE adds the <to> element to the header of the SOAP message: <wsa:To xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"> http://MyServer/MyService/Service.asmx</wsa:To> WSE is actually being smart about the header and rejects messages where the destination in the <wsa:To> header and the URL in the HTTP header do not match. One unfortunate consequence of this behavior is that you cannot use transparent tracing tools like tcpTrace and MSSoapT for message debugging. These tools act like an intermediary receiver and they do cause the URLs in the <To> header and in the HTTP header to not match. 涓轟簡璁?/span>SOA鐨勫簲鐢ㄨ兘澶熸洿鍔犵殑鎴愮啛錛屼竴浜涙爣鍑嗗寲緇勭粐(涓昏鏈?/span>W
鍦╰omcat瀹瑰櫒涓嬭嚜鍒涘緩鐨剋eb搴旂敤涓篃鍚姩axis鏈嶅姟錛屾兂瑕佹坊鍔燬OAPMonitor鐨勬柟娉曟槸錛?br />
1銆佺紪璇?br />
灝哸xis鏍圭洰褰曚笅鐨凷OAPMonitorApplet.java鏂囦歡澶嶅埗鍒皐eb搴旂敤鐨勬牴鐩綍涓嬶紝緙栬瘧姝ゆ枃浠跺悓鏃跺皢鐢熸垚鐨勭被鏂囦歡澶嶅埗鍒板簲鐢ㄦ牴鐩綍涓嬬殑WEB-INF鐩綍涓嬨?br />
2銆佷慨鏀箇eb.xml鏂囦歡
淇敼WEB-INF鐩綍涓嬬殑web.xml鏂囦歡錛屾坊鍔犱袱涓厓绱?lt;servlet>鍜?lt;servlet-mapping>錛屽叿浣撳唴瀹瑰涓嬶細
<servlet>
<servlet-name>SOAPMonitorService</servlet-name>
<display-name>SOAPMonitorService</display-name>
<servlet-class>
org.apache.axis.monitor.SOAPMonitorService
</servlet-class>
<init-param>
<param-name>SOAPMonitorPort</param-name>
<param-value>5005</param-value>
</init-param>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SOAPMonitorService</servlet-name>
<url-pattern>/SOAPMonitor</url-pattern>
</servlet-mapping>
3銆佷慨鏀箂erver-config.wsdd鏂囦歡
閰嶇疆鏂囦歡涓坊鍔爏oapmonitor鐨勯厤緗俊鎭錛?br />
<handler name="soapmonitor" type="java:org.apache.axis.handlers.SOAPMonitorHandler">
<service name="SOAPMonitorService" provider="java:RPC">
<parameter name="allowedMethods" value="publishMessage"/>
<parameter name="scope" value="Application"/>
<parameter name="className" value="org.apache.axis.monitor.SOAPMonitorService"/>
</service>
瀵逛簬闇瑕佽soapmonitor鐩戞帶鐨剋eb鏈嶅姟錛屽湪鍏舵湇鍔¤緗腑娣誨姞淇℃伅濡備笅
<service name="TestAdding" provider="java:RPC">
<parameter name="allowedMethods" value="getAdd"/>
<parameter name="className" value="test.TestAdding"/>
<requestFlow>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow>
<handler type="soapmonitor"/>
</responseFlow>
</service>
4銆佽繍琛屾祴璇?br />
http://localhost:8080/TestAdding/SOAPMonitor
鍛靛懙錛屽ソ涓嶅鏄撴姌鑵懼ソ浜嗭紝鐪嬫潵鍘熸潵鐨勬兂娉曡繕鏄鐨勶紝鍙笉榪囧湪閰嶇疆鏂囦歡鏃跺嚭浜嗛棶棰樸?/font>
]]>
涓轟簡浣跨敤Soap Toolkit 3.0錛屾垜浠湪WS client绔緭鍏ョ殑鐩爣鍦板潃涓猴細http://localhost:8080/WSEWebService/Service.asmx銆?br />
Soap Toolkit 3.0璁劇疆涓猴細
Listen
Local port:8080
Forward to
Destination:localhost
Destination:80
涔嬫墍浠ヨ繖鏍瘋緗紝鍥犱負鍦↖IS閲岃緗殑鏈満Web Services涓猴細http://localhost:80/WSEWebService/Service.asmx銆係oap Toolkit 鍦?080绔彛鐩戝惉鏉ヨ嚜client绔殑娑堟伅錛屽茍灝嗘秷鎭掍氦鍒癐IS鐩戝惉鐨?0绔彛銆?br />
鍙綋寮鍚痗lient绔痺se鍔熻兘鏃訛紝鎶涘嚭濡備笅寮傚父錛?
鏌ョ湅 Soap Toolkit 鐩戝惉鍒扮殑SOAP娑堟伅鍙互鍙戠幇錛孯equest娑堟伅鐨凷oapHeader涓? 鐩爣鍦板潃浠嶇劧涓?span class="m"><wsa:To>http://localhost:8080/WSEWebService/Service.asmx</wsa:To> 錛岃屼笉鏄?span class="m"><wsa:To>http://localhost:80/WSEWebService/Service.asmx</wsa:To>.鍥犳錛宒estination涓嶅彲杈撅紝鎶涘嚭濡備笂寮傚父銆?br />
鍦ㄧ綉涓婃煡浜嗚祫鏂欏彂鐜幫細
“
涓嶈繃錛屽ソ鐨勬秷鎭槸錛學SE浠?.0寮濮嬪氨鎻愪緵浜嗗彲浠ヨ拷韙埌SOAP娑堟伅鐨勮瘖鏂伐鍏楓?br />
鍕鵑塃nable Message Trace錛屽湪璋冭瘯榪囩▼涓紝灝嗙敓鎴怚nputTrace.webinfo鍜孫utputTrace.webinfo鏂囦歡錛岄噷闈㈣褰曚簡鎴戜滑鎯寵鐨勪俊鎭紝鍒版錛屼笉闇瑕佸熷姪鍏朵粬Trace宸ュ叿渚垮彲榪借釜鍒癝oap娑堟伅銆?br />
]]>
Destination port:80
Soap Toolkit鏄鎴風鍜屾湇鍔″櫒涓殑涓搴фˉ錛宭ocal port鏄疭oap Toolkit鐨勭洃鍚鍙o紙鎵浠?0绔彛涓鑸笉鑳戒嬌鐢紝闄ら潪鐗規畩璁懼畾錛夛紝鍑℃槸緇忚繃local port鐨勮姹傞兘浼氳鎴笅鏉ワ紝鐒跺悗鐢盨oap Toolkit杞彂鍒癉estination host錛欴estination port鍘匯?br />
鎵浠ワ紝Web Services Client瑕佸皢绔彛鎸囧畾鍒癟race Utility鐨刲ocal port(浠繪剰璁懼畾涓涓鍙?錛孴race Utility鐨凞estination port鎸囧畾鍒癢ebService鐨勭鍙c傝繖鏍鳳紝灝卞彲浠ユ埅鑾稴oap娑堟伅浜嗐?
]]>
鐞嗚綃?br />
WS-Addressing 闂鐨勫紩鍑?br />
WS-Addressing EndpointReference
WS-Addressing Message Addressing Properties
瀹炶返綃?/strong>
Applied WSE 3.0 to Web Service Project
Use Web Service Thought Message --- SoapClient
閴翠簬SOA鐨勬蹇靛茍娌℃湁涓哄ぇ瀹舵墍騫挎硾鐞嗚В錛屽湪閫傚綋鐨勬椂鍊欐湁蹇呰鍐欎竴涓?span style="color: #333399;">SOA涔卞脊銆?/span>
涓嶈繃鍏堣浣犺浣忎互涓嬪嚑鍙ヨ瘽錛?br />
SOA is an integration solution.
SOA is message oriented first.
The Key character of SOA is loosely coupled.
SOA is enriched by creating composite apps.
鐩稿叧璧勬簮錛?br />
Web Services鐨勮璁′笌妯″紡
Web Services Security緋誨垪
鍙傝冭祫鏂欙細WS-Addressing Specification
]]>
WSDL鏄竴涓敤浜庣簿紜弿榪癢eb鏈嶅姟鐨勬枃妗o紝WSDL鏂囨。鏄竴涓伒寰猈SDL XML妯″紡鐨刋ML鏂囨。銆俉SDL 鏂囨。灝哤eb鏈嶅姟瀹氫箟涓烘湇鍔¤闂偣鎴栫鍙g殑闆嗗悎銆傚湪 WSDL 涓紝鐢變簬鏈嶅姟璁塊棶鐐瑰拰娑堟伅鐨勬娊璞″畾涔夊凡浠庡叿浣撶殑鏈嶅姟閮ㄧ講鎴栨暟鎹牸寮忕粦瀹氫腑鍒嗙鍑烘潵錛屽洜姝ゅ彲浠ュ鎶借薄瀹氫箟榪涜鍐嶆浣跨敤錛氭秷鎭紝鎸囧浜ゆ崲鏁版嵁鐨勬娊璞℃弿榪幫紱鑰岀 鍙g被鍨嬶紝鎸囨搷浣滅殑鎶借薄闆嗗悎銆傜敤浜庣壒瀹氱鍙g被鍨嬬殑鍏蜂綋鍗忚鍜屾暟鎹牸寮忚鑼冩瀯鎴愪簡鍙互鍐嶆浣跨敤鐨勭粦瀹氥傚皢Web璁塊棶鍦板潃涓庡彲鍐嶆浣跨敤鐨勭粦瀹氱浉鍏寵仈錛屽彲浠ュ畾涔変竴 涓鍙o紝鑰岀鍙g殑闆嗗悎鍒欏畾涔変負鏈嶅姟銆?/p>
涓涓猈SDL鏂囨。閫氬父鍖呭惈7涓噸瑕佺殑鍏冪礌錛屽嵆types銆乮mport銆乵essage銆乸ortType銆乷peration銆乥inding銆? service鍏冪礌銆傝繖浜涘厓绱犲祵濂楀湪definitions鍏冪礌涓紝definitions鏄疻SDL鏂囨。鐨勬牴鍏冪礌銆傛枃绔犵殑涓嬩竴閮ㄥ垎灝嗕細璇︾粏浠嬬粛WSDL 鐨勫熀鏈粨鏋勩?/p>
浜岋細WSDL鐨勫熀鏈粨鏋?-姒傝堪
濡傜涓閮ㄥ垎鏈鍚庢弿榪扮殑閭f牱錛屼竴涓熀鏈殑WSDL鏂囨。鍖呭惈7涓噸瑕佺殑鍏冪礌銆備笅闈㈠皢鍒嗗埆浠嬬粛榪欏嚑涓厓绱犱互鍙婁粬浠殑浣滅敤銆?/p>
WSDL 鏂囨。鍦╓eb鏈嶅姟鐨勫畾涔変腑浣跨敤涓嬪垪鍏冪礌錛?/p>
鍙互鍙傝冧笅鍥炬潵鐞嗚В涓涓媁SDL鐨勬枃妗g粨鏋勫浘錛?img alt="WSDL鏂囨。鍏冪礌鐨勭粨鏋勫浘" src="http://p.blog.csdn.net/images/p_blog_csdn_net/juxtapose/wsdl-01.gif" />
WSDL鐨剎ml schema鍙互鍙傜収濡備笅緗戝潃錛?a target="_blank">http://schemas.xmlsoap.org/wsdl/
涓夛細WSDL鐨勫熀鏈粨鏋?-璇﹁堪
鏈妭灝嗛氳繃涓涓緥瀛愯緇嗘弿榪癢SDL鏂囨。姣忎釜鍏冪礌鐨勪綔鐢ㄣ備笅闈竴涓緥瀛愭槸涓涓畝鍗曠殑WSDL鏂囨。鐨勫唴瀹癸紝璇ユ枃妗g殑浜х敓鍙互鍙傝鎴戠殑鍙﹀涓綃囨枃绔狅細xfire寮鍙戝疄渚?-HelloWorld綃?/a> 銆?/p>
涓涓畝鍗曠殑Web Service鐨刉SDL鏂囨。錛岃鏈嶅姟鏀寔鍚嶄負sayHello鐨勫敮涓鎿嶄綔錛岃鎿嶄綔閫氳繃鍦╤ttp涓婅繍琛?a target="_blank" >SOA
♦ types鍏冪礌浣跨敤XML妯″紡璇█澹版槑鍦╓SDL鏂囨。涓殑鍏朵粬浣嶇疆浣跨敤鐨勫鏉傛暟鎹被鍨嬩笌鍏冪礌錛?/p>
♦ import鍏冪礌綾諱技浜嶺ML妯″紡鏂囨。涓殑import鍏冪礌錛岀敤浜庝粠鍏朵粬WSDL鏂囨。涓鍏SDL瀹氫箟錛?/p>
♦ message鍏冪礌浣跨敤鍦╓SDL鏂囨。鐨則ype鍏冪礌涓畾涔夋垨鍦╥mport鍏冪礌寮曠敤鐨勫閮╓SDL鏂囨。涓畾涔夌殑XML妯″紡鐨勫唴緗被鍨嬨佸鏉傜被鍨嬫垨鍏冪礌鎻忚堪浜嗘秷鎭殑鏈夋晥璐熻澆錛?/p>
♦ portType鍏冪礌鍜宱peration鍏冪礌鎻忚堪浜哤eb鏈嶅姟鐨勬帴鍙e茍瀹氫箟浜嗕粬鐨勬柟娉曘俻ortType鍏冪礌鍜宱peration鍏冪礌綾諱技浜? java鎺ュ彛鍜屾帴鍙d腑瀹氫箟鐨勬柟娉曞0鏄庛俹peration鍏冪礌浣跨敤涓涓垨鑰呭涓猰essage綾誨瀷鏉ュ畾涔変粬鐨勮緭鍏ュ拰杈撳嚭鐨勬湁鏁堣礋杞斤紱
♦ Binding鍏冪礌灝唒ortType鍏冪礌鍜宱peration鍏冪礌璧嬬粰涓涓壒孌婄殑鍗忚鍜岀紪鐮佹牱寮忥紱
♦ service鍏冪礌璐熻矗灝咺nternet鍦板潃璧嬬粰涓涓叿浣撶殑緇戝畾錛?/p>
1銆乨efinitions鍏冪礌
鎵鏈夌殑WSDL鏂囨。鐨勬牴鍏冪礌鍧囨槸definitions鍏冪礌銆傝鍏冪礌灝佽浜嗘暣涓枃妗o紝鍚屾椂閫氳繃鍏秐ame鎻愪緵浜嗕竴涓猈SDL鏂囨。銆傞櫎浜嗘彁渚涗竴涓懡鍚嶇┖闂村錛岃鍏冪礌娌℃湁鍏朵粬浣滅敤錛屾晠涓嶄綔璇︾粏鎻忚堪銆?/p>
涓嬮潰鐨勪唬鐮佹槸涓涓猟efinitions鍏冪礌鐨勭粨鏋勶細
2銆乼ypes鍏冪礌
WSDL閲囩敤浜哤3C XML妯″紡鍐呯疆綾誨瀷浣滀負鍏跺熀鏈被鍨嬬郴緇熴倀ypes鍏冪礌鐢ㄤ綔涓涓鍣紝鐢ㄤ簬瀹氫箟XML妯″紡鍐呯疆綾誨瀷涓病鏈夋弿榪扮殑鍚勭鏁版嵁綾誨瀷銆傚綋澹版槑娑堟伅閮ㄥ垎鐨勬湁鏁堣礋杞? 鏃訛紝娑堟伅瀹氫箟浣跨敤浜嗗湪types鍏冪礌涓畾涔夌殑鏁版嵁綾誨瀷鍜屽厓绱犮傚湪鏈枃鐨刉SDL鏂囨。涓殑types瀹氫箟錛?/p>
涓婇潰鏄暟鎹畾涔夐儴鍒嗭紝璇ラ儴鍒嗗畾涔変簡涓や釜鍏冪礌錛屼竴涓槸sayHello錛屼竴涓槸sayHelloResponse錛?/p>
sayHello錛氬畾涔変簡涓涓鏉傜被鍨嬶紝浠呬粎鍖呭惈涓涓畝鍗曠殑瀛楃涓詫紝灝嗘潵鐢ㄦ潵鎻忚堪鎿嶄綔鐨勫弬鍏ヤ紶鍏ラ儴鍒嗭紱
sayHelloResponse錛氬畾涔変簡涓涓鏉傜被鍨嬶紝浠呬粎鍖呭惈涓涓畝鍗曠殑瀛楃涓詫紝灝嗘潵鐢ㄦ潵鎻忚堪鎿嶄綔鐨勮繑鍥炲鹼紱
3銆乮mport鍏冪礌
import鍏冪礌浣垮緱鍙互鍦ㄥ綋鍓嶇殑WSDL鏂囨。涓嬌鐢ㄥ叾浠朩SDL鏂囨。涓寚瀹氱殑鍛藉悕絀洪棿涓殑瀹氫箟鍏冪礌銆傛湰渚嬪瓙涓病鏈変嬌鐢╥mport鍏冪礌銆傞氬父鍦ㄧ敤鎴峰笇鏈涙ā鍧楀寲WSDL鏂囨。鐨勬椂鍊欙紝璇ュ姛鑳芥槸闈炲父鏈夋晥鏋滅殑銆?/p>
import鐨勬牸寮忓涓嬶細
蹇呴』鏈塶amespace灞炴у拰location灞炴э細
namespace灞炴э細鍊煎繀欏諱笌姝e鍏ョ殑WSDL鏂囨。涓0鏄庣殑targetNamespace鐩稿尮閰嶏紱
location灞炴э細蹇呴』鎸囧悜涓涓疄闄呯殑WSDL鏂囨。錛屽茍涓旇鏂囨。涓嶈兘涓虹┖銆?/p>
4銆乵essage鍏冪礌
message鍏冪礌鎻忚堪浜哤eb鏈嶅姟浣跨敤娑堟伅鐨勬湁鏁堣礋杞姐俶essage鍏冪礌鍙互鎻忚堪杈撳嚭鎴栬呮帴鍙楁秷鎭殑鏈夋晥璐熻澆錛涜繕鍙互鎻忚堪SOAP鏂囦歡澶村拰閿欒detail鍏冪礌鐨勫唴瀹廣傚畾涔塵essage鍏冪礌鐨勬柟寮忓彇鍐充簬浣跨敤RPC鏍峰紡榪樻槸鏂囨。鏍峰紡鐨勬秷鎭紶閫掋傚湪鏈枃涓殑message鍏冪礌鐨勫畾涔夛紝鏈枃妗d嬌鐢ㄤ簡閲囩敤鏂囨。鏍峰紡鐨勬秷鎭紶閫掞細
璇ラ儴鍒嗘槸娑堟伅鏍煎紡鐨勬娊璞″畾涔夛細瀹氫箟浜嗕袱涓秷鎭痵ayHelloResponse鍜宻ayHelloRequest錛?/p>
sayHelloRequest錛歴ayHello鎿嶄綔鐨勮姹傛秷鎭牸寮忥紝鐢變竴涓秷鎭墖鏂粍鎴愶紝鍚嶅瓧涓簆arameters,鍏冪礌鏄垜浠墠闈㈠畾涔夌殑types涓殑鍏冪礌錛?/p>
sayHelloResponse錛歴ayHello鎿嶄綔鐨勫搷搴旀秷鎭牸寮忥紝鐢變竴涓秷鎭墖鏂粍鎴愶紝鍚嶅瓧涓簆arameters,鍏冪礌鏄垜浠墠闈㈠畾涔夌殑types涓殑鍏冪礌錛?/p>
濡傛灉閲囩敤RPC鏍峰紡鐨勬秷鎭紶閫掞紝鍙渶瑕佸皢鏂囨。涓殑element鍏冪礌搴斾互淇敼涓簍ype鍗沖彲銆?/p>
5銆乸ortType鍏冪礌
portType鍏冪礌瀹氫箟浜哤eb鏈嶅姟鐨勬娊璞℃帴鍙c傝鎺ュ彛鏈夌偣綾諱技Java鐨勬帴鍙o紝閮芥槸瀹氫箟浜嗕竴涓娊璞$被鍨嬪拰鏂規硶錛屾病鏈夊畾涔夊疄鐜般傚湪WSDL涓紝 portType鍏冪礌鏄敱binding鍜宻ervice鍏冪礌鏉ュ疄鐜扮殑錛岃繖涓や釜鍏冪礌鐢ㄦ潵璇存槑Web鏈嶅姟瀹炵幇浣跨敤鐨処nternet鍗忚銆佺紪鐮佹柟妗堜互鍙? Internet鍦板潃銆?/p>
涓涓猵ortType涓彲浠ュ畾涔夊涓猳peration錛屼竴涓猳peration鍙互鐪嬩綔鏄竴涓柟娉曪紝鏈枃涓璚SDL鏂囨。鐨勫畾涔夛細
portType瀹氫箟浜嗘湇鍔$殑璋冪敤妯″紡鐨勭被鍨嬶紝榪欓噷鍖呭惈涓涓搷浣渟ayHello鏂規硶錛屽悓鏃跺寘鍚玦nput鍜宱utput琛ㄦ槑璇ユ搷浣滄槸涓涓姹傦紡鍝? 搴旀ā寮忥紝璇鋒眰娑堟伅鏄墠闈㈠畾涔夌殑sayHelloRequest錛屽搷搴旀秷鎭槸鍓嶉潰瀹氫箟鐨剆ayHelloResponse銆俰nput琛ㄧず浼犻掑埌Web鏈嶅姟 鐨勬湁鏁堣礋杞斤紝output娑堟伅琛ㄧず浼犻掔粰瀹㈡埛鐨勬湁鏁堣礋杞姐?/p>
錛栥乥inding
binding鍏冪礌灝嗕竴涓娊璞ortType鏄犲皠鍒頒竴緇勫叿浣撳崗璁?SOAO鍜孒TTP)銆佹秷鎭紶閫掓牱寮忋佺紪鐮佹牱寮忋傞氬父binding鍏冪礌涓庡崗璁笓鏈夌殑鍏冪礌鍜屽湪涓璧蜂嬌鐢紝鏈枃涓殑渚嬪瓙錛?/p>
榪欓儴鍒嗗皢鏈嶅姟璁塊棶鐐圭殑鎶借薄瀹氫箟涓?a target="_blank" >SOAP HTTP緇戝畾錛屾弿榪板浣曢氳繃SOAP/HTTP鏉ヨ闂寜鐓у墠闈㈡弿榪扮殑璁塊棶鍏ュ彛鐐圭被鍨嬮儴緗茬殑璁塊棶鍏ュ彛銆傚叾涓瀹氫簡鍦ㄥ叿浣?a target="_blank" 銆?/p>
鍏蜂綋鐨勪嬌鐢ㄩ渶瑕佸弬鑰冪壒瀹氬崗璁畾涔夌殑鍏冪礌銆?/p>
錛椼乻ervice鍏冪礌鍜宲ort鍏冪礌
service鍏冪礌鍖呭惈涓涓垨鑰呭涓猵ort鍏冪礌錛屽叾涓瘡涓猵ort鍏冪礌琛ㄧず涓涓笉鍚岀殑Web鏈嶅姟銆俻ort鍏冪礌灝哢RL璧嬬粰涓涓壒瀹氱殑binding錛岀敋鑷沖彲浠ヤ嬌涓や釜鎴栬呭涓猵ort鍏冪礌灝嗕笉鍚岀殑URL璧嬪肩粰鐩稿悓鐨刡inding銆傛枃妗d腑鐨勪緥瀛愶細
榪欓儴鍒嗘槸鍏蜂綋鐨刉eb鏈嶅姟鐨勫畾涔夛紝鍦ㄨ繖涓悕涓篐elloService鐨刉eb鏈嶅姟涓紝鎻愪緵浜嗕竴涓湇鍔¤闂叆鍙o紝璁塊棶鍦板潃鏄?a href="http://localhost:8080/xfire/services/HelloService" target="_blank">http://localhost:8080/xfire/services/HelloService錛屼嬌鐢ㄧ殑娑堟伅妯″紡鏄敱鍓嶉潰鐨刡inding鎵瀹氫箟鐨勩?/p>
銆銆鏈枃綆鍗曚粙緇嶄簡WSDL瑙勮寖鐨勭敤閫旓紝鍩烘湰緇撴瀯鍜屼嬌鐢ㄦ柟娉曪紝甯屾湜瀵瑰ぇ瀹跺涔燱SDL鏈夊府鍔┿?/p>