Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java web服务将文件传输到本地系统_Java_Web Services_File_Soap - Fatal编程技术网

Java web服务将文件传输到本地系统

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服务

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。