Java web服务将文件传输到本地系统
我想用两种方法在java中创建一个web服务 1) 通过返回本地URL将文件从internet传输到本地文件服务器 2) 通过获取url从同一服务器检索文件 注意:它应该适用于所有格式 必须使用Java Web服务 任何类型:字节数组、十六进制或MIME类型传输都可以 附件的大小为4mb 我无法直接连接到数据库,因为应用程序部署在DMZ上,并且我可以连接到Intranet中的文件服务器的唯一方法是使用Webservices 已完成与文件服务器的连接 类似的场景: 他用一个简短的代码解释了一个类似的场景:Java web服务将文件传输到本地系统,java,web-services,file,soap,Java,Web Services,File,Soap,我想用两种方法在java中创建一个web服务 1) 通过返回本地URL将文件从internet传输到本地文件服务器 2) 通过获取url从同一服务器检索文件 注意:它应该适用于所有格式 必须使用Java Web服务 任何类型:字节数组、十六进制或MIME类型传输都可以 附件的大小为4mb 我无法直接连接到数据库,因为应用程序部署在DMZ上,并且我可以连接到Intranet中的文件服务器的唯一方法是使用Webservices 已完成与文件服务器的连接 类似的场景: 他用一个简短的代码解释了一个类似
他用一个简短的代码解释说,如果你的主要问题是要找到通过java的web服务轻松传输文件的技巧,我推荐Hessian服务,这一点在文章中讨论过。这里的链接指向一个实现一种文件传输的示例 如果您不想把web服务本身的逻辑搞得太糟,Hessian是一个很好的解决方案。快速查看Hessian代码,您甚至都不会意识到您正在使用一个。这是一种重量很轻的解决方案 Stefan有一个解决方案,您可以大致了解Web服务逻辑,因此,您需要有多高的抽象级别。如果这项任务的重点是展示如何使用web服务,而不仅仅是让它工作,那么Stefan就有了答案
关于文件上传等,你想从互联网上保存一个文件。看这个:。这使用纯Java,据我所知,不需要任何web服务来完成给定的任务,但是如果您将这两者结合起来,您就可以很容易地获得工作的东西 如果您的主要问题是如何在java中找到通过web服务轻松传输文件的技巧,那么我建议您使用Hessian服务,该服务将在稍后的文章中讨论。这里的链接指向一个实现一种文件传输的示例 如果您不想把web服务本身的逻辑搞得太糟,Hessian是一个很好的解决方案。快速查看Hessian代码,您甚至都不会意识到您正在使用一个。这是一种重量很轻的解决方案 Stefan有一个解决方案,您可以大致了解Web服务逻辑,因此,您需要有多高的抽象级别。如果这项任务的重点是展示如何使用web服务,而不仅仅是让它工作,那么Stefan就有了答案
关于文件上传等,你想从互联网上保存一个文件。看这个:。这使用纯Java,据我所知,不需要任何web服务来完成给定的任务,但是如果您将这两者结合起来,您就可以很容易地获得工作的东西 既然您已经用
soap
标记了这个问题,那么我假设您需要Java中的soapweb服务。这也使得(XMLWeb服务的JavaAPI)成为库使用的自然选择。本手册将更详细地介绍您的问题
现在需要实现获取图像和返回URL的逻辑,以及获取URL和返回图像的逻辑
@WebService
public class MyJavaWebService {
@WebMethod
public String takeImage(byte[] image, String imageName) {
//You'll need to write a method to save the image to the server.
//How you actually implement this method is up to you. You could
//just open a FileOutputStream and write the image to a file on your
//local server.
this.saveImage(image, imageName);
//Here is where you come up with your URL for the image.
return this.computeURLForImage(imageName);
}
@WebMethod
public byte[] getImage(String url) {
final byte[] loadedImage = this.getImage(url);
return loadedImage;
}
}
您可能还需要设置一些其他配置,如中所述。本文的要点是,您需要将sunjaxws.xml
文件添加到表单的WEB-INF/
文件夹中
<endpoints
xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint
name="MyJavaWebService"
implementation="com.mycompany.MyJavaWebService"
url-pattern="/MyJavaWebService"/>
</endpoints>
最后,将所有内容打包成一个.war文件,并将其部署到一个Java web服务器(例如Tomcat)。既然您已经用
soap
标记了这个问题,我假设您需要Java中的soap web服务。这也使得(XMLWeb服务的JavaAPI)成为库使用的自然选择。本手册将更详细地介绍您的问题
现在需要实现获取图像和返回URL的逻辑,以及获取URL和返回图像的逻辑
@WebService
public class MyJavaWebService {
@WebMethod
public String takeImage(byte[] image, String imageName) {
//You'll need to write a method to save the image to the server.
//How you actually implement this method is up to you. You could
//just open a FileOutputStream and write the image to a file on your
//local server.
this.saveImage(image, imageName);
//Here is where you come up with your URL for the image.
return this.computeURLForImage(imageName);
}
@WebMethod
public byte[] getImage(String url) {
final byte[] loadedImage = this.getImage(url);
return loadedImage;
}
}
您可能还需要设置一些其他配置,如中所述。本文的要点是,您需要将sunjaxws.xml
文件添加到表单的WEB-INF/
文件夹中
<endpoints
xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint
name="MyJavaWebService"
implementation="com.mycompany.MyJavaWebService"
url-pattern="/MyJavaWebService"/>
</endpoints>
最后,将所有内容打包成一个.war文件,并将其部署到Java web服务器(例如Tomcat)。我们讨论的文件大小是多少,是否有安全方面的问题?大小将小于2mb,对于web服务,将不会有任何安全问题请查看。我没有使用过Web服务,几年前我的解决方案是针对更大的文件,并使用RMI。我们讨论的文件大小是多少,是否有安全方面的问题?大小将小于2mb,对于Web服务,不会有任何安全问题。请看一看。我没有使用过WebServices,几年前我的解决方案是针对更大的文件,并使用RMI。