由於您已將此問題標記爲soap
,因此我將假設您需要Java中的SOAP Web服務。這也使JAX-WS(XML Web服務的Java API)成爲圖書館使用的自然選擇。 Java(TM) Web Services Tutorial將更詳細地涵蓋您的問題。
現在您將需要實現邏輯來拍攝圖像並返回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;
}
}
您還可能需要設置一些額外的配置,如Deploying Metro Endpoint中所述。這篇文章的要點是,你需要一個sun-jaxws.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>
而且還添加一些JAX-WS的東西你web.xml
文件像這樣:
<web-app>
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>MyJavaWebServiceServlet</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyJavaWebServiceServlet</servlet-name>
<url-pattern>/MyJavaWebService</url-pattern>
</servlet-mapping>
</web-app>
最後,將所有東西打包成.war文件,並將其部署到Java Web服務器(例如Tomcat)。
我們在談論什麼尺寸的文件,它有一個安全方面嗎? – Stefan
大小將小於2mb,而對於web服務則不會有任何安全問題 –
請查看http://www.ibm.com/developerworks/xml/library/x-tippass/。我曾與WebServices合作過,幾年前我的解決方案是用於更大的文件並使用RMI。 – Stefan