Java WS和二进制数据传送
(一) 有关介绍二进制数据在WS中传送,可以有两种方式:
1 把数据直接作为xml文档中某元素的字节流,作为XML解析器要解析的一部分,很明显这种方式比较低效.
2 二进制数据作为附件,作为带外(out of band)数据随同XML发送, 提高了效率.目前这类处理有几个规范:DIME(直接 Internet 消息封装),这个数据包装格式及其处理,只有微软在支持.
http://www.microsoft.com/china/msdn/archives/library/dnwebsrv/html/DIMEWSAttch.asp
http://www.zdnet.com.cn/developer/code/story/0,3800066897,39358789,00.htm
MTOM(SOAP 消息传输优化机制)和XOP(二进制 XML 优化封装);在Sun规范JAX-RPC1.1中,要求使用SwA(SOAP with Attachments) 支持附件,为此Sun提供了SOAP with Attachments API for Java,带附件的SoapAPI(SAAJ),早期它和jaxm合在一起的,现在已经独立开来形成了soap包,这个API专门用来处理Soap附件的所有操作.JAXRPC 1.1 规范定义了MIME类型到Java类型的影射.
mime type
java type
image/gif
java.awt.image
image/jpeg
java.awt.image
text/plain
java.lang.string
multipart/*
javax.mail.internet.mimemultipart
text/xml or application/xml
javax.xml.transform.sourceJAXRPC
1.1 规范定义了这种情况:当绑定到上表中没有定义的类型影射或者是绑定到备用MIME类型时,它应该影射到 javax.activation.DataHandler.wscompile工具中的选项-f:用于类型影射的项:datahandleronly,该项指明总是把附件影射到DataHandler类型.
(二) 编写例子应用文件清单SEI接口类IImage.java,实现SEI接口的类IIMageImpl.java,描述文件信息的值类型类FileInfo.java,Web应用部署描述文件web.xml,WS发布配置文件jaxrpc-ri.xml,WS编译配置文件config-interface.xml,构建客户端桩的config-wsdl.xml,构建文件build.xml客户端测试类:MainBrowser.java,ImageListProvider.java和ImageLabelProvider.java,测试使用了SWT和JFace,请适当配置你的Eclipse环境,引入适当的库.这个例子是从SEI开始,绑定样式为 RPC.IImage.java清单:
package com.bin;import java.rmi.Remote;import java.rmi.RemoteException;import javax.activation.*;import javax.xml.soap.*;import java.util.*;public interface IImage extends Remote {public DataHandler fetchImg(String sn) throws RemoteException;public ArrayList fetchImgs(String[] sn) throws RemoteException;publ
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
C#从Java继承而来的特点
类:在C#中类的申明与Java很相似.这是合理的因为经验告诉我们Java模型工作得很好.Java的关键字import已经被替换成using,它起到了同样的作用.一个类开始执行的起点是静态方法Main().下面的Hello World程序展示了基本的形式:
using System;
class Hello
{
static v ......
java HTML文件文档编辑器 使用 JTextPane
/* HTMLDocumentEditor.java
* @author: Charles Bell
* @version: May 27, 2002
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.filechooser.*;
im ......
UIManager.setLookAndFeel(“
com.sun.java.swing.plaf.windows.WindowsLookAndFeel
”);//windows默认
UIManager.put("MenuBar.font", font);//给控件设置字体
static Object
put
(Object
key, Object
value)
public static void setLookAndFeel(String className, jav ......
/**
* 采用2分法实现有序数组的增删查
* 由于数组定义了大小就不能再改了 所以我们重新定义了size()方法;
* 将数据组成了一个对象
* @author leader
* 2009-11-3
*/
class Array
{
public static int maxsize ;//数组的长度的最大值
public static int ......