php调用webservice传值,php调用webservice接口,java代码接收不到参数

在进行一个项目的二次开发时,遇到PHP调用Java WebService接口的问题,传递的参数始终被Java端接收为null。经过尝试和研究,发现需要将参数以键值对形式传递,特别是使用'arg0'作为键名,才能成功发送数据。最终,Java端成功接收到数据。此篇记录了解决这个问题的步骤和关键点。
摘要由CSDN通过智能技术生成

前段时间做了一个项目的二次开发,有个功能是需要php调用java实现的webservice接口,并传递一些参数给接口,然后按照对方提供的接口说明文档进行传参调用,java那边有接收到请求,但是参数总是为null,部分代码如下:

$client = new SoapClient ($this->webServiceUrl);

$client->soap_defencoding = 'utf-8';

$client->xml_encoding = 'utf-8';

$param = $context;//参数拼接xml字符串

$result = $client->managementMemberInfo($param);//返回值

不管传什么类型的数据,对方接收到的都是null。然后各种百度(此处有吐槽:百度真心辣鸡。),百度出来各种乱七八糟的答案,各种尝试,然后继续各种失败。T@T。。。。后面看到一篇文章,说要添加键值,然后尝试了一下:

1 $client = new SoapClient ($this->webServiceUrl);

2 $client->soap_defencoding = 'utf-8';

3 $client->xml_encoding = 'utf-8';

4 $param = array('context'=> $context);//参数拼接xml字符串

5 $result = $client->managementMemberInfo($param);//返回值

然后,依然是悲剧。。。。。。继续百度,必应。。。然后又看到一篇说要添加键值,键名为arg0这种,如果有多个应该是一次类推arg1,arg2等等,好吧,本来自己觉得跟前面加键值没啥区别,但还是试了一下:

1 $client = new SoapClient ($this->webServiceUrl);

2 $client->soap_defencoding = 'utf-8';

3 $client->xml_encoding = 'utf-8';

4 $param = array('arg0'=>$context);//参数拼接xml字符串

5 $result = $client->managementMemberInfo($param);//返回值

然后,对方说接收到数据了。。。。。。

特此记录一下。ps:对于为什么一定是arg0不太明白,如果有明白的,希望给小白指点一下,谢谢。

Java调用webservice接口方法

java调用webservice接口   webservice的 发布一般都是使用WSDL(web service descriptive langu ...

java 调用webservice接口wsdl,推荐使用wsdl2java,放弃wsimport

网上说wsimport是jdk1.6后自带的客户端生成调用webservice接口的工具,其实我挺喜欢原生的东西,毕竟自家的东西用着应该最顺手啊,但往往让人惊艳的是那些集成工具. 本机jdk1.8.1 ...

Java调用webservice接口方法(SOAP message、xfire、axis)

webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...

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

php中创建和调用webservice接口示例   这篇文章主要介绍了php中创建和调用webservice接口示例,包括webservice基本知识.webservice服务端例子.webservi ...

js调用android本地java代码

js调用android本地java代码 当在Android上使用WebView控件开发一个Web应用时,可以创建一个通过Javascript调用Android端java代码的接口.也就是可以通过Jav ...

SQL调用WebService接口

今天在做一个非常奇葩的东西.中间有个过程要在SQL触发器里面调用webservice接口.呵呵~ ALTER TRIGGER tgr_UpdateMemcached ON dbo.[User] AFT ...

使用DWR实现JS调用服务端Java代码

DWR简介 DWR全称Direct Web Remoting,是一款非常优秀的远程过程调用(Remote Procedure Call)框架,通过浏览器提供的Ajax引擎实现在前端页面的JS代码中调用 ...

动态调用WebService接口的几种方式

一.什么是WebService? 这里就不再赘述了,想要了解的====>传送门 二.为什么要动态调用WebService接口? 一般在C#开发中调用webService服务中的接口都是通过引用过 ...

调用webservice接口,报错:(十六进制值0x01)是无效的字符

#事故现场 调用webservice接口,报错:(十六进制值0x01)是无效的字符. 如图: 意思是webservice返回的信息中包含无效的字符,无法解析成xml: #分析 使用postman向we ...

随机推荐

[LeetCode] Length of Last Word 求末尾单词的长度

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

Java中文编码小结

Java中文编码小结 1. 只有 字符到字节 或者 字节到字符 的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符.unicode体系采用唯一的码点表示唯一 ...

一行命令搞定node.js 版本升级

from:http://www.16boke.com/article/detail/26 今天,又发现一个超级简单的升级node.js的方法.一行命令搞定,省去了重新编译安装的过程. node有一个模 ...

GsonWithoutObject 没有对象(脱离对象) 直接提取 ... gson json

GsonWithoutObject 脱离对象, 直接提取 package temp; import tool.FileTool; import com.google.gson.JsonElement; ...

UI设计基础百科

摘自:http://www.csdn.net/article/2013-09-10/2816892-iOS-dev-tools-design 我的原型设计流程 这是一份UX原型设计流程,用来探索交互设 ...

proxool

配置database.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值