SQL Server:
SELECT TOP 10 product, descr, email
FROM products
ORACLE:
SELECT product, descr, email
FROM products
WHERE ROWNUM <= 10
MySQL:
SELECT product, descr, email
FROM products
LIMIT 10
Wednesday, January 7, 2009
Tuesday, January 6, 2009
cvs资源列表的head、branches、version、dates
其中的HEAD表示主分支(主干)、Branches是分支的集合、Versions是标签的集合、Dates是用时间做标签的集合。
CVS 只能对文件进行版本控制,不能对目录进行版本控制,因此CVS 没有任何关于文件“移动”(move) 操作的概念
支持分支(branch)和基线(tag),通过分支与合并,可以有效支持大项目的并行开发模式;通过基线管理,可以准确标识一组文件的版本,有效进行软件发布管理和必要时的历史回溯
当你第一次增加一个文件到 repository 的时 候,它会有一个初始 revision 是 1.1,以后每次提交,就会增加到 1.2,1.3... Branch : Branch 是一棵正常生长的代码树中的枝杈。开始的时候,任何一个 module 都有一 个主枝。一个 branch 最终要么被合并到主干中去,要么被结束。branch 通常用来debug,如果这个 bug 被 fix 了,修改 bug 的代码应该被合并到主枝上去。一个 branch 也可能经历多次与主枝的合并。 Tag 标签: Tag 用来进行标识必要的信息,在一个开发的特定期对一个文件集给定的符号名。 当您进行一次公开发布之前,您有必要对主枝标示"release 1.0"。 这样您以后就可 以随时回到这个版本
补充:项目一般都是在head里,用于版本控制,branches里有无都不是很重要,我做过的项目CVS内容都是在HEAD里,其他关联到的不大!
Monday, January 5, 2009
WSDL starter
一个WSDL中,definition是整个文档的根元素,一个文档中可能存在多个Service元素,service是服务的入口点。 Service 中可能有多个port,每个port对应一个PortType,PortType可能对应一组operation
总体来说,WSDL有两部分功能,客户端Stub(存根)和服务器端Skeleton()的生成。
其中客户端Stub负责根据用户参数打包成SOAP消息;服务器端Skeleton的生成是可选的,负责具体的类调用的外包
先说第一部分,WSDL2JAVA处理WSDL生成前端Stub的过程。
通常WSDL文件包含:
1、类型:定义复合数据类型
2、消息:由类型组合成消息(可以作为下面操作的参数)(疑问?:分为类型和消息,直接放在一个组为啥不行)
3、操作:其中定义可以调用的操作,每个操作的参数。操作的集合对外呈现一个接口
4、绑定:定义每个操作具体的调用方式,数据的编码方式()
5、服务:对外呈现服务,可以包含多个绑定
6、端口:远程地址
其中,1,2,3被称为逻辑的描述; 4,5,6用来描述具体的服务地址和参数编码方式
1、类型定义的转换
把WSDL中类型的定义部分,转化成对应JAVA类。
public class Phone implements java.io.Serializable {...}
WSDL2JAVA生成了一个新的类和WSDL中定义的类型对应,并且为每个成员定义get和set函数,还把每个字段的首字母大写。
2、接口
生成一个接口,对外呈现描述的各个接口。message代表输入输出参数,生成的代码将把message的各个部分罗列在参数表中。
public interface AddressBook extends java.rmi.Remote {
public void addEntry(String name, Address address) throws java.rmi.RemoteException;
}
3、绑定
从其父类可以看出,他继承自org.apache.axis.client.Stub和具体实现类。
在stub中将把方法调用转化为SOAP调用,另一面它也继承了具体类的所有接口。
public class AddressBookSOAPBindingStub extends org.apache.axis.client.Stub
implements AddressBook {
public AddressBookSOAPBindingStub() throws org.apache.axis.AxisFault
{...}
4、服务
将形成一个接口:
public interface AddressBookService extends javax.xml.rpc.Service {
public String getAddressBookAddress();
public AddressBook getAddressBook() throws javax.xml.rpc.ServiceException;
public AddressBook getAddressBook(URL portAddress) throws
javax.xml.rpc.ServiceException;
}
还会产生一个Locator实现上面的接口:
public class AddressBookServiceLocator extends org.apache.axis.client.Service
implements AddressBookService {
...
}
下面是一个具体的调用过程:
public static void main(String [] args) throws Exception {
// 生成一个locator
AddressBookService service = new AddressBookServiceLocator();
// 生成一个具体的生成Service的类
AddressBook port = service.getAddressBook();
// 现在可以调用了
Address address = new Address(...);
port.addEntry("Russell Butek", address);
}
使用Eclipse的wsdl2java工具
一、用Eclipse调用Axis的wsdl2java
1.在eclipse里面新建一个项目或已有的项目;
2.导入
activation.jar
axis.jar
commons-discovery.jar
commons-logging-1.0.3.jar
jaxrpc.jar
saaj.jar
wsdl4j-1.5.2.jar
包
3右击你的工程-Run As-Run...-右击New,新建 new configuration ,将Include libraries when searching for a main class勾上,再点search,输入wsdl2java,再Arguments里把要生成的web service URI或wsdl文件写进去,最后点run。
二、利用myeclipse建立WebServiceClient
1.在Web工程上右键-->new-->Other-->MyEclipse下的WebService下的Web Service Client
2.在打开窗口上的Project处选择要放入哪个工程,然后选择WSDL URL,把WebService地址填上.也可以选择本地wsdl文件
axis的WSDL2java工具初识
1. 先下载axis, 下载地址http://ws.apache.org/axis/, 其中包含一个叫WSDL2java的工具,这个工具就用于将wsdl生成java程序.
3. Download JavaMail API 1.4.1D:\download\Java\Axis\axis-bin-1_4>java -cp .;.\lib\axis.jar;.\lib\jaxrpc.jar;.\lib\saaj.jar;.\lib\commons-logging-1.0.4.jar;.\lib\commons-discovery-0.2.jar;.\lib\wsdl4j-1.5.1.jar;.\lib\activation.jar;.\lib\mail.jar org.apache.axis.wsdl.WSDL2Java http://21.23.229.11:8000/webService/hello.asmx?wsdl
------------------------
Axis2是常用的一种SOAP engine,但是它提供的wsdl2java的命令行工具的说明比较简单,没有具体的例子。下面举出几个例子:
从最简单的开始 ,-uri 指定wsdl文件
> WSDL2Java -uri currencyConvert.wsdl
-d 使用不同的data binding方法
> WSDL2Java -uri currencyConvert.wsdl -d xmlbeans
-a 生成异步的方法
> WSDL2Java -uri currencyConvert.wsdl -a
-t 生成测试case
> WSDL2Java -uri currencyConvert.wsdl -t ...
稍微复杂一些的,-p可以指定生成的package,-o指定生成的路径,-ss生成服务端代码
wsdl2java -uri ../wsdl/currencyConvert.wsdl -o ../gen_src -ss -sd -g -p foo.bat
再复杂一些,-ns2p 将namespace进行替换,多个中间用逗号隔开
wsdl2java -uri ../wsdl/currencyConvert.wsdl -o ../wsdl/gen_src -ss -sd -g -p com.foo.bar -ns2p "http://www.xxx.yyy.com/zzz/v1.0"=com.foo.bar,"http://www.xxx.yyy.com/ddd/v1.1"=com.foo.bar.goo
Subscribe to:
Comments (Atom)