[b][color=red]Web service是什么 [/color][/b][url]http://www.ruanyifeng.com/blog/2009/08/what_is_web_service.html[/url]
生成客户端Java代码的两个命令:
会保留service的package结构
[color=red]wsdl2java -d d:\src -client http://localhost:8080/ServiceWebApp/services/Hellows?wsdl[/color]
统一放到命令定义的package下面
[color=red]wsdl2java -d d:\src -p com.service.client.test -client http://localhost:8080/ServiceWebApp/services/Hellows?wsdl[/color]
根据注释中的提示指定-frontend参数,使用JAX-WS 2.1兼容模式重新生成所有的类
[color=red]wsdl2java -d d:\src -p com.service.client.test -frontend jaxws21 http://localhost:8080/ServiceWebApp/services/Hellows?wsdl[/color]
参数说明:
[color=blue]-ant 指定要生成一个ant的构建说明文档build.xml。
-client 指定要生成一个测试客户端的“起点代码”(starting point code),其中包含了端口中所有方法的测试样例代码。
-d 指定我们想要把生成的文件放到哪个目录下,默认是wsdl2Java命令所在的目录。
-p 指定生成文件的包名;默认是根据WSDL文件中的命名空间相对应。
-frontend 指定前端类型及版本;目前仅支持 JAXWS 前端,用 "jaxws21" 表明要生成JAX-WS 2.1 兼容的代码(Jre6自带的就是这个版本),使用该参数的原因请参考教程(2)。[/color]
如果没有用-p参数指定包名,上面的命令会生成下面两个包:
org.apache.hello_world_soap_http
这个包是根据 http://apache.org/hello_world_soap_http 目标命名空间生成的。该命名空间下的所有WSDL实体(例如 Greeter 端口类型和 SOAPService 服务)都被映射到相应的Java包中。
org.apache.hello_world_soap_http.types
这个包是根据 http://apache.org/hello_world_soap_http/types 目标命名空间生成的。该命名空间下的所有XML类型(也就是HelloWorld契约下wsdl:types元素中定义一切) 都被映射到相应的Java包中。
wsdl2java 命令生成的 stub 文件分成下列类型:
代表WSDL实体的类 (在 org.apache.hello_world_soap_http 包中):
Greeter 一个可以表示Greater WSDL端口类型的Java接口。在 JAX-WS 术语中,这个Java接口被称为一个服务端点接口(service endpoint interface),简称SEI。
SOAPService 一个代表WSDL service元素的类 SOAPService。
PingMeFault 一个Java异常类(扩展了java.lang.Exception类),代表WSDL fault 元素 pingMeFault。
代表XML类型的类 (在 org.apache.hello_world_soap_http.types 包中) - 在 HelloWorld 例子中,所谓的类型就是请求和应答消息的各种包装器,其中一些类型会在异步调用模式中用到。
实例文章:
使用Apache CXF开发WebServices服务端 [url]http://cnjava.blog.51cto.com/1208887/335630[/url]
开发webServices的客户端-通过wsdl2java [url]http://cnjava.blog.51cto.com/1208887/335663[/url]
[color=red][b]测试调试工具介绍[/b][/color]
1.SoapUI1.6 [url]http://webservices.ctocio.com.cn/tips/263/7817763.shtml[/url]
2.TestMaker [url]http://webservices.ctocio.com.cn/tips/263/7817763_2.shtml[/url]
3.WebServiceStudio [url]http://demo.tc/Post/529[/url]