English 中文(简体)
在PHP使用SapClient阶级的Sap申请中,第210段消失
原标题:param0 disappearing in Soap request in PHP using SoapClient class

我正在尝试使用<条码>SoapClient从PHP代码上打一个网络服务。

$service = new SoapClient($wsdl);
$service->myFunction( something ,  anotherthing ,  onemore );

如果我看上去追踪并收到最后一项请求,我就可以看到,从Sap电文(即第0)中总是没有第一个参数。 在职能方面,它具有较少或更多的参数。

Soap请求:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <myFunction />
    <param1>anotherthing</param1>
    <param2>onemore</param2>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我期望它能做些什么(以及我的网络服务在使用飞跃时所接受的内容):

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <myFunction>
      <param0>something</param0>
      <param1>anotherthing</param1>
      <param2>onemore</param2>
    </myFunction>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

......

__soapCall( myFunction , array($something, $anotherthing, $onemore));

我正在视窗XP上使用xampplite。

最新资料:http://programming.itags.org/php/236781/ 与同一问题的人有联系(在2008年提出,没有答案):

最新情况2:我还注意到,它没有将代表职能要素的儿童要素的xml要素作为参数。 这可能是正确的吗?

我曾做过一个可怕的固定装置,我超负荷了__do Request的功能,并ed开了 $变。 它运作良好,但.。 我也可以汇编整个请求。

最新情况3:我觉得像PHP一样运转不畅。 但是,如果这是执行飞跃的ug子,我认为,在网络上会有更多的信息。 aaargh。 接下来的尝试是审判NuSoap和PEAR。

最新情况4:为了四舍五入,我没有尝试NuSoap和PEAR。 我刚刚去了我的黑板,因为它发挥了作用,还有其他活动需要这样做。 此外,已经发放了电灯,下一阶段的公共卫生和社会福利部将不再使用。 因此,整个事项将重新加以执行。

问题回答

TL;DR 版本:你改称你的SOAP方法不正确。 限定阵列中的参数,而不是将它们作为单独的理由来进行PHP--------------------------------------。

我有同样的问题,这确实给我留下了.。 我猜测,我只是把我的头部推倒在墙上,不过时间更长。 我发现我这样做了:

$soapclient = new SoapClient($uri);
$soapclient->MethodName($param0, $param1, $param2);

很奇怪的是,创立了SOAP XML,即:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<MethodName/>
<param1>$param1</param1>
<param2>$param2</param2>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我本来应该做的是:

$soapclient = new SoapClient($uri);
$soapclient->MethodName(array($param0, $param1, $param2));

由此产生了SOAP XML。

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<MethodName>
<param0>$param0</param0>
<param1>$param1</param1>
<param2>$param2</param2>
</MethodName>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

在“后瞻”中,我可以看到,我如何误导《社会行动计划》的参数,因为后者也是《社会指标》的参数!

你们可以看到,SapClient通过扩大 方法,以及欺骗$request/code>。

或者, SoapClient:__getLastRequest 也可以使用,但我过去曾提出过一些问题,因为我的呼吁产生了一个例外(例如:不遵守WDSL),载于<代码>doRequest,你可在发送之前检查XML。

确信,根据设想提出的论点,你的问题可能在于你所寄出的实际变量,或者说,这一呼吁与WSDL所规定的行动相对应。





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签