weblogic與axis之間向沖突
我們的程序要調(diào)用另一個公司的一個接口,之間傳遞數(shù)據(jù)是采用xml的方法,我們這邊取數(shù)據(jù)是用這個代碼
其中的call是org.apache.axis.client下的,以前我們的中間件是webshere,tomcat倒沒發(fā)現(xiàn)什么異常,后來換成weblogic后,我們就怎么也取不到數(shù)據(jù),但是再開發(fā)模式下就好用。
一步一步的跟蹤發(fā)現(xiàn)是在這
xmlReturn = (String) call.invoke(new Object[] { requestContent });
出現(xiàn)問題。
查看錯誤日值發(fā)現(xiàn)是和weblogic的webserver相沖突了。
解決的方法有2種:
????<container-descriptor>
????<prefer-web-inf-classes>true</prefer-web-inf-classes>
??</container-descriptor>?
<!DOCTYPE?weblogic-web-app?PUBLIC?"-//BEA?Systems,?Inc.//DTD?Web?Application?8.1//EN"?"http://www.bea.com/servers/wls610/dtd/weblogic-web-jar.dtd">
<weblogic-web-app>
????<jsp-descriptor>
????????<jsp-param>
????????????<param-name>compileFlags</param-name>
????????????<param-value>-g</param-value>
????????</jsp-param>
????????<jsp-param>
????????????<param-name>keepgenerated</param-name>
????????????<param-value>true</param-value>
????????</jsp-param>
????</jsp-descriptor>
????<container-descriptor>
????????<prefer-web-inf-classes>true</prefer-web-inf-classes>
????</container-descriptor>
????<charset-params>
????????<input-charset>
????????????<resource-path>/*</resource-path>
????????????<java-charset-name>GBK</java-charset-name>
????????</input-charset>
????</charset-params>
????<context-root>/bdsc</context-root>
</weblogic-web-app>

1
????????????String?wsURL?=?AppConst.KKSUrl;
2
????????????Service?service?=?new?Service();
3
????????????Call?call?=?(Call)?service.createCall();
4
????????????call.setOperationName(new?QName(wsURL,?"getCodePowerNet"));
5
????????????call.setTargetEndpointAddress(new?URL(wsURL));
6
7
????????????String?requestContent?=?getSimulatedXMLData();
8
????????????xmlReturn?=?(String)?call.invoke(new?Object[]?
{?requestContent?});

2

3

4

5

6

7

8



其中的call是org.apache.axis.client下的,以前我們的中間件是webshere,tomcat倒沒發(fā)現(xiàn)什么異常,后來換成weblogic后,我們就怎么也取不到數(shù)據(jù),但是再開發(fā)模式下就好用。
一步一步的跟蹤發(fā)現(xiàn)是在這
xmlReturn = (String) call.invoke(new Object[] { requestContent });
出現(xiàn)問題。
查看錯誤日值發(fā)現(xiàn)是和weblogic的webserver相沖突了。
解決的方法有2種:
1.? 配置weblogic.xml,強制weblogic首先加載應(yīng)用WEB-INF中的class
2.? 修改startweblogic.cmd,將axis下的saaj.jar的路徑放在weblogic的webservices.jar之前。



不過這段代碼加進去要注意先后順序
























posted on 2006-11-24 08:41 冷面閻羅 閱讀(4169) 評論(3) 編輯 收藏 所屬分類: 數(shù)據(jù)庫