- 浏览: 206509 次
- 性别:
- 来自: 新疆
文章分类
最新评论
-
nirohappy:
分析得非常好,帮到大忙了
64位win7下PL/SQL Developer 报“ORA-12154: TNS:无法解析指定的连接标识符”问题的一个解决办法[转帖] -
行到水穷:
昨天搞了半天,原来答案就是这么坑 ,谢谢大神
64位win7下PL/SQL Developer 报“ORA-12154: TNS:无法解析指定的连接标识符”问题的一个解决办法[转帖] -
wukele:
及时雨,找了好久
64位win7下PL/SQL Developer 报“ORA-12154: TNS:无法解析指定的连接标识符”问题的一个解决办法[转帖] -
hyj1254:
这样计算是不准确的,js的乘或除会产生精度问题。
javascript 四舍五入函数 -
saveunme:
楼主,代码里的<span>是怎么回事啊....?
java下载远程服务器端数据文件
项目上说是要用到web Service 给其他系统提供接口。然后通过查找资料以及自己的理解和整理 发到这里供大家参考。
1.我先是在项目中写了2个类 然后用MyEclipse自带的web service来生成。
2.对已生成好的web service服务端进行发布后 写了测试方法 测试通过。
3.在web service生成过程中参考http://jyangzi5.iteye.com/blog/671479中的资料,这里的生成过程已经写的很详细,但是我是第一次使用web service,对其中的一些内容理解的不是很透彻,通过自己的理解及测试 整理以下内容:
首先是我写的一个文件上传的类:
import java.io.File; import java.util.ArrayList; import java.util.List; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import com.adobe.internal.pdftoolkit.services.javascript.stubs.auto.Directory; public class FileUpload { //文件上传类(该方法用于生成webservice) public boolean SaveFile(byte[] binData, String fileName) {//传入的参数为:文件字节流,上传后的文件路径及名称 boolean success = false; File file = new File(fileName); file.getParentFile().mkdirs(); try { BufferedOutputStream bufferedOutputStream = new BufferedOutputStream( new FileOutputStream(file)); bufferedOutputStream.write(binData); bufferedOutputStream.close(); success = true; } catch (IOException e) { e.printStackTrace(); } return success; } // 生成web service时使用的测试方法 public String getUserName(String str) { return "Hello" + str + ",this is an Axis Dynamic Proxy Web Service"; } /** * @param args */ public static void main(String[] args) { FileUpload fu = new FileUpload(); //在main方法中写的在本地进行上传的测试方法 File fileS = new File("f:\\sxm\\nod32激活码.txt"); if (!fileS.exists()) { System.out.println("找不到指定文件"); return; } FileInputStream fileIS = null; byte[] binData = null; try { fileIS = new FileInputStream(fileS); binData = new byte[(int) fileS.length()]; BufferedInputStream bufferedInputStream = new BufferedInputStream( new FileInputStream(fileS)); int r = bufferedInputStream.read(binData); if (r != fileS.length()) throw new IOException("读取文件不正确"); bufferedInputStream.close(); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } finally { if (fileIS != null) { try { fileIS.close(); } catch (IOException ex) { ex.printStackTrace(); } } } boolean f = fu.SaveFile(binData, "c:\\11.txt"); } }
其次:类写好了以后 就开始自动生成
步骤为:
1、在新建向导中选择Web Service-->Web Service,在显示的窗口中选择要生成的类:
2、点击下一步,选择要生成web service的方法:
3、点击下一步并完成web service的生成。
现在web service已经生成好了
系统会在项目的WebContent目录下自动生成wsdl文件以及Service、web.xml、wsdd文件
web.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class> org.apache.axis.transport.http.AxisServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/servlet/AxisServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>*.jws</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>
wsdl文件:
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://Tools.**.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://Tools.**.com" xmlns:intf="http://Tools.**.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!--WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)--> <wsdl:types> <schema elementFormDefault="qualified" targetNamespace="http://Tools.**.com" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="SaveFile"> <complexType> <sequence> <element name="binData" type="xsd:base64Binary"/> <element name="fileName" type="xsd:string"/> </sequence> </complexType> </element> <element name="SaveFileResponse"> <complexType> <sequence> <element name="SaveFileReturn" type="xsd:boolean"/> </sequence> </complexType> </element> </schema> </wsdl:types> <wsdl:message name="SaveFileRequest"> <wsdl:part element="impl:SaveFile" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="SaveFileResponse"> <wsdl:part element="impl:SaveFileResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:portType name="FileUpload"> <wsdl:operation name="SaveFile"> <wsdl:input message="impl:SaveFileRequest" name="SaveFileRequest"> </wsdl:input> <wsdl:output message="impl:SaveFileResponse" name="SaveFileResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="FileUploadSoapBinding" type="impl:FileUpload"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="SaveFile"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="SaveFileRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="SaveFileResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="FileUploadService"> <wsdl:port binding="impl:FileUploadSoapBinding" name="FileUpload"> // 测试时访问的地址. wsdl的访问地址为http://localhost:8080/Indicator/services/FileUpload?wsdl <wsdlsoap:address location="http://localhost:8080/Indicator/services/FileUpload"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
wsdd文件中关键部分(我认为这一部分是最主要的部分,如果类中有多个方法的话 只需要在这个wsdd的配置文件中添加多个service即可):
<ns1:service name="FileUpload" provider="java:RPC" style="wrapped" use="literal">//类名 <ns2:operation name="SaveFile" qname="ns1:SaveFile" returnQName="ns1:SaveFileReturn" returnType="xsd:string" soapAction="" xmlns:ns1="http://Tools.xjgzinfo.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://xml.apache.org/axis/wsdd/">//方法名 <ns2:parameter qname="ns1:binData" type="xsd:byte[]"/>//此处为方法中传入的参数 <ns2:parameter qname="ns1:fileName" type="xsd:String"/> </ns2:operation> <ns1:parameter name="allowedMethods" value="SaveFile"/>//方法名 <ns1:parameter name="typeMappingVersion" value="1.2"/> <ns1:parameter name="wsdlPortType" value="FileUpload"/> <ns1:parameter name="className" value="com.**.Tools.FileUpload"/>//完整的类名 <ns1:parameter name="wsdlServicePort" value="FileUpload"/> <ns1:parameter name="schemaQualified" value="http://Tools.**.com"/> <ns1:parameter name="wsdlTargetNamespace" value="http://Tools.xjgzinfo.com"/> <ns1:parameter name="wsdlServiceElement" value="FileUploadService"/> </ns1:service>
然后就是对WebService写的一个测试的方法:
public static void main(String[] args) { // TODO Auto-generated method stub String targetEndPoint1 = "http://localhost:8080/Indicator/services/FileUpload"; Service ser = new Service(); try { Call call = (Call) ser.createCall(); call.setTargetEndpointAddress(targetEndPoint1); call.setOperation("SaveFile"); File fileS = new File("f:\\sxm\\nod32激活码.txt"); if (!fileS.exists()) { System.out.println("找不到指定文件"); return; } FileInputStream fileIS = null; byte[] binData = null; try { fileIS = new FileInputStream(fileS); binData = new byte[(int) fileS.length()]; BufferedInputStream bufferedInputStream = new BufferedInputStream( new FileInputStream(fileS)); int r = bufferedInputStream.read(binData); if (r != fileS.length()) throw new IOException("读取文件不正确"); bufferedInputStream.close(); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } finally { if (fileIS != null) { try { fileIS.close(); } catch (IOException ex) { ex.printStackTrace(); } } } boolean flag = (Boolean)call.invoke(new Object[] {binData,new String("c:\\123.txt")}); System.out.println("flag=========================="+flag); } catch (ServiceException e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } }
web Service 已经生成完毕,启动Tomcat服务
测试结果
flag==========================true
希望以上的内容能大家提供一些参考和帮助。
发表评论
-
Springboot中集成Activiti工作流,查看流程进度乱码的问题
2021-12-10 19:51 388[size=medium]流程图乱码问题 问题描述: 本 ... -
Springboot中集成百度ueditor插件
2021-12-10 18:13 788近期,手上的一个项目,用到了文本编辑,现在的后台开源框架 ... -
Illegal use of <when>-style tag without <choose> as its direct paren
2016-06-29 17:48 1304在jsp页面使用c:when标签时,报错 Illegal us ... -
Remember that ordinal parameters are 1-based!
2013-07-30 16:42 2798今天使用Hibernate出个奇怪的错误,第一次碰到 ... -
java下载远程服务器端数据文件
2011-11-24 19:05 3413在java中实现下载远程 ... -
tomcat启动报:严重: IOException while loading persisted sessions: java.io.EOFException
2010-11-04 13:26 1309严重: IOException while loading p ... -
poi读取excel文件
2010-10-12 20:56 2581方法1:(转自:http://www.blogjava.ne ... -
解决MyEclipse update progress错误的方法
2010-07-26 13:20 3444方法1: MyEclipse中设置 windows- ... -
quartz在添加任务时所遇到的问题
2009-06-25 12:33 8757日前在项目中使用Quartz进行任务调度,在使用过程中 ... -
Strus常见错误及原因分析
2009-05-24 19:03 1157Strus常见错误及原因分析 本篇文章包含了在用Struts ... -
获取当前系统时间
2009-05-13 10:17 1638package com.sailing.app.test.sx ... -
Unable to load bean org.apache.struts2.dispatcher.
2009-05-04 10:59 6207后台报错日志: 02:40:11,646 ERROR [org ... -
Tomcat下的文件夹介绍
2009-01-06 17:53 3827Tomcat下的文件夹介绍 本人刚加入程序员的行列,对一些技 ... -
java异常:java.net.SocketException: Connection reset
2008-11-19 12:28 28121java.net.SocketException: Conne ... -
启动eclipse时出现java.lang.NoClassDefFoundError:
2008-11-14 11:29 4838!SESSION 2008-11-14 11:17:49.51 ...
相关推荐
axis2+myeclipse开发webService!axis2+myeclipse开发webService
上传了800遍都没成功,这是AXIS2+Myeclipse实现WebService数据库存储简单实例,实现登录, 我的博客有详细教程
一步步教你如何生成webservice客户端代码
axis2 1.6 MyEclipse8.6 插件 webservice 复制到MyEclipse文件夹下得dropins目录,重启MyEclipse 即可,X:\Genuitec\MyEclipse-8.6\dropins
----------示例包括: 普通数据类型 ...使用axis2通过自编写的server端生成wsdl,通过wsdl生成服务(aar,将aar文件放入tomcat/webapps/axis2/WEB-INF/services下),再通过wsdl生成客户端,通过客户端调用服务
使用myeclipse8.5安装axis2插件,工程主要是通过server端类生成服务,生成客户端。 1、使用服务端类com.Hello.java,com.Other.java生成wsdl、aar文件【aar文件通过axis2插件的Axis2 service archiver生成】【wsdl...
...
。。。
Web+Services发布与调用,非常详细
本文介绍了Eclipse3.2+MyEclipse5.5M1+axis2_1.1.1+tomcat5.5 开发Web Services的一个实例,相当详细!!
利用AXIS开发Webservice(一) —— 如何发布自己的webservice 先介绍下本人开发环境吧。 JDK 1.4.2 + Myeclipse 6.0(实在经不起诱惑,尝尝鲜) + Tomcat 5.0.28 + AXIS 1.4。 AXIS 1.4包可以在...
使用myeclipse8.5安装axis2插件,工程主要是通过server端类生成服务,生成客户端。 1、使用服务端类com.Hello.java,com.Other.java生成wsdl、aar文件【aar文件通过axis2插件的Axis2 service archiver生成】【wsdl...
MyEclipse下开发WebService(Axis).pdf
MyEclipse+Axis2插件开发Web服务 java axis2 axis webservice axis2 myeclipse 插件
通过myeclipse2014,结合axis2插件生成webservice服务端和客户端流程
第三种方式是利用axis2插件,将wsdl文件自动生成客户端代码,此种方式在myeclipse安装axis2.txt文件中已经做了详细介绍。 备注:资源超过了70M 分成了3部分 见axis2方式开发webservice(一)和 axis2方式开发...
第三种方式是利用axis2插件,将wsdl文件自动生成客户端代码,此种方式在myeclipse安装axis2.txt文件中已经做了详细介绍。 备注:资源超过了70M 分成了2部分 见axis2方式开发webservice(一)和 axis2方式开发...
转载网上的,包含axis2的部署,webservice的简单开发、发布等
MyEclipse下开发Web Service(Axis)
axis2 webservice for myeclipse插件Axis2_Service_Archiver_1.3.0 使用方法:解压到eclipse下的dropins下 重起myeclipse