首页天道酬勤pb调用webservice接口(webservice配置文件)

pb调用webservice接口(webservice配置文件)

张世龙 01-28 18:56 109次浏览

一、cxf发布webservice接口

添加maven依赖关系

ependencygroupidorg.Apache.cxf/groupidartifactidcxf-core/artifactidversion3.4.3/version/dependency dency artifactidversion3.4.3/version/dependencydependencygroupidorg.Apache groupidartifactidcxf-rt-transports-http -。

创建服务端接口

@ webservicepublicinterfaceuserservice { string get userinfo (string name ); } @ webservicepublicclassuserserviceimplimplementsuserservice { @ overridepublicstringggetuserinfo (string name ) { return '我是公共类测试{ publicstaticvoidmain (string [ ] args ) system.out.println ) ' web服务启动'; userserviceimplementor=newuserserviceimpl (; string address=' http://127.0.0.1:8082/userservice '; jaxwsserverfactorybeanfactorybean=newjaxwsserverfactorybean (; factory bean.set address (地址; //设置暴露地址factory bean.setserviceclass (userservice.class ); //接口类factory bean.setservicebean (implementor ); //设置实现类factoryBean.create (; system.out.println (web服务启动); system.out.println (web服务启动); 启动main方法时,通常会成功释放

浏览器是否要访问http://127.0.0.1:8082/userservice? wsdl表示发布成功

二、客户端进行动态调用webservice接口

publicstaticvoidmain (字符串[ ] args ) throws exception (jaxwsdynamicclientfactorydcf=jaxwsdynamicclientfactory.newinstal wsdl '; //namespace为命名空间,methodName为方法名称qname=new qname (' http://service.test.example.com/',' getUserInfo ' ); object[]objects=client.invoke () name,'未收到反馈) ); system.out.println (objects [0].tostring (); }常规调用接口返回成功

cxf动态调用不适合传递自定义对象,必须传递自定义对象,并且必须使用静态调用生成本地代码

三、cxf静态调用生成本地代码

采用apache-cxf-3.4.3版本,jar软件包可访问官方网站下载http://cxf.Apache.org/download.html

要使用JAX-WS Proxy代理工厂方法开发客户端,必须首先使用wsdl2java工具为本地web服务生成代理接口

1、配置环境变量

wsdl2java.bat位于CXF根目录外向的西洋牛目录下。 使用前必须设置CXF环境变量。 CXF_HOME变量的值是CXF根目录,将%CXF_HOME%\外向的西洋牛添加到path中。 示例:

2、wsdl2java生成代理接口

设置环境变量后,打开CMD命令行窗口,将当前目录切换到java工程src目录下。 在命令行中输入以下格式的命令并返回车辆时,将基于wsdl生成服务端代理接口:

wd L2 Java-pws.cxf-client http://127.0.0.1:8082/userservice? wsdl

命令说明:

-p指定代理接口所在的包的名称,-client (生成客户端)后面的字符串声明服务接口的wsdl

publicstaticvoidtest ((jaxwsproxyfactorybeanfactory=newjaxwsproxyfactorybean ); factory.setserviceclass (userservice.class; factory.set address (http://127.0.0.1:8082/userservice ); Object object=factory.create (; userserviceservice=(userservice )对象; 用户VO user VO=new user VO (; userVO.setname(dydxh打开); string userinfo=service.get userinfo (user VO; system.out.println(userinfo ); } 3、第二呼叫方法

executebindqsserviceexecutebindqsservice=newexecutebindqsservice (executebindqsservice.getwsdl _ u URL ) ) //获取代理、设置日志阻止程序并打印日志客户端=client proxy.get client (execute PTT )的client.getInInterceptors ().add 客户端. get out interceptors ().add (newloggingoutinterceptor ) ); //超时时间httpconduithttp=(httpconduit ) clientProxy.getConduit ); httpclientpolicyhttpclientpolicy=newhttpclientpolicy (; htpclientpolicy.setconnectiontimeout (integer.value of ) webservicecontimeout ); http客户端策略. setreceivetimeout (integer.value of ) webservicerevtimeout ); htpclientpolicy.setallowchunking (false ); http.set客户端(http客户端策略; 调用//方法执行响应响应=execute PTT.execute (request ); 4、关闭元素检查

@ endpoint property (key=" soap.no.validate.parts ",value=“true " ) )

四、使用的是apache的axis实现的

第二种访问web服务的方法是使用idea生成客户端代码,然后访问服务端接口,这与访问本地接口相同。 使用apache的axis实现了。

运行库dos直线方程
什么是webservice接口(如何调用web server接口) 访问webservice接口(web接口测试)
相关内容