Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP发布SOAP并接收结果_Php_Post_Soap - Fatal编程技术网

PHP发布SOAP并接收结果

PHP发布SOAP并接收结果,php,post,soap,Php,Post,Soap,是否可以通过PHP将SOAP请求发布到服务器url并接收结果 要发布参数的Url: http://example.com/stockChart.svc <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <getStockWeeklyChart xmlns="http://www.example.com/1"> &l

是否可以通过PHP将SOAP请求发布到服务器url并接收结果

要发布参数的Url:

http://example.com/stockChart.svc
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <getStockWeeklyChart xmlns="http://www.example.com/1">
            <request xmlns:d4p1="http://www.example.com/2" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <d4p1:msInstrumentID>0</d4p1:msInstrumentID>
                <d4p1:symbol>FB</d4p1:symbol>
                <d4p1:indexSymbol>0S&amp;P5</d4p1:indexSymbol>
                <d4p1:dateInfo xmlns:d5p1="http://www.example.com/3">
                    <d5p1:startDate>2012-05-18T00:00:00</d5p1:startDate>
                    <d5p1:endDate>2013-09-16T00:00:00</d5p1:endDate>
                    <d5p1:frequency>Weekly</d5p1:frequency>
                    <d5p1:frequencyUnit>1</d5p1:frequencyUnit>
                    <d5p1:tickCount>0</d5p1:tickCount>
                </d4p1:dateInfo>
            </request>
        </getStockWeeklyChart>
    </s:Body>
</s:Envelope>
员额参数:

http://example.com/stockChart.svc
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <getStockWeeklyChart xmlns="http://www.example.com/1">
            <request xmlns:d4p1="http://www.example.com/2" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <d4p1:msInstrumentID>0</d4p1:msInstrumentID>
                <d4p1:symbol>FB</d4p1:symbol>
                <d4p1:indexSymbol>0S&amp;P5</d4p1:indexSymbol>
                <d4p1:dateInfo xmlns:d5p1="http://www.example.com/3">
                    <d5p1:startDate>2012-05-18T00:00:00</d5p1:startDate>
                    <d5p1:endDate>2013-09-16T00:00:00</d5p1:endDate>
                    <d5p1:frequency>Weekly</d5p1:frequency>
                    <d5p1:frequencyUnit>1</d5p1:frequencyUnit>
                    <d5p1:tickCount>0</d5p1:tickCount>
                </d4p1:dateInfo>
            </request>
        </getStockWeeklyChart>
    </s:Body>
</s:Envelope>

0
食品饮料
0S&;P5
2012-05-18T00:00:00
2013-09-16T00:00:00
周报
1.
0

是的,的确如此。让我们以PHP使用的WCF服务为例:

using System;
using System.Globalization;
using System.Web.Services.Protocols;
using SalesforceService.SFDCPartner;
using System.Xml;

namespace SalesforceService
{
    public class SalesforceService : ISalesforceService
    {

        /// <summary>
        /// Simple test stub to see how PHP can communicate with .NET web service
        /// </summary>
        /// <param name="value">Any string, preferably simple like Hello or Bye</param>
        /// <returns>A string indicating the call received incoming value</returns>
        public string GetData(string value)
        {
            return string.Format("You entered: {0}", value);
        }


        public CompositeType GetDataUsingDataContract(CompositeType composite)
        {
            if (composite == null)
            {
                throw new ArgumentNullException("composite");
            }
            if (composite.BoolValue)
            {
                composite.StringValue += "Suffix";
            }
            return composite;
        }

    }
}
与此服务通信的PHP脚本:

<?php   

    $client = new SoapClient("http://server.com/salesforceservice/SalesforceService.svc?wsdl");
    $result = $client->GetData(
        array('value'   => 'really?')
    );
    echo $result->GetDataResult, "\r\n";

?>

确保正确设置了php.ini,并且未注释
extension=php\u soap.dll
。您可能还需要
extension\u dir=“ext”
取消注释