本博文不进行理论介绍,直接上手使用:
WSDL WebService的创建和使用实例
http://blog.csdn.net/wuqilianga/article/details/68067813
http://blog.csdn.net/qq_24505127/article/details/53057099
好了,看完上边的两边后,然后就可以进行上手实操了!!~~~~~
开发结构:
两种方式跑:
第一种生成客户端进行访问:
第二种不使用客户端进行访问(注意:本例子的wsdl报文并不是service服务器对应的,只是个例子,但是是可以跑通的,已在真实项目中测试通过!!!)
项目结构如图
代码不讲解了,下载例子自己跑,本例子在eclipse或者Myeclipse均可以跑起来,但是Myeclipse更适合!!!!
1.自定义http请求报文方式的时候,会遇到的缺少两个jar包报错:
因为我用了main方法跑,所以需要额外增加两个jar包:
commons-codec-1.10.jar
commons-logging-1.2.jar
缺少其中commons-logging-xxx.jar会报错如下:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.commons.httpclient.HttpMethodBase.<clinit>(HttpMethodBase.java:104)
at test.SoapUtil.responseSoap(SoapUtil.java:41)
at test.SendWSDL.main(SendWSDL.java:33)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 3 more