前些天开发完服务端,现在又要开发客户端,还是需要身份验证的,因为以前也没做过,遇到很多麻烦,现在开发完成还是记录一下。 第一种方法 1.首先根据wsdl文件生成java客户端代码(1.txt还是一中的): wsdl2java -b "1.txt" -p com.sgcc.manager.iorguser.client -d src -frontend jaxws21 -client SI_0319_SZDA2MDM_ORG_Return_D.wsdl 放置好wsdl文件,生成的java代码基本上就可以直接调用webservice接口了,因为这辞需要身份验证,所以需要添加用户名密码: public static void main(String args[]) throws java.lang.Exception { SI0319SZDA2MDMORGReturnService ss = new SI0319SZDA2MDMORGReturnService(); //获取webservice接口 SI0319SZDA2MDMORGReturn port = ss.getSI0319SZDA2MDMORGReturnPort(); BindingProvider bp = (BindingProvider) port; Map<String, Object> context = bp.getRequestContext(); context.put(BindingProvider.USERNAME_PROPERTY, "ceshi");//用户名 context.put(BindingProvider.PASSWORD_PROPERTY, "ceshi");//密码 System.out.println("Invoking si0319SZDA2MDMORGReturn..."); com.sgcc.manager.iorguser.client.MDMLOGSTAUS _si0319SZDA2MDMORGReturn_root = null; port.si0319SZDA2MDMORGReturn(_si0319SZDA2MDMORGReturn_root); System.out.println("测试成功"); System.exit(0); } 第二种方法 public static void main(String args[]) throws java.lang.Exception { JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); //定义服务接口类型 factory.setServiceClass(SI0319SZDA2MDMORGReturn.class); //设置服务地址 factory.setAddress ("http://127.0.0.1:7001/cxf/service/cxfService?wsdl"); com.sgcc.manager.iorguser.client.MDMLOGSTAUS _si0319SZDA2MDMORGReturn_root = null; SI0319SZDA2MDMORGReturn client = (SI0319SZDA2MDMORGReturn) factory.create(); BindingProvider bp = (BindingProvider) client; Map<String, Object> context = bp.getRequestContext(); context.put(BindingProvider.USERNAME_PROPERTY, "ceshi"); context.put(BindingProvider.PASSWORD_PROPERTY, "ceshi"); client.si0319SZDA2MDMORGReturn(_si0319SZDA2MDMORGReturn_root); System.out.println("测试成功"); System.exit(0); } 第三种方法 1.配置客户端配置文件 <jaxws:client id="SI0319SZDA2MDMORGReturn_SI0319SZDA2MDMORGReturnPort_Client" serviceClass="com.sgcc.manager.iorguser.client.SI0319SZDA2MDMORGReturn" address="http://127.0.0.1:7001/cxf/service/cxfService?wsdl" /> 2.java代码 // 加载客户端的配置定义 ApplicationContext context = new FileSystemXmlApplicationContext("classpath:config/spring/applicationContext-webservice.xml"); // 获取定义的 Web Service Bean SI0319SZDA2MDMORGReturn service = (SI0319SZDA2MDMORGReturn)context.getBean("SI0319SZDA2MDMORGReturn_SI0319SZDA2MDMORGReturnPort_Client"); BindingProvider bp = (BindingProvider) service; Map<String, Object> map = bp.getRequestContext(); map.put(BindingProvider.USERNAME_PROPERTY, "ceshi"); map.put(BindingProvider.PASSWORD_PROPERTY, "ceshi"); service.si0319SZDA2MDMORGReturn(_si0319SZDA2MDMORGReturn_root); System.out.println("测试成功"); System.exit(0); |
|
来自: Breeze的图书馆 > 《webservice》