PHP Soap调用.net webservice丢失第一个参数

简介: 这两天使用php调用.net做的webservice,一直不成功。$output = $soap->__soapCall("sds", array(new SoapParam("192.

这两天使用php调用.net做的webservice,一直不成功。

$output = $soap->__soapCall("sds", array(new SoapParam("192.168.0.100", "ip"), new SoapParam("abcdefg", "input")));
经抓包后,发现丢了第一个参数:

POST /PostLiftData.asmx HTTP/1.1
Host: 192.168.0.113:9001
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.3.8
Content-Type: application/soap+xml; charset=utf-8; action="http://tempuri.org/sds"
Content-Length: 206

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://tempuri.org/"><env:Body><ns1:sds/><input>abcdefg</input></env:Body></env:Envelope>
要改成以下这个,才能完成我想发送的两个参数:input, ip。

$output = $soap->__soapCall("sds", array('', new SoapParam("192.168.0.100", "ip"), new SoapParam("abcdefg", "input")));
结果:

POST /PostLiftData.asmx HTTP/1.1
Host: 192.168.0.113:9001
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.3.8
Content-Type: application/soap+xml; charset=utf-8; action="http://tempuri.org/sds"
Content-Length: 228

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://tempuri.org/"><env:Body><ns1:sds/><ip>192.168.0.100</ip><input>abcdefg</input></env:Body></env:Envelope>


------------------------------------------------------------------------------

发现了问题,原来php调用.net的SOAP是需要这样子调用:

$params = array('ip'=>"192.168.0.100", 'input'=>"abcdefg");
$output = $soap->__soapCall("sds", array("parameters" => $params));

那么,如果是调用java的和Php的呢?是否同样适用?







相关文章
|
1月前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
|
4月前
|
数据采集 存储 JavaScript
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
本文旨在介绍如何利用PHP中的simple_html_dom库结合爬虫代理IP技术来高效采集和分析汽车之家网站的电动车参数。通过实际示例和详细说明,读者将了解如何实现数据分析和爬虫技术的结合应用,从而更好地理解和应用相关技术。
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
|
4月前
|
监控 Linux 应用服务中间件
linux php-fpm优化 php-fpm.conf 重要参数详解
linux php-fpm优化 php-fpm.conf 重要参数详解
81 0
|
4月前
|
机器学习/深度学习 存储 编解码
多任务学习新篇章 | EMA-Net利用Cross-Task Affinity实现参数高效的高性能预测
多任务学习新篇章 | EMA-Net利用Cross-Task Affinity实现参数高效的高性能预测
123 0
|
4月前
|
PHP
PHP进阶-默认参数值和可变参数列表
PHP函数支持默认参数值和可变参数列表两种特性。默认参数值,即可以为参数指定默认值,使得在函数调用时如果没有提供相应参数,则会使用默认值;可变参数列表,即使用不定数量的参数调用函数。本文将详细介绍这两种用法,并通过代码举例说明其使用场景。熟练掌握默认参数和可变参数列表的使用,可以极大地提高PHP开发的效率。
46 0
|
4月前
|
程序员 数据库
VB.NET—Bug调试(参数话查询、附近语法错误)
VB.NET—Bug调试(参数话查询、附近语法错误)
47 0
|
PHP
php 的函数参数值类型限定
如例: function test(array $a,test $b){ /*...*/ } class test{ /*...*/ }   test(array(),new test);   表示test函数的参数里,第一个参数必须是数组,第二个必须是test类的实体。
852 0
|
11天前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。