資源描述:
《java_調用.net_WebService2》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、Java調用.net寫的webservice2Java使用axis來調用.net寫的asmxWebService,大體步驟如下。Axis需要用到的包如下:1.axis.jar2.commons-discovery-0.2.jar3.commons-logging-1.0.4.jar4.jaxrpc.jar5.wsdl4j-1.5.1.jarjava調用的代碼如下:.netwebService的GetSafeMode方法[WebMethod]publicstringGetSafeMode(stringfactoryId,stringsimId){…….return“0”;}上面的
2、例子演示了怎樣傳遞參數和接收返回值,傳遞string類型的數據。下面看看怎么解決傳遞Dataset的問題。(以下為轉貼)原文地址:http://shixm.javaeye.com/blog/325610版權歸原文作者所有packageetpsmsws.etpsms.hnas;importjava.util.Iterator;importjavax.xml.namespace.QName;importorg.apache.axis.client.Call;importorg.apache.axis.client.Service;importorg.apache.axis.mess
3、age.MessageElement;importorg.apache.axis.types.Schema;/***
*Title:*
*
*Description:*
*
*Copyright:Copyright(c)2004*
*
*Company:*
**@authornotattributable*@version1.0*/publicclasstestSoap2{publictestSoap2(){}publicstaticvoidmain(String[]args){try{StringwsdlUrl="http://test
4、";StringsoapActionURI="HNAS.EtpSms.EtpSmsWS/GetRecvFromTemp";Serviceservice=newService();Callcall=(Call)service.createCall();////call.setOperationName(newQName("HNAS.EtpSms.EtpSmsWS",//"EtpSmsWSSoap"));call.setOperationName(newQName("HNAS.EtpSms.EtpSmsWS","GetRecvFromTemp"));call.setTargetEn
5、dpointAddress(newjava.net.URL(wsdlUrl));call.addParameter(newQName("HNAS.EtpSms.EtpSmsWS","iMemberId"),org.apache.axis.encoding.XMLType.XSD_INT,javax.xml.rpc.ParameterMode.IN);call.setReturnType(org.apache.axis.encoding.XMLType.XSD_SCHEMA);call.setUseSOAPAction(true);call.setSOAPActionURI(so
6、apActionURI);Object[]objs=newObject[]{"8918"};Objectres=call.invoke(objs);//System.out.println(res);Schemaschema=(Schema)res;MessageElement[]messageElement=schema.get_any();for(inti=0;i7、(messageElement[i].getRealElement()//.getChildren());Iteratoriterator=messageElement[i].getChildElements();while(iterator.hasNext()){MessageElementm=(MessageElement)iterator.next();m=m.getRealElement();Iteratorit=m.getChildElements();while(it.hasNe