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
Ïà¹ØÎĵµ£º
public class Test {
public static void main(String args[]){
try{
// »ñÈ¡¼üÅÌÊäÈëµÄ×Ö·û´®
BufferReader f = new BufferReader(new inputStreamReader(System.in));
String str = f.readline();
for (int i = str.length() -1 ; i >=0 ; i--) {
System.out.print(CharAt(i)); ......
/***********Ryear.java begin********************/
import java.util.Scanner;
public class Ryear {
/**
* @param args
*/
public static void main(String[] args) {
/**
* ±àд³ÌÐò ......
Java¡¡NIO·Ç¶ÂÈûÓ¦ÓÃͨ³£ÊÊÓÃÓÃÔÚI/O¶ÁдµÈ·½Ã棬ÎÒÃÇÖªµÀ£¬ÏµÍ³ÔËÐеÄÐÔÄÜÆ¿¾±Í¨³£ÔÚI/O¶Áд£¬°üÀ¨¶Ô¶Ë¿ÚºÍÎļþµÄ²Ù×÷ÉÏ£¬¹ýÈ¥£¬ÔÚ´ò
¿ªÒ»¸öI/OͨµÀºó£¬read()½«Ò»Ö±µÈ´ýÔÚ¶Ë¿ÚÒ»±ß¶ÁÈ¡×Ö½ÚÄÚÈÝ£¬Èç¹ûûÓÐÄÚÈݽøÀ´£¬read()Ò²ÊÇɵɵµÄµÈ£¬Õâ»áÓ°ÏìÎÒÃdzÌÐò¼ÌÐø×öÆäËûÊÂÇ飬ÄÇ
ô¸Ä½ø×ö·¨¾ÍÊÇ¿ªÉèỊ̈߳¬ÈÃÏß³ÌÈ¥µÈ ......
Ò»¡¢Java±à³ÌÈëÃÅÀà
¶ÔÓÚûÓÐJava±à³Ì¾ÑéµÄ³ÌÐòÔ±ÒªÈëÃÅ£¬Ëæ±ã¶ÁʲôÈëÃÅÊé¼®¶¼Ò»Ñù£¬Õâ¸ö½×¶ÎÐèÒªÄã¿ìËÙµÄÕÆÎÕJava»ù´¡Óï·¨ºÍ»ù±¾Ó÷¨£¬×ÚÖ¼¾ÍÊÇ“àñàðÍÌÔæ²»ÇóÉõ½â”£¬ÏȶÔJavaÊìϤÆðÀ´ÔÙ˵¡£Óú̵ܶÄʱ¼ä¿ìËÙ¹ýÒ»±éJavaÓï·¨£¬Á¬ã´ø²Â¶àдд´úÂ룬Ҫ“ÖªÆäÈ»”¡£
1¡¢¡¶Java±à³Ì˼Ïë¡·
Ô ......
½ñÌìÏë¶ÁÈ¡srcϵÄÅäÖÃÎļþ£¬ÒÔǰһֱûÕÒµ½·½·¨£¬½ñÌìÑо¿ÁËÏÂÖÕÓÚOKÁË
System.out.println("path1:" + getClass().getResource("config.xml").getPath());
System.out.println("path2:" + getClass().getClassLoader().getResource("config.xml").getPath());
path1:/D:/DJ/workspace/.metadata ......