欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Java CXF调用PHP[其它语言]的Web Service

程序员文章站 2022-03-17 21:23:06
...

最近在研究ProcessMaker,ProcessMaker 2.5版本是用php发布的webservice,所以需要采用java 的cxf调用php的webservice过程。 要了解Web Service,关键的是wsdl。 步骤一: http://blog.163.com/kangle0925@126/blog/static/27758198201363111718168) 1、先

最近在研究ProcessMaker,ProcessMaker 2.5版本是用php发布的webservice,所以需要采用java 的cxf调用php的webservice过程。

要了解Web Service,关键的是wsdl。

步骤一:http://blog.163.com/kangle0925@126/blog/static/27758198201363111718168)

1、先下载cxf包:http://cxf.apache.org/download.html,现在cxf包。

2、解压缩包,通过cmd命令进入到bin目录下

Java CXF调用PHP[其它语言]的Web Service

3、使用wsdl2java命令生成客户端代码

在命令行执行wsdl2java -p com.winssage.demo.service -d d:\pmws -clientd:\pmws\wsdl2.xml (只需生成WebService客户端相关的代码即可)

wsdl2java用法:
wsdl2java -p com -d src -all aa.wsdl
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.

步骤二:修改cxf的bean配置文件(spring集成)

factory-bean="wsSampleClientFactory" factory-method="create"/>




ProcessMakerServiceSoap:为从wsdl生成的webservice 接口类(interface),必须赋值予工厂类org.apache.cxf.jaxws.JaxWsProxyFactoryBean的serviceClass属性。

厂类org.apache.cxf.jaxws.JaxWsProxyFactoryBean的address属性:必须取自wsdl.xml文件中的service配置,如下

service name="ProcessMakerService">
ProcessMaker Web Service
port
name="ProcessMakerServiceSoap" binding="xs0:ProcessMakerServiceSoap">
soap12:address
location="http://192.168.1.215:80/sysworkflow/en/classic/services/soap2"/>
port>
service>