今天boss给了一篇公司与短信平台公司合作的文档,让我测试一下是否真正常通信,以前项目中webservice都是其他同事在弄,今天头大了,查了一会资料,终于搞定了!现在记录一下
文档上有
WSDL:http://sms.28inter.com:8080/XXX/SmsService.asmx?wsdl
这样一个wsdl地址
现在在eclipse中新建javaProject,引入CXF相关的jar包
下一步是根据wsdl地址获取客户端文件,网上说有两种方式可以实现,一是用cxf提供的wsdl2java.bat,但是我尝试了一下老报目录有问题。算了吧,换下一个方式:使用eclipse实现,操作步骤如下:
右键点击工程,配置启动项,选择工程,浏览main方法,选择wsdl2java,下面两个勾都勾上,在参数里面配置wsdl地址,OK!
这样会在工程根目录得到客户端java文件,将整个包都放在src下,然后编写测试类
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;public class Test {public static void main(String[] args) throws Exception{JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();org.apache.cxf.endpoint.Client client = dcf.createClient("http://sms.28inter.com:8080/XXX/SmsService.asmx?wsdl");//Object[] objects=client.invoke("GetBatchSendID"); //Object[] objects=client.invoke("GetBlackWords",2); Object[] objects=client.invoke("SendEx","F8AB5833BA","tsty2012","测试短信","13558657XXX","","","",22,""); System.out.println(objects[0].toString());}
}
这是一条发送短信的方法,几秒钟后,收到短信!