Java使用SOAP猎取webservice实例解析

Java使用SOAP获取webservice实例解析1.webservice提供方:http://www.webxml.com.cn/zh_cn/index.aspx2.下面我们以“获得腾讯QQ在线状态”为例。参数截图如下图:SOAP1.1以下是SOAP1.2请求和响应示例。所显示的占位符需替换为实际值。[http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?op=qqCheckOnline]点击前面的网址,查看对应参数信息。3.Java程序packagejunit;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStream;importjava.io.OutputStreamWriter;importjava.io.PrintWriter;importjava.io.UnsupportedEncodingException;importjava.net.HttpURLConnection;importjava.net.URL;importorg.junit.Test;publicclassJxSendSmsTest{/***获得腾讯QQ在线状态**输入参数:QQ号码String,默认QQ号码:8698053。返回数据:String,Y=在线;N=离线;E=QQ号码错误;A=商业用户验证失败;V=免费用户超过数量*@throwsException*/@TestpublicvoidsendSms()throwsException{StringqqCode="416501600";//qq号码StringurlString="http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx";Stringxml=JxSendSmsTest.class.getClassLoader().getResource("SendInstantSms.xml").getFile();StringxmlFile=replace(xml,"qqCodeTmp",qqCode).getPath();StringsoapActionString="http://WebXml.com.cn/qqCheckOnline";URLurl=newURL(urlString);HttpURLConnectionhttpConn=(HttpURLConnection)url.openConnection();FilefileToSend=newFile(xmlFile);byte[]buf=newbyte[(int)fileToSend.length()];newFileInputStream(xmlFile).read(buf);httpConn.setRequestProperty("Content-Length",String.valueOf(buf.length));httpConn.setRequestProperty("Content-Type","text/xml;charset=utf-8");httpConn.setRequestProperty("soapActionString",soapActionString);httpConn.setRequestMethod("POST");httpConn.setDoOutput(true);httpConn.setDoInput(true);OutputStreamout=httpConn.getOutputStream();out.write(buf);out.close();byte[]datas=readInputStream(httpConn.getInputStream());Stringresult=newString(datas);//打印返回结果System.out.println("result:"+result);}/***文件内容替换**@paraminFileName源文件*@paramfrom*@paramto*@return返回替换后文件*@throwsIOException*@throwsUnsupportedEncodingException*/publicstaticFilereplace(StringinFileName,Stringfrom,Stringto)throwsIOException,UnsupportedEncodingException{FileinFile=newFile(inFileName);BufferedReaderin=newBufferedReader(newInputStreamReader(newFileInputStream(inFile),"utf-8"));FileoutFile=newFile(inFile+".tmp");PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(newFileOutputStream(outFile),"utf-8")));Stringreading;while((reading=in.readLine())!=null){out.println(reading.replaceAll(from,to));}out.close();in.close();//infile.delete();//删除源文件//outfile.renameTo(infile);//对临时文件重命名returnoutFile;}/***从输入流中读取数据*@paraminStream*@return*@throwsException*/publicstaticbyte[]readInputStream(InputStreaminStream)throwsException{ByteArrayOutputStreamoutStream=newByteArrayOutputStream();byte[]buffer=newbyte[1024];intlen=0;while((len=inStream.read(buffer))!=-1){outStream.write(buffer,0,len);}byte[]data=outStream.toByteArray();//网页的二进制数据outStream.close();inStream.close();returndata;}}4、SendInstantSms.xml文件如下,放在src目录下qqCodeTmp

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?