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

解决异构系统之间交互——Web Service Web Service见名之意就是网络上的一些服务,解决的问题就是如何使用这些服务,因为软件的开发有各种各样的语言,利用Java,C#,VB.NET,PHP等等,如何使这些语言编写的程序能够进行互通,彼此相互利用。Web Service就可以解决异构系统的通信的整合。           首先看一下,和WebService一样能够解决异构系统的通信和整合的方案吧:           1,通过XM 阅读详情

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

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

         步骤一:采用cxf根据wsdl生成java 类,并把java类拷贝到工程相应目录(转自:http://blog.163.com/kangle0925@126/blog/static/27758198201363111718168)

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

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

cxf生成客户端代码 - Sky - Sky的博客
            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集成)

       <bean id="wsSampleServiceClient" class="com.winssage.demo.module.webserviceclientsample.domain.ProcessMakerServiceSoap"  
       factory-bean="wsSampleClientFactory" factory-method="create"/>   
      
       <bean id="wsSampleClientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">   
          <property name="serviceClass" value="com.winssage.demo.module.webserviceclientsample.domain.ProcessMakerServiceSoap"/>   
          <property name="address" value="http://192.168.1.215:80/sysworkflow/en/classic/services/soap2"/>   
     </bean>

     

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

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

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

     

     错误解决:A class/interface with the same name "XXX**" is already in use.

       目前可选择的方案: (转自http://chenlin10058.iteye.com/blog/1558591)

    1.使用-autoNameResolution自动处理 

     wsdl2java -autoNameResolution http://localhost:8060/soa/services/otherTrackedVehicleSoapService?wsdl

    or 

    wsimport -p com.test.client -keep http://localhost:8060/soa/services/otherTrackedVehicleSoapService?wsdl-B-XautoNameResolution 


   错误解决:super相关代码编译报错:

    

  1. //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2   
  2.    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1   
  3.    //compliant code instead.   
  4.    public IcpBusinessService(WebServiceFeature ... features) {   
  5.        super(WSDL_LOCATION, SERVICE, features);   
  6.    }   
  7.   
  8.    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2   
  9.    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1   
  10.    //compliant code instead.   
  11.    public IcpBusinessService(URL wsdlLocation, WebServiceFeature ... features) {   
  12.        super(wsdlLocation, SERVICE, features);   
  13.    }   
  14.   
  15.    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2   
  16.    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1   
  17.    //compliant code instead.   
  18.    public IcpBusinessService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {   
  19.        super(wsdlLocation, serviceName, features);   
  20.    }   $

    其不能正常编译通过是由于jax-ws2.2规约与java6冲突,执行命令:

wsdl2java -frontend jaxws21 -client *.xml

 

    这样以jax-ws2.1生成的代码就可以在java6中编译通过并可执行。


 

        

SpringBoot2.x系列教程之Web Service详细讲解(56) 前言 我们在开发项目的时候,有时候会遇到这样的问题。比如我们要写一个电商项目,其核心业务肯定是与电商相关的。但在这个电商项目的页面上,我们为了提高用户粘性,给用户更好的使用体验,可能会想着在页面上展现一下当地的天气信息、航班信息等内容,以此显得我们对用户很体贴。但我们的主要任务是做电商啊,总不能为了这几个小功能再去搞一个天气研发团队,这成本也太大了吧。别担心这个问题,其实有很多的第三方开放平台,可以允许我们去调用他们的开放接口。我们只需要遵循他们的开发协议,就能够轻松调用别人项目里的接口功能了。那具体怎么 阅读详情

相关推荐

SAP ABAP Web Service集成SAML单点登录配置实战指南

单点登录(SSO)是现代企业应用集成的关键技术,它基于安全断言标记语言(SAML)等标准协议,实现用户一次登录即可访问多个互信系统的目标。其核心原理是通过可信的身份提供者(IdP)颁发加密的断言,服务提供者(SP)验证断言后授予访问权限,从而将认证与授权分离。这项技术的价值在于提升用户体验、增强安全性并简化账号管理。在SAP ABAP开发场景中,尤其在涉及Web Service与企业级身份管理系统(如Microsoft ADFS、Okta)集成时,配置SAML单点登录成为实现安全、标准化服务调用的关键环节。

weixin_30443747的博客 532

php 使用cxf的数据

andrew

andrew_tinna的专栏 558

Web Service接口调用完整实例与实战解析

当某个服务持续不可用时,不要再让它拖垮整个系统。引入,暂时切断调用。用 Resilience4j 实现超简单:.failureRateThreshold(50f) // 失败率超50%触发.waitDurationInOpenState(Duration.ofSeconds(30)) // OPEN状态保持30秒.slidingWindowSize(10) // 统计最近10次调用.build();// 包装调用。

weixin_31720909的博客 878

php 打印soap日志,CXF打印SOAP报文,记录WebService日志

CXF是Apache发布的一个用于快速构建Services的框架,用于构建WebService客户端及服务端。使用cxf构建的java程序,在java层面看到的是很多层的java类对象,但是在实际的接口调用和数据传输过程中则使用的soap报文(网络传输过程中不可能真的把java对象传过去)。第一种方法使用cxf自带拦截器直接在控制台打印输入输出报文,适合使用main()方法测试时使用。第二种方法自...

weixin_35032509的博客 641

php中创建和调用webservice接口示例

主要介绍了php中创建和调用webservice接口示例,包括webservice基本知识、webservice服务端例子、webservice客户端例子,需要的朋友可以参考下

利用 Openocd 和 FT2232H 实现 ARMv8(Coretex-A53)高效调试方案

本文详细介绍了如何利用开源工具OpenOCD与高性能USB转接芯片FT2232H,构建一套针对ARMv8架构(如Cortex-A53)的高效、低成本调试方案。内容涵盖从环境搭建、驱动配置、核心调试架构解析到实战问题排查的全过程,帮助开发者实现对多核处理器的透明、可控调试,是嵌入式Linux及底层开发的实用指南。

weixin_29163581的博客 280

cxf调用接口的几种方式_cxf+spring发布webservice接口及接口的调用

一、CXF介绍ApacheCXF=Celtix+XFire,ApacheCXF的前身叫ApacheCeltiXfire。CXF继承了Celtix和XFire两大开源项目的精华,提供了对JAX-WS全面的支持,并且提供了多种Binding、DataBinding、Transport以及各种Format的支持,并且可以根据实际项目的需要,采用代码优先(CodeFirst)或者WSDL优先(WSDLFi...

weixin_28726671的博客 486

单卡调试OpenGait:从分布式到本地的轻量级改造指南

本文为个人开发者和研究者提供了一份详细的OpenGait框架单卡调试指南。针对该框架默认依赖多GPU分布式训练的问题,文章通过分析核心痛点,逐步讲解了如何从环境搭建、绕过分布式初始化陷阱、处理通信后端报错到最终配置与调试,实现从分布式到本地的轻量级改造,帮助读者在单张GPU上高效进行步态识别模型的验证与学习。

weixin_28223453的博客 139

CXF与JDK或者JAVA的版本兼容问题

我的PC安装了java10我需要使用eclipse进行web service的发布,如果选择最新版本的cxf的话:我们看到cxf的3.2.6版本发布于2018年8月而java10本身发布于2018年3月。你会误以为cxf3.2.6版本完美的基于java10?我们看一下配置好的的cxf我们在cmd执行cxf的bin中的命令endorsed文件夹如何如何,百度...

weixin_33871366的博客 1324

做蛋白组学数据分析,竟然还不会使用DIA-NN软件,走过路过不要错过,进来免费学习!!!

蛋白组学分析工具DIA-NN使用

wcy1995427的博客 9866

逆向实战:基于内存态匿名段分析的 DexProtector 检测绕过策略

本文深入探讨了针对DexProtector加固方案的Frida检测绕过策略。通过分析运行时动态加载到匿名内存段的核心检测逻辑,提出了一套基于内存态分析、定位并转储匿名可执行段,进而通过精准Hook与“等式化替换”等技术实现稳定绕过的实战方法。该方法不仅适用于DexProtector,也对采用类似内存隐藏技术的加固方案具有参考价值。

ik678901的博客 514

Java Web Service 学习笔记

Web Service 是什么? 说白了,就是提供服务接口,请求方调用接口获取数据。是跨语言、跨平台、可远程调用。举个例子:c# 语言发布的web service,使用java或php都可以进行调用。 Web Service 术语 1.WSDL(web service definition language) 简单的说,就是以.wdsl命名的文件,文件内容为xml格式的数据,里面描述了这个...

q42368773的博客 938

蓄热式加热炉燃烧技术

蓄热式加热炉燃烧技术

weixin_37928884的博客 2734

基于Java+SpringBoot的Web Service 技术的警务数据交互平台设计与实现(毕设源码+文档)

本系统针对传统警务工作中各部门数据孤岛、跨系统交互难、数据共享效率低等问题,以 Java 为开发语言、SpringBoot 为后端核心,结合 Web Service 技术(采用 SOAP 协议保障数据传输规范性),构建跨部门协同的警务数据交互平台。后端采用 SpringBoot 整合 Spring Security+Shiro 实现多层级权限管控(基层民警、部门管理员、系统超级管理员),MyBatis-Plus 简化数据库操作,MySQL 存储基础警务数据(人员信息、案件记录、设备状态),同时通过 Web

692

51单片机 DHT11温湿度传感器LCD显示+串口打印+Proteus仿真

DHT11+LCD1602+串口输出+Proteus仿真

perseverance51博客 7198

RT-DETR改进策略【卷积层】| CGblock 内容引导网络 利用不同层次信息,提高多类别分类能力 (含二次创新)

本文记录的是利用中的模块优化的目标检测网络模型。通过局部特征提取器、周围环境提取器、联合特征提取器和全局环境提取器来提取局部特征、周围环境和全局环境信息,充分利用不同层次的信息。本文将其应用到中,并进行二次创新,使网络能够更好的处理多类别目标的分类能力。CGNet: A Light-Weight Context Guided Network for Semantic Segmentation1️⃣ 首先通过局部特征提取器floc(∗)floc(*)floc(∗)和周围环境提取器fsur(∗)f_{sur }

Limiiiing的博客 1350

Web Service 初步了解

WebService见名之意就是网络上的一些服务,解决的问题就是如何使用这些服务,因为软件的开发有各种各样的语言,利用Java,C#,VB.NET,PHP等等,如何使这些语言编写的程序能够进行互通,彼此相互利用。Web Service就可以解决异构系统的通信的整合。 首先看一下,和WebService一样能够解决异构系统的通信和整合的方案吧: ...

124

3.1 快速启动Flink集群

在本实战中,我们将快速启动Apache Flink 1.13.0集群,并在Hadoop集群环境中提交作业。首先,我们会在本地下载Flink安装包并上传至云主机,解压并配置环境变量。接着,我们将启动Flink集群,通过访问Web UI进行监控管理。然后,我们会配置集群,将Flink分发到从节点,并在集群上提交作业。最后,我们将通过命令行提交作业,并在Web UI上查看任务节点的输出结果。这个过程涵盖了Flink集群的部署、配置和作业提交,为大数据处理提供了一个完整的实战经验。

howard2005的专栏 727

Web Service

Web Service见名之意就是网络上的一些服务,解决的问题就是如何使用这些服务,因为软件的开发有各种各样的语言,利用Java,C#,VB.NET,PHP等等,如何使这些语言编写的程序能够进行互通,彼此相互利用。Web Service就可以解决异构系统的通信的整合。            首先看一下,和WebService一样能够解决异构系统的通信和整合的方案吧:

小调调Plus 258

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

php service原理,Webservice工作原理及实例

Web Service工作原理一、Web Service基本概念Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。XML:(Extensible Markup Languag...

weixin_33232907的博客 214

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java开发Web Service的几种解决方案

转自:http://blog.youkuaiyun.com/zolalad/article/details/25158995 Java开发中经常使用到的几种WebService技术实现方案       随着异构系统互联需求的不断增加,WebService的重要性也日益彰显出来。凭借webservice,我们可以实现基于不同程序语言的项目的互联互通。更可以将开发好的程序接口以服务的形式发

渴望,就奋力追寻... 4415

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

WebService技术实现方案(转)

  参考:http://blog.youkuaiyun.com/zolalad/article/details/25158995   Java开发中经常使用到的几种WebService技术实现方案       随着异构系统互联需求的不断增加,WebService的重要性也日益彰显出来。凭借webservice,我们可以实现基于不同程序语言的项目的互联互通。更可以将开发好的程序接口以服务的形式发布出...

bug_yun的博客 726

与Java Web Service相关的若干概念(JAX-WS,JAX-RS)

====================================================== 注:本文源代码点此下载 ====================================================== 本篇关键词: jws ,jax-ws ,jax-rs,rest,restlet,soap 这一段时间从.net转战java了。表示对java的

javazhuanzai的专栏 536

实现webservice的几种方式

1. 概念了解 1, WebService是两个系统的远程调用,使两个系统进行数据交互,如应用:天气预报服务、银行ATM取款、使用邮箱账号登录各网站等。 2, WebService之间的调用是跨语言的调用。Java、.Net、php,发送Http请求,使用的数据格式是XML格式。 3, webxml.com.cn上面有一些免费的WebService服务,可以进去...

pengjwhx的博客 9万+
上一篇: java 调用 .net WebService
下一篇: JBPM及J2EE各种jar包的作用
lld2002
博客等级 码龄19年 15粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值