锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品无码午夜福利中文字幕
,亚洲一区二区三区夜色
,国产V亚洲V天堂A无码 http://www.tkk7.com/baizhihui19870626/category/51441.html璁板綍鏈?/description>zh-cn Tue, 19 Jun 2012 16:03:08 GMT Tue, 19 Jun 2012 16:03:08 GMT 60 杞?------------鍒╃敤AXIS寮鍙慦ebservice(涓? 鈥斺?濡備綍浼犻扟avaBean鍜屼綘鐨勫璞?錛堢洰鐨勶細瀛︿範錛?/title> http://www.tkk7.com/baizhihui19870626/articles/380258.html灝忕櫧19870626 灝忕櫧19870626 Thu, 07 Jun 2012 09:05:00 GMT http://www.tkk7.com/baizhihui19870626/articles/380258.html http://www.tkk7.com/baizhihui19870626/comments/380258.html http://www.tkk7.com/baizhihui19870626/articles/380258.html#Feedback 0 http://www.tkk7.com/baizhihui19870626/comments/commentRss/380258.html http://www.tkk7.com/baizhihui19870626/services/trackbacks/380258.html 榪欏嚑澶╄矊浼兼垬鏂楀姏鏃犵┓錛岃秮鐫鏈夌簿鍔涘氨澶氭洿鏂頒袱綃囥傞殢鐫瀵笰xis鐨勭爺絀跺姞娣憋紝瓚婃劅瑙墂ebservice鏄釜寰堝ソ鐜╃殑涓滆タ銆傝繖綃囪涓涓嬪浣曚紶閫掍竴涓狫avaBean鍜屼綘鑷繁鐨勪竴涓猻pecial Object銆?/p>
鍦ㄧ涓綃囦粙緇岮xis鐨勬枃绔犻噷錛屾垜浠仛浜嗕竴涓畝鍗曠殑webservice錛屾垜浠琧lient side浼犻掍簡String鍜宨nt綾誨瀷鐨勬暟鎹粰service object銆係ervice澶勭悊涔嬪悗榪斿洖澶勭悊緇撴灉緇機lient銆傚浜庡ぇ澶氭暟闇姹傦紝閭d釜demo鏄劇劧宸茬粡瓚沖搴斾粯浜嗐備絾鏄鏋渃lient绔渶瑕佷紶杈撲竴涓璞$粰server錛岄偅涔堥偅涓猟emo灝辨樉寰楀姏涓嶄粠蹇冧簡銆侫xis涓彁渚涗簡榪滅▼浼犺緭瀵硅薄鐨勬柟娉曪紝閫氳繃閭d簺鏂規硶鎴戜滑鍚屾牱鍙互闅忓績鐨勪紶閫掕嚜宸辯殑瀵硅薄銆?/p>
鎴戜滑鍏堜粠浼犻掍竴涓狫avaBean寮濮嬶紝棣栧厛緙栧啓涓涓狫avaBean銆?/p>
package com.chnic.bean; public class OrderBean { private String name; private int age; private String[] items; private int [] price; private boolean checked; public OrderBean() { } public int getAge() { return age; } public void setAge( int age) { this .age = age; } public boolean isChecked() { return checked; } public void setChecked( boolean checked) { this .checked = checked; } public String[] getItems() { return items; } public void setItems(String[] items) { this .items = items; } public String getName() { return name; } public void setName(String name) { this .name = name; } public int [] getPrice() { return price; } public void setPrice( int [] price) { this .price = price; } } package com.chnic.bean;
public class OrderBean {
private String name;
private int age;
private String[] items;
private int[] price;
private boolean checked;
public OrderBean() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public String[] getItems() {
return items;
}
public void setItems(String[] items) {
this.items = items;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int[] getPrice() {
return price;
}
public void setPrice(int[] price) {
this.price = price;
}
}
榪欎釜JavaBean鐨勫墠4涓睘鎬ч兘寰堟竻妤氾紝瑕佽В閲婁竴涓嬫渶鍚庝竴涓傚洜涓鴻繖涓狫avaBean琚紶閫掑埌Service绔鐞嗕箣鍚庤鎺ョ潃琚紶鍥烇紝鐢ㄦ潵紺轟緥webservce浼犺繘鍜屼紶鍑恒傝繖涓彉閲忕敤鏉ュ尯鍒紶榪涘拰浼犲嚭鐨勫樊鍒傝В閲婂畬鎴戜滑鏉ョ湅涓媠ervice
package com.chnic.webservice; import com.chnic.bean.OrderBean; public class AnalyzeOrder { public AnalyzeOrder(){ } public OrderBean process(OrderBean order){ order.setChecked( true ); System.out.println( "name: " + order.getName() + " age: " + order.getAge()); for ( int i= 0 ; i<order.getItems().length; i++) System.out.println( "Item " + (i+ 1 ) + order.getItems()[i] + " and price is " + order.getPrice()[i]); return order; } } package com.chnic.webservice;
import com.chnic.bean.OrderBean;
public class AnalyzeOrder {
public AnalyzeOrder(){
}
public OrderBean process(OrderBean order){
order.setChecked(true);
System.out.println("name: " + order.getName() + " age: " + order.getAge());
for(int i=0; i<order.getItems().length; i++)
System.out.println("Item " + (i+1) + order.getItems()[i] +
" and price is " + order.getPrice()[i]);
return order;
}
}
Service Object鐨勪唬鐮佸緢綆鍗曪紝灝變笉瑙i噴浜嗐傛儻渚嬶紝鎴戜滑鏉ョ紪鍐欏彂甯冩枃浠躲?/p>
< deployment xmlns = "http://xml.apache.org/axis/wsdd/" xmlns:java = "http://xml.apache.org/axis/wsdd/providers/java" > < service name = "CheckOrder" provider = "java:RPC" > < parameter name = "className" value = "com.chnic.webservice.AnalyzeOrder" /> < parameter name = "allowedMethods" value = "process" /> < beanMapping qname = "myNS:Order" xmlns:myNS = "urn:AnalyzeOrder" languageSpecificType = "java:com.chnic.bean.OrderBean" /> </ service > </ deployment > <deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="CheckOrder" provider="java:RPC">
<parameter name="className" value="com.chnic.webservice.AnalyzeOrder"/>
<parameter name="allowedMethods" value="process"/>
<beanMapping qname="myNS:Order" xmlns:myNS="urn:AnalyzeOrder"
languageSpecificType="java:com.chnic.bean.OrderBean"/>
</service>
</deployment>
鍞竴涓嶅悓鐨勫氨鏄浜?lt;beabMapping>榪欎釜鑺傜偣銆俼name 琛ㄧず XML 瑙勮寖涓畾涔夌殑闄愬畾鍚嶇О錛屼粬鐢卞悕縐扮┖闂?URI銆佹湰鍦伴儴鍒嗗拰鍓嶇紑緇勬垚銆傞櫎浜嗘湰鍦伴儴鍒嗗叾浠栭兘涓嶆槸蹇呴』鐨勫彟澶朡Name鏄笉鍙彉鐨勩倄mlns鍚庨潰鐨刴yNS鏄繀欏葷殑銆傚叿浣撴牴鎹墠闈㈡墍鎸囧畾鐨剄name鏉ュ喅瀹氥備箣鍚庡彲浠ラ殢鎰忓懡鍚嶄竴涓猲amespace銆傛渶鍚庣殑languageSpecificType鎸囧畾鐨勬槸浣犱紶閫掔殑瀵硅薄綾誨瀷銆?strong>絎竴涓睘鎬х殑鏈湴閮ㄥ垎鍜岀浜屼釜鑺傜偣浣犺嚜瀹氫箟鐨勫懡鍚嶇┖闂翠細緇勬垚涓涓柊鐨凲Name錛屽茍灝嗕綘瑕佷紶杈撶殑瀵硅薄mapping鏄笂鍘匯?br />
鍙戝竷榪欎釜webservice錛岀紪鍐欐祴璇曚唬鐮?/p>
String targetEendPoint = "http://localhost:8080/axis/services/CheckOrder" ; OrderBean order = new OrderBean(); order.setName( "Beckham" ); order.setAge( 32 ); String [] items = new String[] { "Ipod" , "ThinkPad" }; int [] price = new int [] { 999 , 5000 }; order.setItems(items); order.setPrice(price); order.setChecked( false ); System.out.println(order.isChecked()); Service service = new Service(); Call call = (Call) service.createCall(); QName qn = new QName( "urn:AnalyzeOrder" , "Order" ); call.registerTypeMapping(OrderBean. class , qn, new org.apache.axis.encoding.ser.BeanSerializerFactory(OrderBean. class , qn), new org.apache.axis.encoding.ser.BeanDeserializerFactory(OrderBean. class , qn)); call.setTargetEndpointAddress( new java.net.URL(targetEendPoint) ); call.setOperationName( new QName( "CheckOrder" , "process" ) ); call.addParameter( "arg1" , qn, ParameterMode.IN ); call.setReturnClass(OrderBean. class ); OrderBean result = (OrderBean) call.invoke( new Object[] {order} ); System.out.println( "Success..." ); System.out.println(result.isChecked()) String targetEendPoint = "http://localhost:8080/axis/services/CheckOrder";
OrderBean order = new OrderBean();
order.setName("Beckham");
order.setAge(32);
String [] items = new String[] { "Ipod", "ThinkPad" };
int [] price = new int [] { 999, 5000 };
order.setItems(items);
order.setPrice(price);
order.setChecked(false);
System.out.println(order.isChecked());
Service service = new Service();
Call call = (Call) service.createCall();
QName qn = new QName("urn:AnalyzeOrder", "Order" );
call.registerTypeMapping(OrderBean.class, qn,
new org.apache.axis.encoding.ser.BeanSerializerFactory(OrderBean.class, qn),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(OrderBean.class, qn));
call.setTargetEndpointAddress( new java.net.URL(targetEendPoint) );
call.setOperationName( new QName("CheckOrder", "process") );
call.addParameter( "arg1", qn, ParameterMode.IN );
call.setReturnClass(OrderBean.class);
OrderBean result = (OrderBean) call.invoke( new Object[] {order} );
System.out.println("Success...");
System.out.println(result.isChecked())
浠庢帶鍒跺彴杈撳嚭涓浜涗俊鎭互渚挎祴璇曪紝閲岄潰澶у浠g爜閮藉簲璇ヨ榪囥俷ew QName鍜屼箣鍚庣殑registerTypeMapping鏂規硶涔熸槸鍦ㄥ疄鐜版垜涓婇潰閭f榛戜綋瀛楃殑鍐呭銆備箣鍚庢敞鍐屽畬鍙傛暟鍜岃繑鍥炲肩被鍨嬭繍琛屻?/p>
浼氬彂鐜板湪tomcat鎺у埗鍙板拰鏈湴鎺у埗鍙伴兘浼氳緭鍑烘祴璇曠粨鏋滐紝鍊煎緱娉ㄦ剰鐨勬槸checked榪欎釜灞炴у湪浼犲叆涔嬪墠鏄痜alse灞炴э紝浼犲叆涔嬪悗鎴戜滑鏀瑰彉浜嗕粬鐨勫睘鎬у彉涓簍rue銆傝繑鍥炰箣鍚庡湪鏈湴鎺у埗鍙版墦鍗板嚭鏉ヤ篃涓簍rue銆?/p>
浜嬪疄涓夾xis闄や簡鍙互浼犺緭JavaBean涔嬪榪樺彲浠ヤ紶杈撲竴浜涜嚜瀹氫箟鐨勭被鍨嬨傛瘮濡侺ist銆丮ap鍜屾椂闂存棩鏈熺被鍨嬨侫xis涔熶負浠栦滑鎻愪緵浜嗕笓闂ㄧ殑SerializerFactory鍜孌eserializerFactory銆傝繖浜涘伐鍘傜被浼氫駭鐢熶覆琛屽寲宸ュ叿鍘誨簭鍒楀寲鐩稿簲鐨勫璞°傛洿澶氱殑Factory Object鍙互鍦╫rg.apache.axis.encoding.ser涓嬮潰鎵懼埌銆?/p>
瀵逛簬鑷畾涔夊簭鍒楀寲錛孉xis涔熸彁渚涗簡鐩稿鎬х殑閰嶇疆鑺傜偣銆傚叿浣撻厤緗涓嬶細
< typeMapping qname = "ns:local" xmlns:ns = "someNamespace" languageSpecificType = "java:my.java.thingy" serializer = "my.java.Serializer" deserializer = "my.java.DeserializerFactory" encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/" /> <typeMapping qname="ns:local" xmlns:ns="someNamespace"
languageSpecificType="java:my.java.thingy"
serializer="my.java.Serializer"
deserializer="my.java.DeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
typeMapping鐨勫墠涓変釜灞炴у拰涓婇潰璁茬殑beanMapping閮戒竴鏍楓備笉涓鏍風殑鏄悗涓変釜銆俿erializer鎸囧畾鐨勬槸涓茶鍖栫被錛宒serializer鎸囧畾鐨勬槸鍙嶄覆琛屽寲綾匯傛渶鍚庝竴涓寚瀹氱殑緙栫爜鏂瑰紡銆傚叾瀹炲浜巘ypeMapping鏉ヨbeanMapping鍙笉榪囨槸浠栫殑涓涓畝鍖栫増鑰屽凡銆傚洜涓篵eanMapping鐨勪覆琛屽寲鍜屽弽涓茶鍖栧伐鍘傜被閮芥槸鍥哄畾鐨勶紝鑰岀紪鐮佹柟寮忎篃鏄浐瀹氱殑銆?/p>
鍥犱負typemapping鍜宐eanMapping寰堢浉浼鹼紝鍦ㄨ繖閲屽氨涓嶅啀鍐檇emo浜嗐?鏈変簺浜轟篃璁鎬細闂紝鏃㈢劧鑳戒覆琛屽寲瀵硅薄閭h兘涓嶈兘“涓茶鍖?#8221;鏂囦歡鍛紵榪欎釜闂鐣欑潃涓嬫鍐嶈鍚с備粖澶╃背鍔ㄥ姏浜嗐?img title="confused" alt="confused" src="http://chnic.iteye.com/images/smiles/icon_confused.gif" />
]]> 杞?--------鍒╃敤AXIS寮鍙慦ebservice(浜? 鈥斺?WSDD鐨勪竴浜涢珮綰х壒鎬?錛堝涔狅級 http://www.tkk7.com/baizhihui19870626/articles/380252.html灝忕櫧19870626 灝忕櫧19870626 Thu, 07 Jun 2012 08:52:00 GMT http://www.tkk7.com/baizhihui19870626/articles/380252.html http://www.tkk7.com/baizhihui19870626/comments/380252.html http://www.tkk7.com/baizhihui19870626/articles/380252.html#Feedback 0 http://www.tkk7.com/baizhihui19870626/comments/commentRss/380252.html http://www.tkk7.com/baizhihui19870626/services/trackbacks/380252.html 鏃墮棿榪囩殑鐪熷揩錛屼竴涓嶅皬蹇冭繃浜嗗崐騫翠簡錛屽崐騫村悗鎴戞潵鏇存柊絎簩綃噖ebservice鐨勫崥鏂囥傛槬鍥扮涔忓鎵撶浌錛岀潯涓嶉啋鐨勫啲涓夋湀銆傛渶榪戝張鎳掍簡銆?img title="confused" alt="confused" src="http://chnic.iteye.com/images/smiles/icon_confused.gif" />
絎竴綃囦粙緇嶄簡AXIS鐨勪袱縐嶅彂甯冩柟寮忥紝鍜屼竴浜涘熀鏈殑搴旂敤銆傝繖涓綃囪涓涓嬩竴浜涢珮綰у簲鐢ㄣ?寮綃囦箣鍓嶅厛鎶婁笂綃囩殑涓涓仐婕忚ˉ鍏呬笂錛屼笂綃囧彧璁蹭簡鎬庝箞鍙戝竷涓涓獁ebservice錛屼絾鏄浣曞彇娑堟病鏈夊嵈娌℃湁鎻愩傚叾瀹炲彇娑堜竴涓凡緇忓彂甯冪殑webservce涔熸槸闈炲父綆鍗曠殑錛屾垜浠氨鎷夸笂綃囩殑HelloWorld鏉ュ仛渚嬪瓙鍚с?
鍙戝竷webservice鐨勬椂鍊欐垜浠湁涓涓猟eploy.wsdd鏂囦歡錛屽綋鐒跺湪鍙栨秷鍙戝竷鐨勬椂鍊欏氨浼氭湁涓涓猽ndeploy.wsdd鏂囦歡銆傝繖涓枃浠剁殑鍐呭涔熷緢綆鍗曪紝xml鐨勪唬鐮佸涓嬨?/p>
< undeployment xmlns = "http://xml.apache.org/axis/wsdd/" > < service name = "HelloWorld" /> </ undeployment > <undeployment xmlns="http://xml.apache.org/axis/wsdd/">
<service name="HelloWorld"/>
</undeployment>
緙栧啓瀹岃繖涓獂ml鏂囦歡涔嬪悗錛屾妸瀹冨悓鏍穋opy鍒?TOMCAT_HOM\webapps\axis\WEB-INF鐩綍涓嬶紝鐒跺悗CMD鎵撳紑鎺у埗鍙幫紝鍦ㄦ帶鍒跺彴杈撳叆涓涓垜浠緢鐔熸倝鐨勫懡浠?/span>
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient undeploy.wsdd
榪愯涔嬪悗寰楀埌濡備笅緇撴灉璇存槑鍙栨秷鍙戝竷鎴愬姛
Processing file undeploy.wsdd <Admin>Done processing</Admin>
璇村畬鍙栨秷鍙戝竷涔嬪悗灝辨潵璇翠竴涓婣XIS鐨勪竴浜涢珮綰х壒鎬э紝AXIS鍦ㄧ紪鍐檇eploy.wsdd榪欎釜鏂囦歡鏃訛紝姣忎釜<service>鑺傜偣涓嬮潰浼氭湁榪欐牱涓涓瓙鑺傜偣銆?/p>
< parameter name = "scope" value = "value" /> <parameter name="scope" value="value"/>
榪欎釜鑺傜偣閰嶇疆鐫浣犵殑service object涔熷氨鏄綘webservice鏈嶅姟鐨勯偅涓猳bject鐨勫湥鏄庡懆鏈燂紝鍦ㄥ悗闈㈢殑value閲屽彲浠ユ湁涓変釜閫夐」request, session, or application銆傜啛鎮塉sp銆丼ervlet銆佹垨鑰匛JB閲岀殑SessionBean鐨勬湅鍙嬪簲璇ヨ兘寰堝揩鑳芥槑鐧借繖涓笁涓厤緗夐」鐨勫惈涔夈?/p>
requst 錛氳繖涓夐」浼氳AXIS涓烘瘡涓涓猄OAP鐨勮姹備駭鐢熶竴涓湇鍔″璞★紝鍙互鎯沖儚濡傛灉榪欎釜webservice鐨勫璞¤凍澶熷鏉傦紝鑰屼笖SOAP鐨勮姹傝繃澶氾紝榪欎釜閫夐」鏄潪甯歌楄垂鏈嶅姟鍣ㄦц兘鐨勩?/p>
session 錛氬鏋滈夋嫨浜唖ession錛岀▼搴忓氨浼氱粰姣忎釜璋冪敤榪欎釜webservice鐨勫鎴風鍒涢犱竴涓湇鍔″璞°?/p>
application 錛氳繖涓夐」鏈褰倣錛岀▼搴忓彧浼氬湪鍐呭瓨閲宯ew鍑烘潵涓涓湇鍔″璞★紝鐒跺悗涓烘墍鏈墂ebservice瀹㈡埛绔湇鍔°傚緢鏄劇劧榪欎釜閫夐」涓嶈兘鍌ㄥ瓨瀹㈡埛绔殑涓浜涗釜鎬у寲鏁版嵁銆傛墍浠ュ湪鍔熻兘鎬т笂寰堝鏃跺欎笉鑳芥弧瓚寵姹傘?/p>
鎺ヤ笅鏉ヨ涓涓婣xis鐨凥andler鍜孋hain鏈哄埗錛孒andler鍜孋hain鏄疉xis寮曟搸鎻愪緵鐨勪竴涓緢寮哄ぇ鐨勫伐鍏楓傚亣濡傜幇鍦ㄥ鎴鋒湁榪欐牱涓涓渶姹傦紝闇瑕佽褰曟煇涓涓獁ebservice琚皟鐢ㄧ殑嬈℃暟錛岃繖涓椂鍊欏鏋滃湪service object閲屽幓瀹炵幇榪欎釜鍔熻兘涓嶄粎楹葷儲錛岃屼笖渚靛叆浜嗗師鏈夌殑紼嬪簭涔熶細瀵瑰鍔犲師鏈夌▼搴忕殑涓嶇ǔ瀹氭с傛湁浜咹andler鎴戜滑灝辮兘瑙乪asy鐨勮В鍐寵繖涓棶棰樸傛垜浠厛鏉ョ紪鍐檋andler鐨勪唬鐮併?/p>
package com.chnic.handler; import org.apache.axis.AxisFault; import org.apache.axis.MessageContext; import org.apache.axis.handlers.BasicHandler; public class HelloWorldHandler extends BasicHandler{ private static final long serialVersionUID = 1L; public void invoke(MessageContext context) throws AxisFault { String status = (String) this .getOption( "status" ); System.out.println( "HelloWorldHandler's status is: " + status); } } package com.chnic.handler;
import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.handlers.BasicHandler;
public class HelloWorldHandler extends BasicHandler{
private static final long serialVersionUID = 1L;
public void invoke(MessageContext context) throws AxisFault {
String status = (String) this.getOption("status");
System.out.println("HelloWorldHandler's status is: " + status);
}
}
BasicHandler鏄竴涓娊璞$被錛孉xis鎻愪緵浜嗗緢澶欻andler鐨勫叿浣撳疄鐜幫紝BasicHandler鍙槸鍏朵腑鏈綆鍗曠殑涓涓傝瀹炵幇涓涓嚜宸辯殑handler棣栧厛瑕佷粠緇ф壙BasicHandler榪欎釜綾誨紑濮嬪茍瀹炵幇鍏朵腑鐨刬nvoke(MessageContext arg)榪欎釜鏂規硶銆侻essageContext鍙互鐪嬫垚鏄竴涓狝xis鐨勪笂涓嬫枃錛岄噷闈㈠瓨鍌ㄧ殑鏄竴浜汚xis鍜寃ebservice鐨勫熀鏈俊鎭傛兂浜嗚В鐨勬湅鍙嬪彲浠ョ湅涓涓婣xis鐨凙PI銆傜紪鍐欏畬Handler浠g爜涔嬪悗鎴戜滑榪炵紪鍐欏彂甯冩枃浠躲?/p>
< deployment xmlns = "http://xml.apache.org/axis/wsdd/" xmlns:java = "http://xml.apache.org/axis/wsdd/providers/java" > < handler name = "Hello" type = "java:com.chnic.handler.HelloWorldHandler" > < parameter name = "status" value = "success" /> </ handler > < service name = "HelloWorld" provider = "java:RPC" > < requestFlow > < handler type = "Hello" /> </ requestFlow > < parameter name = "className" value = "com.chnic.webservice.HelloWorld" /> < parameter name = "allowedMethods" value = "*" /> < parameter name = "scope" value = "session" /> </ service > </ deployment > <deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler name="Hello" type="java:com.chnic.handler.HelloWorldHandler">
<parameter name="status" value="success"/>
</handler>
<service name="HelloWorld" provider="java:RPC">
<requestFlow>
<handler type="Hello"/>
</requestFlow>
<parameter name="className" value="com.chnic.webservice.HelloWorld"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="session"/>
</service>
</deployment>
鍙戝竷浠g爜涓湁榪欐牱鐨勪竴鍙ワ紝緇嗗績鐨勬湅鍙嬩竴瀹氫細鍙戠幇銆?/p>
< parameter name = "status" value = "success" /> <parameter name="status" value="success"/>
鐪嬪畬榪欏彞浠g爜鍐嶅姣斾竴涓婬andler鐨勫疄鐜頒唬鐮佷腑鐨勪竴鍙ワ紝鐩鎬俊澶у鏁頒漢閮借兘鏄庣櫧浜嗐?/p>
String status = (String) this .getOption( "status" ); String status = (String) this.getOption("status");
Handler閫氳繃getOption(String)榪欎釜鏂規硶鎷垮埌浜嗛厤緗枃浠朵腑鎴戦厤緗殑灞炴у箋傝屾垜浠笂榪版墍鍋氱殑鎵鏈夊伐浣滃浜庡師鏉ョ殑Webserivce鏉ヨ閮芥槸閫忔槑鐨勶紝涓嶄細瀵逛鏡鍏ュ師鏈夌殑紼嬪簭褰撲腑銆?涓涓狧andler鍙互琚涓猻ervice鎵浣跨敤閫氳繃<requestFlow>榪欎釜鏍囩鏉ュ紩鐢ㄥ埌鏌愪竴涓猻ervice涓紝榪欓噷榪樿澶氭彁涓鍙ユ棦鐒舵槸涓涓猺equestFlow錛岃繖涓綋鐒跺彲浠ュ姞涓嶅彧涓涓殑Handler銆傛帴涓嬫潵緙栧啓嫻嬭瘯浠g爜榪愯銆傚湪鏈湴搴旂敤鏈嶅姟鍣ㄤ笂浼氭墦鍑哄涓嬭鍙ワ細HelloWorldHandler's status is: success
璇存槑嫻嬭瘯鎴愬姛錛岃屼笖handler鏄厤緗湪requestflow鏍囩涓墍浠ヨ繖孌典唬鐮佷細鍦╯ervice浠g爜涔嬪墠鍏堟墽琛屻?/p>
浠嬬粛瀹屼簡Handler鍐嶆潵浠嬬粛Chain銆備粠Chain鐨勫瓧闈㈡剰鎬濆氨鑳界寽鍒頒粬瀹炵幇鐨勪竴榪炰覆Handler鐨勫姛鑳姐傚亣濡傛煇涓猻ervice闇瑕佷笉姝竴涓狧andler錛屾垨鑰呰鏍規嵁Client鐨勬儏鍐墊潵閫夋嫨闇瑕侀偅浜汬andler銆傜壒鍒槸鍚庝竴涓渶姹傦紝鎴戜滑鏃犳硶鐢ㄤ竴涓垨鑰呭嚑涓狧andler鏉ヨВ鍐籌紝榪欎釜鏃跺欐垜浠氨闇瑕?lt;Chain>鏉ュ疄鐜頒簡銆傛垜浠厛鍐嶇紪鍐欎竴涓狧andler錛屽姞涓婁箣鍓嶇殑閭d釜Handler鎴戜滑鏉ョ粍鎴愪竴鏉¢攣閾俱?/p>
package com.chnic.handler; import org.apache.axis.AxisFault; import org.apache.axis.MessageContext; import org.apache.axis.handlers.BasicHandler; public class MyHandler extends BasicHandler { private static final long serialVersionUID = 1L; public void invoke(MessageContext context) throws AxisFault { System.out.println( "This is MyHandler.." ); } } package com.chnic.handler;
import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.handlers.BasicHandler;
public class MyHandler extends BasicHandler {
private static final long serialVersionUID = 1L;
public void invoke(MessageContext context) throws AxisFault {
System.out.println("This is MyHandler..");
}
}
涔嬪悗鎴戜滑緙栧啓Chain鐨勪唬鐮?/p>
package com.chnic.chain; import org.apache.axis.SimpleChain; import com.chnic.handler.HelloWorldHandler; import com.chnic.handler.MyHandler; public class HelloWorldChain extends SimpleChain { private static final long serialVersionUID = 1L; public HelloWorldChain(){ HelloWorldHandler hwh = new HelloWorldHandler(); MyHandler mh = new MyHandler(); this .addHandler(hwh); this .addHandler(mh); } } package com.chnic.chain;
import org.apache.axis.SimpleChain;
import com.chnic.handler.HelloWorldHandler;
import com.chnic.handler.MyHandler;
public class HelloWorldChain extends SimpleChain {
private static final long serialVersionUID = 1L;
public HelloWorldChain(){
HelloWorldHandler hwh = new HelloWorldHandler();
MyHandler mh = new MyHandler();
this.addHandler(hwh);
this.addHandler(mh);
}
}
鍦–hain鐨勬瀯閫犲嚱鏁頒腑錛屾妸鎴戣鐨勪袱涓狧andler鐢╝ddHandler()鏂規硶鍔犺澆榪涘幓銆備箣鍚庢垜浠潵緙栧啓鍙戝竷鏂囦歡銆?lt;chain>鍜?lt;handler>鍏冪礌鏈変簺璁鎬笉鍚屽湪榪欓噷鏈夊繀瑕佸鍙ュ槾銆?/p>
<chain>鍏冪礌涓殑瀛愬厓绱犲彧鍏佽鏄?lt;handler>鎴栬?lt;chain>銆傚悗鑰呬篃灝辨槸鍏佽鍦?#8220;閿侀摼”閲屽啀宓屽“閿侀摼”錛屽湪榪欓噷灝辨嬁宓屽<handler>鏉ヤ婦渚嬶紝浠栧悓鏍鋒湁涓ょ鏂瑰紡鏉ュ疄鐜般傜涓縐嶆槸鐩存帴鍖呭惈<handler>:
< chain name = "myChain" > < handler type = "java:com.chnic.handler.MyHandler" /> </ chain > <chain name="myChain">
<handler type="java:com.chnic.handler.MyHandler"/>
</chain>
絎簩縐嶆槸寮曠敤鍒殑<handler>
< handler name = "myHandler" type = "java:com.chnic.handler.MyHandler" /> < chain name = "myChain" /> < handler type = "myHandler" /> </ chain > <handler name="myHandler" type="java:com.chnic.handler.MyHandler"/>
<chain name="myChain"/>
<handler type="myHandler"/>
</chain>
鍥犱負鎴戜滑榪欓噷鐨凥andler騫舵病鏈夌敱BasicHandler鏉ュ疄鐜幫紝鑰屾槸鐢辯戶鎵縎impleChain榪欎釜綾繪潵瀹炵幇錛屼弗鏍兼剰涔変笂璁詫紝SimpleChain涔熷彲浠ョ畻鏄竴涓狧andler錛屽洜涓篠impleChain涔熸槸浠嶣asicHandler緇ф壙鑰屾潵錛屼粬鍚屾牱瀹炵幇浜唅nvoke()榪欎釜鏂規硶銆備笅闈㈠洖褰掓棰橈紝鏉ョ湅鎴戜滑鐨勫彂甯冧唬鐮併?/p>
< deployment xmlns = "http://xml.apache.org/axis/wsdd/" xmlns:java = "http://xml.apache.org/axis/wsdd/providers/java" > < chain name = "myChain" > < handler type = "java:com.chnic.chain.HelloWorldChain" /> </ chain > < service name = "HelloWorld" provider = "java:RPC" > < requestFlow > < chain type = "myChain" /> </ requestFlow > < parameter name = "className" value = "com.chnic.webservice.HelloWorld" /> < parameter name = "allowedMethods" value = "*" /> < parameter name = "scope" value = "session" /> </ service > </ deployment > <deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<chain name="myChain">
<handler type="java:com.chnic.chain.HelloWorldChain"/>
</chain>
<service name="HelloWorld" provider="java:RPC">
<requestFlow>
<chain type="myChain"/>
</requestFlow>
<parameter name="className" value="com.chnic.webservice.HelloWorld"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="session"/>
</service>
</deployment>
浠庢柊鍙戝竷webservice涔嬪悗錛岃繍琛屾垜浠殑嫻嬭瘯浠g爜銆備細鍙戠幇鍦ㄥ簲鐢ㄦ湇鍔″櫒鐨勬湰鍦版帶鍒跺彴涓婃墦鍑轟袱鍙andler瑕佽緭鍑虹殑璇彞錛岃鏄庢祴璇曟垚鍔熴傝屼笖鎺у埗鍙版墦鍑鴻鍙ョ殑欏哄簭鏄拰鎴戜滑鍔犺澆handler鐨勯『搴忎竴鏍風殑銆?/p>
闄や簡<requestFlow>涔嬪錛孉xis榪樻彁渚涗簡涓庝箣鐩稿簲鐨?lt;/responseFlow>錛岀敤娉曞拰鏄痳equestflow涓鏍風殑錛屾墍涓嶅悓鐨勬槸涓涓湪service鎵ц涔嬪墠涓涓槸涔嬪悗銆傚彲浠ュ姞涓嬮潰浠g爜鍒板彂甯冩枃浠朵腑鐨?lt;service>鍏冪礌涓嬪氨鍙互瀹炵幇responseflow鐨勫姛鑳?/p>
< responseFlow > < handler type = "HelloWorldHandler" /> </ responseFlow > <responseFlow>
<handler type="HelloWorldHandler"/>
</responseFlow>
鏈鍚庣畝鍗曟彁涓涓嬭繙紼嬬鐞嗭紝涔熷氨鏄疪emote Administration銆傝瀹炵幇榪滅▼綆$悊鍦ㄥ彂甯冩枃浠剁殑<service>鏍囩涓嬪姞鍏ヤ笅闈竴孌佃鍙ュ氨鍙互浜嗐?/p>
< parameter name = "enableRemoteAdmin" value = "true" /> <parameter name="enableRemoteAdmin" value="true"/>
涓嶈繃榪滅▼綆$悊浼氭湁瀹夊叏鏂歸潰鐨勯棶棰橈紝鎵浠ヤ笉寤鴻浣跨敤銆?/p>
涓浜涢珮綰ч儴鍒嗗氨鍏堣鍒拌繖閲岋紝榪樻湁涓浜涙瘮濡俁PC docuement Wrapped Message鐨勫尯鍒拰浣匡紝濡備綍浼犻掍竴涓狫avabean錛岃繕鏈変竴浜涢厤緗柟闈㈢殑鐨勯棶棰樺氨鐣欏埌涓嬭妭璇村惂銆?/p>
]]>杞?--------鍒╃敤AXIS寮鍙慦ebservice(涓) 鈥斺?濡備綍鍙戝竷鑷繁鐨剋ebservice 錛堢洰鐨勶細瀛︿範錛?/title> http://www.tkk7.com/baizhihui19870626/articles/380247.html灝忕櫧19870626 灝忕櫧19870626 Thu, 07 Jun 2012 08:28:00 GMT http://www.tkk7.com/baizhihui19870626/articles/380247.html http://www.tkk7.com/baizhihui19870626/comments/380247.html http://www.tkk7.com/baizhihui19870626/articles/380247.html#Feedback 0 http://www.tkk7.com/baizhihui19870626/comments/commentRss/380247.html http://www.tkk7.com/baizhihui19870626/services/trackbacks/380247.html 鍏堜粙緇嶄笅鏈漢寮鍙戠幆澧冨惂銆?JDK 1.4.2 + Myeclipse 6.0錛堝疄鍦ㄧ粡涓嶈搗璇辨儜錛屽皾灝濋矞錛?+ Tomcat 5.0.28 + AXIS 1.4銆?AXIS 1.4鍖呭彲浠ュ湪http://ws.apache.org/axis/ 鎵懼埌銆?鍋囪鎵鏈夌殑鐜浣犲凡緇忔惌濂斤紝騫朵笖AXIS鍖呬篃宸茬粡涓嬪ソ浜嗐侽K錛?Here we go~
瑙e帇axis-bin-1_4.zip榪欎釜鍖呭彲浠ョ湅鍒皐ebapps鐩綍錛屽弻鍑昏繘鍏ユ妸閲岄潰鐨凙XIS鏂囦歡澶規嫹鍒?%TOMCAT_HOME%\webapps鐩綍涓嬶紝涔嬪悗鎷瘋礉activation.jar銆乵ail.jar銆乼ools.jar鍒?TOMCAT_HOME%\webapps\axis\WEB-INF\lib鐩綍涓嬨傚惎鍔╰omcat錛岃闂?a href="http://localhost:8080/axis/happyaxis.jsp">http://localhost:8080/axis/happyaxis.jsp 濡傛灉璁塊棶鎴愬姛錛屾伃鍠滀綘錛佸熀鏈殑閰嶇疆浣犲凡緇忓仛瀹屼簡銆?
PS錛氭澶勭殑%TOMCAT_HOME%鎸囩殑鏄疶omcat鐨勫畨瑁呯洰褰曪紝鑷充簬閭e彟澶栫殑涓変釜jar鍖咃紝J2EE 1.4搴撻噷灝辮兘鎵劇殑鍒般?/p>
鐜板湪鏉ヨ涓涓嬫渶鍏抽敭鐨刉ebservice鐨勫彂甯冦侫XIS鎻愪緵浜嗕袱縐嶅彂甯冩柟寮忥紝涓縐嶆槸鍗蟲椂鍙戝竷錛圛nstant Deployment錛夛紝鍙﹀涓縐嶆槸瀹氬埗鍙戝竷錛圕ustom Deployment錛夈傚嵆鏃跺彂甯冩彁渚涗簡涓縐嶉潪甯哥畝鍗曠殑webservice鐨勫彂甯冩柟寮忥紝浣嗘槸鍏朵腑闄愬埗澶錛屽洜姝ゅ湪瀹為檯鐨勫紑鍙戜腑瀹氬埗鍙戝竷鎵嶆槸棣栭夈傝繖閲屼篃灝嗕細浠ュ畾鍒跺彂甯冧負閲嶇偣鏉ヤ粙緇嶃?
1.鍗蟲椂鍙戝竷 JWS (Java Web Service) Files - Instant Deployment
鍗蟲椂鍙戝竷鎻愪緵浜嗕竴縐嶉潪甯哥畝鍗曞彂甯冩柟寮忥紝鍙戝竷鑰呭彧瑕佹湁Java婧愪唬鐮侊紙涔熷氨鏄?java鏂囦歡錛夛紝鐒跺悗鎶婂叾鍚庣紑鍚嶆敼鎴恓ws錛堜篃灝辨槸 java web service鐨勭緝鍐欙級鎷瘋礉鍒?TOMCAT_HOME%\webapps\axis鐩綍涓嬪嵆瀹屾垚浜嗘墍鏈夌殑鍙戝竷宸ヤ綔銆侫XIS鐨勭紪璇戝紩鎿庝細澶勭悊鎺ヤ笅鏉ョ殑鎵鏈変簨鎯呫備笅闈㈡槸涓孌電ず渚嬩唬鐮侊細
java 浠g爜
public class HelloAXIS { public String Hello(String name){ return "AXIS say hello to " + name; } }
鎶?HelloAXIS.java 鏂囦歡鏀規垚 HelloAXIS.jws 鐒跺悗鎷瘋礉鍒?TOMCAT_HOME%\webapps\axis鐩綍涓嬶紝鍚姩Tomcat涔嬪悗璁塊棶 http://localhost:8080/axis/HelloAXIS.jws 濡傛灉鑳界湅鍒?Click to see the WSDL榪欎釜瓚呴摼鎺ュ氨璇存槑宸茬粡鍙戝竷鎴愬姛浜嗭紝鐐瑰嚮榪涘幓灝卞彲浠ョ湅鍒拌繖涓猈ebservice鐨刉SDL鎻忚堪鏂囦歡銆俿erver绔殑鍙戝竷宸茬粡瀹屾垚浜嗭紝鎺ヤ笅鏉ュ氨鏄紪鍐機lient绔祴璇曚唬鐮佷簡銆?/p>
java 浠g爜
package com.chnic.test; import java.net.URL; import javax.xml.namespace.QName; import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class Test { public static void main(String[] args) throws Exception{ String targetEendPoint = "http://localhost:8080/axis/HelloAXIS.jws" ; Service service = new Service(); Call call = (Call) service.createCall(); call.setOperationName( new QName(targetEendPoint, "Hello" )); call.setTargetEndpointAddress( new URL(targetEendPoint)); String result = (String) call.invoke( new Object[]{ "Robert" }); System.out.println(result); } }
嫻嬭瘯浠g爜寰堢畝鍗曪紝濡傛灉鐔熸倝java鍙嶅皠鏈哄埗鐨勬湅鍙嬩笉鐢ㄤ袱鍒嗛挓灝辮兘鐪嬫槑鐧姐傝繍琛屽悗瀹㈡埛绔帶鍒跺彴鍑虹幇 AXIS say hello Robert銆傛祴璇曟垚鍔熴傛灉鐒跺緢綆鍗曞惂銆備笉榪囧湪榪欑畝鍗曡儗鍚庡嵈鏄互鐗虹壊鐏墊椿鎬т負浠d環鐨勩傚亣濡備綘鐜板湪鎵嬮噷鍙湁.class 鎴栬呬竴涓猨ar鍖咃紝jws灝變笉鍐嶈兘婊¤凍浣犵殑闇姹備簡錛屾渶瑕佸懡鐨勫氨鏄嵆鏃跺彂甯冧笉鏀寔甯﹀寘鐨勭被錛岃繖鐐笰XIS鐨勭敤鎴鋒墜鍐屼笂鍐欑殑涔熷緢鏄庣櫧銆?/p>
Important: JWS web services are intended for simple web services. You cannot use packages in the pages, and as the code is compiled at run time you can not find out about errors until after deployment. Production quality web services should use Java classes with custom deployment.
2.瀹氬埗鍙戝竷 Custom Deployment - Introducing WSDD
姣旇搗鍗蟲椂鍙戝竷瀹氬埗鍙戝竷鏇村姞鐑︾悙涔熸洿澶嶆潅錛屼絾鏄崲鏉ョ殑鍗存槸鏇村ぇ鐨勭伒媧繪э紝鍥犳鍦ㄥ疄闄呴」鐩腑瀹氬埗鍙戝竷榪樻槸涓嶄簩鐨勯夋嫨銆傚畾鍒跺彂甯冮渶瑕佷綘鑷繁緙栧啓涓涓猈SDD錛圵eb Service Deployment Descriptor錛夋枃浠訛紝榪欎釜涓滀笢綾諱技涓嶺ML紼嶅悗浼氬仛鍑轟粙緇嶃傚簾璇濅笉澶氳錛屾垜浠潵鐪嬩唬鐮侊細
java 浠g爜
package com.chnic.webservice; public class HelloWorld { public HelloWorld(){ } public String hello(String str){ return "Hello " + str; } public int add( int a, int b){ return a + b; } }
涓涓甫鍖呯殑寰堢畝鍗曠殑綾伙紝鍦╡clipse涓嬬紪璇戝悗鎸夌収鍖呭悕鎷峰埌 %TOMCAT_HOME%\webapps\axis\WEB-INF\classes 鐩綍涓嬨備互榪欎釜綾諱負渚嬶紝鎷瘋礉瀹屼箣鍚庤繖涓狧elloWorld.class鐨勮礬寰勫氨鏄?%TOMCAT_HOME%\webapps\axis\WEB-INF\classes\com\chnic\webservice銆侾S錛?濡傛灉瀚岃繖鏍峰お楹葷儲錛屽彲浠ュ彟澶栧緩涓涓狫ava Web宸ョ▼鐢╩yeclipse鐨勫彂甯冨伐鍏峰彂甯冨埌Tomcat涔嬪悗錛屾暣浣撲竴嬈℃ф嫹璐濆埌websericve鐨勫伐紼嬩腑銆?/span>
鎺ヤ笅鏉ュ氨闇瑕佺紪鍐欏彂甯冩枃浠禿eploy.wsdd銆傚埌%TOMCAT_HOME%\webapps\axis\WEB-INF 鐩綍涓嬪緩绔嬭繖涓枃浠跺茍鍦ㄥ叾涓坊鍔犲涓嬪唴瀹癸細
xml 浠g爜
< deployment xmlns = http://xml.apache.org/axis/wsdd/ xmlns:java = "http://xml.apache.org/axis/wsdd/providers/java" > < service name = "HelloWorld" provider = "java:RPC" > < parameter name = "className" value = "com.chnic.webservice.HelloWorld" /> < parameter name = "allowedMethods" value = "*" /> </ service > </ deployment >
綆鍗曠殑浠嬬粛涓嬪悇涓妭鐐圭殑鍚箟錛?HelloWorld"褰撶劧鏄繖涓獁ebservice鐨勫悕瀛楋紝鍚庨潰绱ц窡鐨刯ava錛歊PC鎸囩殑鏄湇鍔$被鍨嬨傝繖閲屼竴鍏辨湁鏈?縐嶇被鍨嬶紝鍒嗗埆鏄細RPC, Document, Wrapped 鍜?Message銆傛湁鍏磋叮鍙互鐪嬩笅 org.apache.axis.providers榪欎釜鍖呭拰瀛愬寘涓嬮潰鐨勭被鐨凙PI鏂囨。銆備箣鍚庣殑parameter鑺傜偣絎竴涓綋鐒舵槸鎸囧嚭鍏蜂綋鐨勭被錛岀浜屼釜浠庡瓧闈笂涔熷緢濂界悊瑙o細鍏佽璋冪敤鐨勬柟娉曘傝繖閲岀殑閰嶇疆鍛婅瘔寮曟搸鍙互璋冪敤鎵鏈夌殑public鏂規硶錛屽綋鐒朵綘涔熷彲浠ヨ嚜宸辨寚瀹氥?/span>
緙栧啓瀹岄厤緗彂甯冩枃浠朵箣鍚庯紝cmd鎵撳紑windows鐨勬帶鍒跺彴錛岃繘鍏?TOMCAT_HOME%\webapps\axis\WEB-INF鐩綍涓嬮敭鍏ュ涓嬪懡浠?
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
涔嬪悗鎺у埗鍙拌繑鍥?span>Processing file deploy.wsdd 鍜?Done processing 榪欎袱孌佃瘽鍗寵鏄庡彂甯冩垚鍔熴傦紙姝ゆ椂浼氬湪鍚岀駭鐩綍鐢熸垚涓涓?span>server-config.wsdd鏂囦歡 錛夊湪榪欓噷鐨凙dminClient鏄疉XIS鎻愪緵鐨勪竴涓鎴風綆$悊宸ュ叿銆傝嚦浜巎ava.ext.dirs鐨勫惈涔夊彲浠ュ幓浜嗚В涓涓媍lassloader鍜孞VM綾昏杞芥満鍒舵柟闈㈢殑鐭ヨ瘑錛屽湪榪欓噷灝變笉澶氳В閲娿?榪樻湁涓鐐硅娉ㄦ剰鐨勬槸鍦ㄥ彂甯冪殑鏃跺橳omcat鏈嶅姟蹇呴』澶勪簬鍚姩鐘舵侊紝鍚﹀垯灝變細鎶涘嚭涓鍫嗘棤娉曡繛鎺ョ殑寮傚父淇℃伅銆傚彂甯冩垚鍔熶箣鍚庝綘鍙互閫氳繃璁塊棶 http://localhost:8080/axis/servlet/AxisServlet 鏉ユ煡鐪嬩綘鎵鏈夌殑瀹氬埗鍙戝竷鐨勬湇鍔°?/span>
瀹㈡埛绔祴璇曚唬鐮?/div>
String targetEendPoint = "http://localhost:8080/axis/services/HelloWorld" ; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(targetEendPoint)); call.setOperationName( new QName(targetEendPoint, "hello" )); String result = (String) call.invoke( new Object[]{ "Robert" }); System.out.println(result); call.setOperationName( new QName(targetEendPoint, "add" )); Integer res = (Integer) call.invoke( new Object[]{ new Integer( 1 ), new Integer( 2 )}); System.out.println( "The result is: " + res);
榪愯嫻嬭瘯浠g爜錛屾帶鍒跺彴鏄劇ず Hello Robert 鍜?The result is: 3 榪欎袱鍙ヨ瘽錛岃鏄庡彂甯冩垚鍔熴備粩緇嗚瀵熶笅鍙戠幇鍏跺疄闄や簡閭d釜targetEndpoint 涔嬪錛屽嵆鏃跺彂甯冨拰瀹氬埗鍙戝竷鐨勫鎴風璋冪敤浠g爜鍩烘湰涓婇兘鏄竴鏍風殑銆傚畾鍒跺彂甯冪殑URL鍙互鍦╓SDL鏂囦歡閲屾壘鍒般? 鍏跺疄瀹氬埗鍙戝竷榪樻湁涓浜涢珮綰х壒鎬э紝榪欎釜灝辯暀鍒頒笅涓綃囧啀璇村惂銆?span>
]]>
java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI(xxx) needs 2.1 API http://www.tkk7.com/baizhihui19870626/articles/375258.html灝忕櫧19870626 灝忕櫧19870626 Thu, 19 Apr 2012 05:50:00 GMT http://www.tkk7.com/baizhihui19870626/articles/375258.html http://www.tkk7.com/baizhihui19870626/comments/375258.html http://www.tkk7.com/baizhihui19870626/articles/375258.html#Feedback 0 http://www.tkk7.com/baizhihui19870626/comments/commentRss/375258.html http://www.tkk7.com/baizhihui19870626/services/trackbacks/375258.html 鍦ㄤ嬌鐢╳ebservice,mule esb絳夐渶瑕乯axb鐨勯」鐩噷緇忓父浼氬嚭鐜?JAXB 2.0 API is being loaded from the bootstrap classloader榪欎釜閿欒錛屾寜鐓ф墦鍑虹殑淇℃伅Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/ )鍘誨仛錛岄氬父鏄В鍐充笉浜嗛棶棰樼殑錛岃寤鴻淇℃伅鏈変袱涓棶棰樺鑷翠笉鍙錛?/p>
1. 涓嶆槸涓嬭澆jaxb-api.jar 鑰屾槸涓嬭澆jaxb-api-2.1.jar鏂囦歡
2.涓嶆槸鎶婁笅杞界殑榪欎釜jar鏂囦歡鏀懼湪sun緗戠珯緇欏嚭鐨?lt;java-home>/lib/endorsed 涓嬶紝鑰屾槸瑕佽嚜宸辮瘯楠岀‘瀹氬簲璇ユ斁鍦ㄥ摢涓洰褰曚笅錛?/p>
紜畾鏀懼湪鍝釜鐩綍涓嬬殑鏂規硶濡備笅錛?/p>
棣栧厛瑕佺湅浣犵殑欏圭洰鏄痡ava欏圭洰榪樻槸java web欏圭洰錛?/p>
A, java欏圭洰鐩存帴鎵撳嵃System.out.println(System.getProperty("java.endorsed.dirs"));鍗蟲槸jaxb-api-2.1.jar搴旇鏀劇殑鐩綍銆?/p>
B, java web 欏圭洰瑕佺敤涓涓彲浠ユ甯稿惎鍔ㄧ殑web欏圭洰(褰撶劧娌$敤鍒癹axb鐨剋eb欏圭洰)錛屾墦鍗癝ystem.out.println(System.getProperty("java.endorsed.dirs"));鍗沖彲錛屾垜鐨勬槸java web欏圭洰錛屾墦鍑虹殑鏄疎:/tomcat6/common/endorsed
鎴戞妸jaxb-api-2.1.jar鏀懼埌E:/tomcat6/common/endorsed涓嬪悗闂瑙e喅銆?/p>
娉細娌℃湁common/endorsed鐩綍鐨勶紝鑷繁鍒涘緩銆?/p>
]]>
主站蜘蛛池模板:
中文字幕av无码不卡免费 |
黄网站色在线视频免费观看 |
国产亚洲精品国产 |
91手机看片国产永久免费 |
国产精品亚洲天堂 |
亚洲乱亚洲乱淫久久 |
日本人护士免费xxxx视频 |
国内精品久久久久影院免费 |
久久亚洲精品国产亚洲老地址 |
亚洲精品岛国片在线观看 |
亚洲黄色免费网址 |
国产成人精品亚洲 |
99亚洲精品高清一二区 |
国产免费爽爽视频免费可以看 |
午夜精品免费在线观看 |
国产亚洲精品美女久久久久久下载 |
亚洲国产高清在线 |
亚洲男人天堂2020 |
麻豆成人精品国产免费 |
91精品全国免费观看含羞草 |
成人a毛片视频免费看 |
亚洲中文无码a∨在线观看 |
中文字幕精品亚洲无线码一区
|
国产一级特黄高清免费大片 |
91大神免费观看 |
国产精品美女免费视频观看 |
男人天堂2018亚洲男人天堂 |
水蜜桃亚洲一二三四在线 |
亚洲欧洲精品成人久久曰影片 |
在线观看免费为成年视频 |
永久看日本大片免费35分钟 |
成人片黄网站色大片免费观看cn
|
亚洲一区二区三区播放在线 |
亚洲av最新在线网址 |
亚洲精品人成无码中文毛片 |
成人免费看吃奶视频网站 |
久久WWW免费人成一看片 |
日韩精品无码免费专区网站 |
久久久受www免费人成 |
四虎成人精品国产永久免费无码 |
亚洲乱妇老熟女爽到高潮的片 |