锘??xml version="1.0" encoding="utf-8" standalone="yes"?>成人av二区,亚洲自拍都市欧美小说,黄页网站在线观看 http://www.aygfsteel.com/kusejava/category/10916.htmlzh-cn Wed, 28 Feb 2007 07:46:43 GMT Wed, 28 Feb 2007 07:46:43 GMT 60 axis2 鍙戝竷webservice璁?/title> http://www.aygfsteel.com/kusejava/archive/2006/05/09/45246.htmlkuse鐨刯ava嫻佹按甯?/dc:creator>kuse鐨刯ava嫻佹按甯?/author>Tue, 09 May 2006 09:28:00 GMT http://www.aygfsteel.com/kusejava/archive/2006/05/09/45246.html http://www.aygfsteel.com/kusejava/comments/45246.html http://www.aygfsteel.com/kusejava/archive/2006/05/09/45246.html#Feedback 0 http://www.aygfsteel.com/kusejava/comments/commentRss/45246.html http://www.aygfsteel.com/kusejava/services/trackbacks/45246.html 緗戜笂鍏充簬axis2鍋歸ebservice鐨勪腑鏂囨枃绔犲茍涓嶅 axis2紜疄鍜宎xis1鏈夊緢澶т笉鍚?br /> 鍏朵腑榪斿洖鑷畾涔夊璞$殑鏂規硶浼間箮灝變笉鍏煎(鍙兘浠呬粎鏄垜榪樻病鐮旂┒鍑烘潵), axis1榪斿洖瀵硅薄鎴栧璞″垪琛ㄥ彲浠ョ洿鎺ュ湪鏂規硶榪斿洖綾誨瀷涓啓鏄? serverlet浼氳嚜鍔ㄧ炕璇戞垚wsdl, 铏界劧axis2涔熷彲浠ヨ嚜鍔ㄧ炕璇? 浣嗘槸鐢ㄨ繃鐨勫鎴風鐢熸垚宸ュ叿閮芥病娉曠洿鎺ヤ嬌鐢ㄦ鏈嶅姟, 鏈鍚庨兘褰掍簬"鍒癘MElemet 瀵硅薄鏃犳硶杞崲", 鎵浠ユ垜鐨勬柟娉曞彧濂借嚜宸卞啓杞崲鍑芥暟, 鎴戞兂榪欎釜搴旇涓嶆槸axis2鐨勬爣鍑嗘柟娉曞惂, 鎬庝箞浼氳秺鏉ヨ秺楹葷儲? 涓嬮潰璁蹭竴涓嬫垜鐨勪嬌鐢ㄦ祦紼?br />闇姹? 鍋氫釜webservice鏈嶅姟, 浠庢暟鎹簱閲岄潰璇誨彇flightleg鐨勪竴涓垪琛ㄥ茍榪斿洖, flightleg鍒楄〃鍙互璁や負鏄粡榪囦竴涓猻elect璇彞榪斿洖鐨勮褰曢泦鍚?br /> 杞歡鐜, windows xp sp2, tomcat5.5 for windows 鍗曚竴瀹夎鐗? jre1.5(tomcat5.5鐨勯渶瑕?, axis2-0.95(褰撴椂鏄渶鏂扮増) 璇曢獙嫻佺▼: 聽聽聽聽聽聽聽鐩存帴瀹夎 tomcat5.5 for windows , 鍙戠幇鏈嶅姟鎬繪槸鍦ㄥ惎鍔ㄤ箣鍚庨┈涓婅嚜宸卞叧闂? 鏌ユ壘鍘熷洜, 鍙戠幇鍘熸潵鑷繁鐢ㄧ殑閮芥槸jre1.4, 鍚庝粠鍒湴鎷瘋礉涓涓猨re_1.5鐩綍鍒癙rogram Files\j2sdk1.4.2_05涓? 鐒跺悗璁劇疆tomcat鐨?java virtual machine 涓篜rogram Files\j2sdk1.4.2_05\jre_1.5\bin\client\jvm.dll , 鍗沖彲姝e父鍚姩. 聽聽聽聽聽聽 axis2瀹夎, 榪欎釜緗戜笂浠嬬粛鐨勫緢澶? 涔熷緢瀹規槗, 灝變笅杞介偅涓猘xis2.war鍖? 鎷瘋礉鍒癙rogram Files\Apache Software Foundation\Tomcat 5.5\webapps\鐩綍涓? 灝辯畻鍙戝竷浜? tomcat鑷姩鎰熺煡, 騫剁敓鎴恆xis2榪欎釜鐩綍緇撴瀯.聽 榪涘叆http://localhost:8080/axis2/ 聽鍙互鐪嬪埌嬈㈣繋欏甸潰, 鐒跺悗鐐瑰嚮Services 鍙互鐪嬪埌鍑犱釜紺鴻寖serviece, 鍏蜂綋鎬庝箞浣跨敤灝變笉澶氳浜? 緗戜笂涓嶅皯, 鑷甫鐨刣oc涔熸湁璇存槑. 聽聽聽聽聽 緙栧啓service紼嬪簭, 鍚庨潰閫昏緫灝變笉綆′簡, 鍏抽敭瑕佺紪鍐欎釜serviceproxy綾?聽 騫跺湪閲岄潰鏆撮湶鏂規硶浣滀負webserivce璋冪敤, sample閲岄潰涔熸湁寰堝, 浣嗘槸鑷充粖榪樻病鐪嬪埌榪斿洖鑷畾涔夊璞$殑. 鎴戝啓鐨勫涓?
聽聽聽聽
public
聽OMElement聽getPVGFlightLegs() 聽聽聽聽
{ 聽聽聽聽聽聽聽聽List聽list聽
=
聽
null
; 聽聽聽聽聽聽聽聽InquiryEngine聽engine聽
=
聽InquiryFactory.getInquiryEngine(); 聽聽聽聽聽聽聽聽list聽
=
聽(List)engine.getPVGFlightLegs(); 聽聽聽聽聽聽聽聽OMElement聽ele聽
=
聽
null
; 聽聽聽聽聽聽聽聽ele聽
=
聽createOMElementFromList(list); 聽聽聽聽聽聽聽聽
return
聽ele; 聽聽聽聽}
聽聽聽聽 榪斿洖鐨勬槸OMElement 緇熶竴瀵硅薄, 闇瑕佽嚜宸辨瀯閫燨MElement瀵硅薄鏍戝茍榪斿洖,聽 createOMElementFromList() 浠g爜濡備笅:
聽聽聽聽
聽聽聽 public OMElement createOMElementFromList(List flightLegInfoList)聽聽 聽聽聽 { 聽聽聽聽聽聽聽 聽聽聽聽聽聽聽 OMFactory fac = OMAbstractFactory.getOMFactory(); 聽聽聽聽聽聽聽 OMNamespace omNs = fac.createOMNamespace("http://localhost:8080/axis2/services/FidsService ", "fids"); 聽聽聽聽聽聽聽 OMElement resp = fac.createOMElement("flightLeglist", omNs); 聽聽聽聽聽聽聽 for(Iterator it = flightLegInfoList.iterator(); it.hasNext(); ) 聽聽聽聽聽聽聽 { 聽聽聽聽聽聽聽聽聽聽聽 FlightLegInfo flightLegInfo = (FlightLegInfo)it.next();
聽聽聽聽聽聽聽聽 OMElement record = fac.createOMElement("record", omNs); 聽聽聽聽聽聽聽聽 OMElement flightNoElement = fac.createOMElement("flightNo", omNs); 聽聽聽聽聽聽聽聽 OMElement tailNoElement = fac.createOMElement("tailNo", omNs); 聽聽聽聽聽聽聽聽 flightNoElement.addChild(fac.createText(flightNoElement, flightLegInfo.getFlightNo())); 聽聽聽聽聽聽聽聽 tailNoElement.addChild(fac.createText(tailNoElement, flightLegInfo.getTailNo())); 聽聽聽聽聽聽聽聽 record.addChild(flightNoElement); 聽聽聽聽聽聽聽聽 record.addChild(tailNoElement); 聽聽聽聽聽聽聽聽 resp.addChild(record); 聽聽聽聽聽聽聽 } 聽聽聽聽聽聽聽 return resp; 聽聽聽 }
聽聽聽聽 浠g爜鐨勫惈涔夋槸榪斿洖鍖呭惈flightNo鍜宼ailNo鐨剅ecord鍒楄〃, 鏋勯犳垚XML鏍? 聽聽聽聽 web-inf\services.xml 濡備笅:
<
service聽
name
="FidsService"
>
聽聽聽聽
<
description
>
聽聽聽聽聽聽聽聽This聽is聽a聽fids聽web聽service. 聽聽聽聽
</
description
>
聽聽聽聽
<
parameter聽
name
="ServiceClass"
聽locked
="false"
>
com.cea2.service.fids.ServiceProxy
</
parameter
>
聽聽聽聽
<
operation聽
name
="getPVGFlightLegs"
>
聽聽聽聽聽聽聽聽
<
messageReceiver聽
class
="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"
/>
聽聽聽聽
</
operation
>
</
service
>
聽聽聽聽聽聽 鐒跺悗鎶婃墍鏈夌殑class,lib,web-inf\services.xml 絳夌粍緇囪搗鏉?鎵撲釜jar鍖? 騫舵敼鍚庣紑涓篴ar (榪欎釜榪囩▼鏈変釜eclipse鎻掍歡Axis2_Service_Archiver鍙互瀹屾垚榪欎釜榪囩▼, 浣嗕笉澶細鐢? 榪樹簨鍏堥渶瑕?wsdl鏂囦歡??), 騫舵嫹璐濆埌Program Files\Apache Software Foundation\Tomcat 5.5\webapps\axis2\WEB-INF\services\涓? 鐒跺悗閲嶅惎tomcat,聽 榪涘叆http://localhost:8080/axis2/ 聽鐪媠ervices, 閲岄潰鏈?a href="http://localhost:8080/axis2/services/FidsService?wsdl">FidsService, 鐐瑰嚮鍙互鐪嬪埌wsdl, 鏈嶅姟绔畻鎴愬姛澶у崐浜? 聽聽聽聽聽 瀹㈡埛绔? 鍦ㄥ仛榪斿洖鑷畾涔夊璞$殑鏃跺? 鐢ㄤ簡鍑犱釜eclipse鑷姩鐢熸垚宸ュ叿, 鐢氳嚦榪樼敤浜哸xis2鑷甫鍛戒護琛寃sdl2java, 閮戒笉琛? 鏀逛負榪斿洖OMElement鐨勬椂鍊? 灝卞共鑴嗘病鏈夌敤gererator,聽 鐩存帴鍐欎簡testClient綾? 騫舵妸service绔腑鐨凢lightLegInfo(瀵瑰簲鍗曟潯璁板綍瀵硅薄)鎷瘋礉榪囨潵.聽 testClient濡備笅
package
聽test;
import
聽org.apache.axis2.AxisFault;
import
聽org.apache.axis2.Constants;
import
聽org.apache.axis2.addressing.EndpointReference;
import
聽org.apache.axis2.client.Options;
import
聽org.apache.axis2.client.ServiceClient;
import
聽org.apache.ws.commons.om.OMElement;
import
聽org.apache.ws.commons.om.OMNode;
import
聽javax.xml.stream.XMLOutputFactory;
import
聽javax.xml.stream.XMLStreamException;
import
聽java.io.StringWriter;
import
聽java.util.ArrayList;
import
聽java.util.Iterator;
import
聽java.util.List;
/**聽*/
/**
聽*聽Sample聽for聽synchronous聽single聽channel聽blocking聽service聽invocation. 聽*聽Message聽Exchage聽Pattern聽IN-OUT 聽
*/
public
聽
class
聽testClient聽
{ 聽聽聽聽
private
聽
static
聽EndpointReference聽targetEPR聽
=
聽
new
聽EndpointReference(
"
http://localhost:8080/axis2/services/FidsService
"
); 聽聽聽聽
public
聽
static
聽
void
聽main(String聽args[])聽
{ 聽聽聽聽聽聽聽聽
try
聽
{ 聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽聽聽聽聽聽聽OMElement聽payload聽
=
聽ClientUtil.getEchoOMElement(); 聽聽聽聽聽聽聽聽聽聽聽聽Options聽options聽
=
聽
new
聽Options(); 聽聽聽聽聽聽聽聽聽聽聽聽options.setTo(targetEPR); 聽聽聽聽聽聽聽聽聽聽聽聽options.setTransportInProtocol(Constants.TRANSPORT_HTTP); 聽聽聽聽聽聽聽聽聽聽聽聽options.setAction(
"
getPVGFlightLegs
"
); 聽聽聽聽聽聽聽聽聽聽聽聽
//
Blocking聽invocation
聽聽聽聽聽聽聽聽聽聽聽聽ServiceClient聽sender聽
=
聽
new
聽ServiceClient(); 聽聽聽聽聽聽聽聽聽聽聽聽sender.setOptions(options); 聽聽聽聽聽聽聽聽聽聽聽聽OMElement聽result聽
=
聽sender.sendReceive(payload); 聽 聽聽聽聽聽聽聽聽聽聽聽聽
//
鏄劇ずxml
聽聽聽聽聽聽聽聽聽聽聽聽StringWriter聽writer聽
=
聽
new
聽StringWriter(); 聽聽聽聽聽聽聽聽聽聽聽聽result.serialize(XMLOutputFactory.newInstance() 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.createXMLStreamWriter(writer)); 聽聽聽聽聽聽聽聽聽聽聽聽writer.flush(); 聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(writer.toString()); 聽聽聽聽聽聽聽聽聽聽聽聽
//
System.out.println("first:"); 聽聽聽聽聽聽聽聽聽聽聽聽
//
緇撴灉杞崲涓簂ist
聽聽聽聽聽聽聽聽聽聽聽聽List聽list聽
=
聽getResults(result); 聽聽聽聽聽聽聽聽}
聽
catch
聽(AxisFault聽axisFault)聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽axisFault.printStackTrace(); 聽聽聽聽聽聽聽聽}
聽聽
catch
聽(XMLStreamException聽e)聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace(); 聽聽聽聽聽聽聽聽}
聽聽聽聽}
聽聽聽聽 聽聽聽聽
private
聽
static
聽List聽getResults(OMElement聽element)聽
{ 聽聽聽聽聽聽聽聽Iterator聽iterator聽
=
聽element.getChildElements(); 聽聽聽聽聽聽聽聽List聽list聽
=
聽
new
聽ArrayList(); 聽聽聽聽聽聽聽聽
while
聽(iterator.hasNext())聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽OMNode聽omNode聽
=
聽(OMNode)聽iterator.next(); 聽聽聽聽聽聽聽聽聽聽聽聽
if
聽(omNode.getType()聽
==
聽OMNode.ELEMENT_NODE)聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽OMElement聽omElement聽
=
聽(OMElement)聽omNode; 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if
聽(聽omElement.getLocalName().equals(
"
record
"
)聽)聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽FlightLegInfo聽flightLegInfo聽
=
聽getFlightLegInfo(omElement); 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽list.add(flightLegInfo); 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
return
聽
null
; 聽聽聽聽}
聽聽聽聽 聽聽聽聽
private
聽
static
聽FlightLegInfo聽getFlightLegInfo(OMElement聽element) 聽聽聽聽
{ 聽聽聽聽聽聽聽聽FlightLegInfo聽flightLegInfo聽
=
聽
new
聽FlightLegInfo(); 聽聽聽聽聽聽聽聽Iterator聽iterator聽
=
聽element.getChildElements(); 聽聽聽聽聽聽聽聽
while
聽(iterator.hasNext())聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽OMNode聽omNode聽
=
聽(OMNode)聽iterator.next(); 聽聽聽聽聽聽聽聽聽聽聽聽
if
聽(omNode.getType()聽
==
聽OMNode.ELEMENT_NODE)聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽OMElement聽omElement聽
=
聽(OMElement)聽omNode; 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if
聽(聽omElement.getLocalName().equals(
"
flightNo
"
)聽)聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽flightLegInfo.setFlightNo(omElement.getText()); 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(
"
flightNo:
"
+
omElement.getText()); 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if
聽(聽omElement.getLocalName().equals(
"
tailNo
"
)聽)聽
{ 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽flightLegInfo.setTailNo(omElement.getText()); 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
return
聽flightLegInfo; 聽聽聽聽}
}
聽
聽聽聽聽 闇瑕佽嚜宸辮漿鎹㈡垚FlightLegInfo聽鐨刲ist, 鍥炬柟渚? 鐩存帴鍦ㄨ漿鎹㈠嚱鏁伴噷闈㈡墦鍗頒簡涓浜涙祴璇曡緭鍑烘暟鎹?聽 綆楁槸瀹屾垚浜唖ervice鐨勫紑鍙?
]]>
主站蜘蛛池模板:
青河县 |
东台市 |
元朗区 |
清镇市 |
金塔县 |
全南县 |
丘北县 |
茌平县 |
秀山 |
大化 |
鹤山市 |
辽阳县 |
赤峰市 |
清徐县 |
大姚县 |
辽源市 |
牙克石市 |
宁陵县 |
从江县 |
马关县 |
巫溪县 |
卓尼县 |
精河县 |
伊通 |
二手房 |
苗栗市 |
雅安市 |
吉安县 |
平利县 |
台山市 |
峨边 |
西峡县 |
岗巴县 |
饶河县 |
黄陵县 |
连江县 |
永靖县 |
台中县 |
靖江市 |
涪陵区 |
琼海市 |