Java 使用Axis調(diào)用WebService的示例代碼
import org.apache.axis.client.Call;import org.apache.axis.client.Service;/** * @ClassName: TestAxis * @Description: TODO(描述這個(gè)類(lèi)的作用) * @author huc* */ public class TestAxis { public static void main(String []args){ String inConditions = '<?xml version='1.0' encoding='UTF-8' ?><ROWS><INFO><SBM>*</SBM></INFO><ROW><GMSFHM>公民身份號(hào)碼</GMSFHM><XM>姓名</XM></ROW><ROW><GMSFHM>110101******</GMSFHM><XM>李聞</XM><FSD>100600</FSD><YWLX>個(gè)人貸款</YWLX></ROW><ROW><GMSFHM>3624221952123***</GMSFHM><XM>李一聞</XM><FSD>100600</FSD><YWLX>個(gè)人貸款</YWLX></ROW><ROW><GMSFHM>1234********</GMSFHM><XM>王龍</XM><FSD>100600</FSD><YWLX>銀行開(kāi)戶(hù)</YWLX></ROW><ROW><GMSFHM>110101******</GMSFHM><XM></XM><FSD>100600</FSD><YWLX>個(gè)人車(chē)貸</YWLX></ROW><ROW><GMSFHM>110101******</GMSFHM><XM></XM><FSD>100600</FSD><YWLX></YWLX></ROW><ROW><GMSFHM>230602***</GMSFHM><XM></XM><FSD>100600</FSD><YWLX>個(gè)人車(chē)貸</YWLX></ROW></ROWS>'; String inLicense = '********'; try{ //調(diào)用webservice地址 String url = 'https://www.****.com/services/NciicServices'; //如果url地址中有中文參數(shù),要注意應(yīng)單獨(dú)將中文部分進(jìn)行編碼操作后再與URL字符串拼接到一起,編碼方式為:URLEncoder.encode('中文部分', 'utf-8'); //調(diào)用方法名String method='nciicCheck';Service service = new Service();//通過(guò)service創(chuàng)建call對(duì)象 Call call = (Call) service.createCall(); //call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); 設(shè)置soap12協(xié)議方式調(diào)用//設(shè)置服務(wù)地址call.setTargetEndpointAddress(new java.net.URL(url)); //設(shè)置調(diào)用方法call.setOperationName(method);call.setUseSOAPAction(true);//添加方法的參數(shù),有幾個(gè)添加幾個(gè)//inLicense是參數(shù)名,XSD_STRING是參數(shù)類(lèi)型,IN代表傳入call.addParameter('inLicense', org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); call.addParameter('inConditions', org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);//帶命名空間的寫(xiě)法//call.setOperationName(new QName('http://bussiness.***.com', 'callPT'));//call.addParameter(new QName('http://bussiness.***.com','xmlData'),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);//call.addParameter(new QName('http://bussiness.***.com','methodName'),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);//設(shè)置返回類(lèi)型 call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//解決錯(cuò)誤:服務(wù)器未能識(shí)別 HTTP 頭 SOAPAction 的值 call.setUseSOAPAction(true);call.setSOAPActionURI(targetNamespace + operationName);Object ret= null;try{ //使用invoke調(diào)用方法,Object數(shù)據(jù)放傳入的參數(shù)值 ret = call.invoke(new Object[] {inLicense,inConditions}); }catch(Exception e){ e.printStackTrace();}//輸出SOAP請(qǐng)求報(bào)文System.out.println('--SOAP Request: ' + call.getMessageContext().getRequestMessage().getSOAPPartAsString());//輸出SOAP返回報(bào)文System.out.println('--SOAP Response: ' + call.getResponseMessage().getSOAPPartAsString());//輸出返回信息System.out.println('result==='+ret.toString()); }catch(Exception e){ e.printStackTrace(); } } }
下面是輸出結(jié)果信息:
--SOAP Request: <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><soapenv:Body><nciicCheck soapenv:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><inLicense xsi:type='xsd:string'>*****</inLicense><inConditions xsi:type='xsd:string'>*****</inConditions></nciicCheck></soapenv:Body></soapenv:Envelope>--SOAP Response: <?xml version='1.0' encoding='UTF-8'?><soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><soap:Body><ns1:nciicCheckResponse xmlns:ns1='https://api.nciic.org.cn/NciicServices'><ns1:out><?xml version="1.0" encoding="UTF-8"?><RESPONSE errorcode="-72" code="0" countrows="1"><ROWS><ROW><ErrorCode>-72</ErrorCode><ErrorMsg>IP地址受限</ErrorMsg></ROW></ROWS></RESPONSE></ns1:out></ns1:nciicCheckResponse></soap:Body></soap:Envelope>result===<?xml version='1.0' encoding='UTF-8'?><RESPONSE errorcode='-72' code='0' countrows='1'><ROWS><ROW><ErrorCode>-72</ErrorCode><ErrorMsg>IP地址受限</ErrorMsg></ROW></ROWS></RESPONSE>
以上就是Java 使用Axis調(diào)用WebService的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Java 使用Axis調(diào)用WebService的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享2. phpstudy apache開(kāi)啟ssi使用詳解3. JSP之表單提交get和post的區(qū)別詳解及實(shí)例4. Xml簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理5. 詳解瀏覽器的緩存機(jī)制6. .Net Core和RabbitMQ限制循環(huán)消費(fèi)的方法7. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器8. jsp文件下載功能實(shí)現(xiàn)代碼9. ajax請(qǐng)求后臺(tái)得到j(luò)son數(shù)據(jù)后動(dòng)態(tài)生成樹(shù)形下拉框的方法10. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼
