- 浏览: 208228 次
- 性别:
- 来自: 新疆
文章分类
最新评论
-
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 472[size=medium]流程图乱码问题 问题描述: 本 ... -
Springboot中集成百度ueditor插件
2021-12-10 18:13 886近期,手上的一个项目,用到了文本编辑,现在的后台开源框架 ... -
Illegal use of <when>-style tag without <choose> as its direct paren
2016-06-29 17:48 1342在jsp页面使用c:when标签时,报错 Illegal us ... -
Remember that ordinal parameters are 1-based!
2013-07-30 16:42 2833今天使用Hibernate出个奇怪的错误,第一次碰到 ... -
java下载远程服务器端数据文件
2011-11-24 19:05 3454在java中实现下载远程 ... -
tomcat启动报:严重: IOException while loading persisted sessions: java.io.EOFException
2010-11-04 13:26 1337严重: IOException while loading p ... -
poi读取excel文件
2010-10-12 20:56 2636方法1:(转自:http://www.blogjava.ne ... -
解决MyEclipse update progress错误的方法
2010-07-26 13:20 3468方法1: MyEclipse中设置 windows- ... -
quartz在添加任务时所遇到的问题
2009-06-25 12:33 8832日前在项目中使用Quartz进行任务调度,在使用过程中 ... -
Strus常见错误及原因分析
2009-05-24 19:03 1181Strus常见错误及原因分析 本篇文章包含了在用Struts ... -
获取当前系统时间
2009-05-13 10:17 1659package com.sailing.app.test.sx ... -
Unable to load bean org.apache.struts2.dispatcher.
2009-05-04 10:59 6242后台报错日志: 02:40:11,646 ERROR [org ... -
Tomcat下的文件夹介绍
2009-01-06 17:53 3855Tomcat下的文件夹介绍 本人刚加入程序员的行列,对一些技 ... -
java异常:java.net.SocketException: Connection reset
2008-11-19 12:28 28152java.net.SocketException: Conne ... -
启动eclipse时出现java.lang.NoClassDefFoundError:
2008-11-14 11:29 4910!SESSION 2008-11-14 11:17:49.51 ...
相关推荐
在MyEclipse中,右键点击接口类,选择"AXIS2" > "Create Service Skeleton",这会自动生成一个实现类,如`HelloWorldServiceImpl`。 5. **配置服务部署描述符(wsdd)**:在`WEB-INF`目录下创建一个名为`services....
在AXIS2中,客户端代码可以生成自动生成的服务代理类,通过这些类调用远程Web服务,实现与服务器端的通信。在这个实例中,客户端可能包含了一个简单的Java程序,该程序使用这些代理类向服务器发送登录请求,并处理...
通过以上步骤,你将能够成功地使用 Axis2 和 MyEclipse 在 Tomcat 上创建、部署 WebService,并生成及使用客户端代码进行调用。阅读提供的文档《MyEclipse+AXIS2.doc》和《WebService之axis2的使用.doc》将更深入地...
标题 "Axis 自动生成WebService" 涉及到的是在IT行业中创建和使用Web服务的一个关键工具——Axis。Web服务是一种基于互联网的软件应用,允许不同系统之间的数据交换,通常使用XML作为数据格式,SOAP协议进行通信。...
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生成客户端,通过客户端调用服务
本文将介绍如何在myEclipse10中使用Axis2插件与Tomcat6.0发布WebService。首先,我们需要了解Axis2是Apache软件基金会的一个开源项目,它是一个Web服务引擎,用于处理Web服务的发布、部署和管理。myEclipse10是一款...
现在,你可以通过Axis2管理界面或自动生成的客户端代码来调用这个服务。 总结,myEclipse10结合Axis2和Tomcat6.0为开发者提供了一套完整的Web服务开发和部署解决方案。从设置环境到发布服务,整个过程清晰明了,...
### 使用MyEclipse 8.5与Axis2插件开发WebService服务及调用详解 #### 一、前言 在Web开发中,WebService作为一种重要的分布式系统实现方式,被广泛应用于不同平台之间的通信。本文将详细介绍如何利用MyEclipse ...
【使用myEclipse,tomcat 和Axis发布webService】教程 在IT行业中,Web服务是一种标准的通信方式,使得不同的应用程序之间能够交换数据。本文将详细介绍如何使用myEclipse集成开发环境,Apache Tomcat服务器以及...
- 使用Axis插件生成Web服务:通过MyEclipse的“File->New->Other”菜单选择相应的Wizard,生成服务档案(AAR文件),并将其部署到Axis2服务器上。 6. **访问Web服务**:部署完成后,可以通过SOAP请求调用发布在...
【使用Axis自动生成WebService客户端代码】是Web服务开发中的一个重要步骤,它简化了与服务交互的复杂性。本文档主要介绍了如何在MyEclipse 7.0环境下利用Axis 1.4工具生成客户端代码,以便调用并测试Webservice。 ...
【使用Axis自动生成WebService客户端代码】是Web服务开发中的一个重要步骤,它简化了客户端调用Web服务的过程。本文档主要介绍了如何使用Axis工具生成客户端代码,以Myeclipse7.0为开发环境,axis1.4为工具版本,...
在本文中,我们将深入探讨如何使用MyEclipse这个强大的集成开发环境(IDE)来生成Webservice。MyEclipse是基于Eclipse的一款专为Java EE开发者设计的扩展工具,它提供了丰富的功能,包括Web服务的创建、调试和部署。...
### Axis+WebService 教程详解 #### 一、前言 在Java开发领域,Web服务是一种重要的技术,它允许不同的应用程序之间通过网络进行通信。Axis是Apache组织提供的一款开源工具,用于实现Java Web服务和使用Java开发...
这将自动生成Wsdl文件,并通过Code Generator Wizard根据Wsdl文件生成客户端代码,方便调用服务。 总的来说,Apache Axis2结合Eclipse提供了便捷的Web服务开发流程,无论是通过aar文件发布还是直接从Java类生成Wsdl...