pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

      <bdo id='3tiIs'></bdo><ul id='3tiIs'></ul>

    1. <tfoot id='3tiIs'></tfoot>
    2. <legend id='3tiIs'><style id='3tiIs'><dir id='3tiIs'><q id='3tiIs'></q></dir></style></legend>

      <small id='3tiIs'></small><noframes id='3tiIs'>

      <i id='3tiIs'><tr id='3tiIs'><dt id='3tiIs'><q id='3tiIs'><span id='3tiIs'><b id='3tiIs'><form id='3tiIs'><ins id='3tiIs'></ins><ul id='3tiIs'></ul><sub id='3tiIs'></sub></form><legend id='3tiIs'></legend><bdo id='3tiIs'><pre id='3tiIs'><center id='3tiIs'></center></pre></bdo></b><th id='3tiIs'></th></span></q></dt></tr></i><div class="rxhl9t7" id='3tiIs'><tfoot id='3tiIs'></tfoot><dl id='3tiIs'><fieldset id='3tiIs'></fieldset></dl></div>
    3. 使用 PHP 和 XML 主體創(chuàng)建 SOAP 調(diào)用

      Creating a SOAP call using PHP with an XML body(使用 PHP 和 XML 主體創(chuàng)建 SOAP 調(diào)用)
    4. <legend id='iiZl4'><style id='iiZl4'><dir id='iiZl4'><q id='iiZl4'></q></dir></style></legend>

        1. <i id='iiZl4'><tr id='iiZl4'><dt id='iiZl4'><q id='iiZl4'><span id='iiZl4'><b id='iiZl4'><form id='iiZl4'><ins id='iiZl4'></ins><ul id='iiZl4'></ul><sub id='iiZl4'></sub></form><legend id='iiZl4'></legend><bdo id='iiZl4'><pre id='iiZl4'><center id='iiZl4'></center></pre></bdo></b><th id='iiZl4'></th></span></q></dt></tr></i><div class="fxfhnlt" id='iiZl4'><tfoot id='iiZl4'></tfoot><dl id='iiZl4'><fieldset id='iiZl4'></fieldset></dl></div>

          <small id='iiZl4'></small><noframes id='iiZl4'>

          <tfoot id='iiZl4'></tfoot>

            <tbody id='iiZl4'></tbody>

              • <bdo id='iiZl4'></bdo><ul id='iiZl4'></ul>
              • 本文介紹了使用 PHP 和 XML 主體創(chuàng)建 SOAP 調(diào)用的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                問題描述

                限時送ChatGPT賬號..

                我正在嘗試使用 PHP 調(diào)用 SOAP 方法.

                I'm trying to call a SOAP method using PHP.

                這是我得到的代碼:

                $data = array('Acquirer' =>
                  array(
                    'Id' => 'MyId',
                    'UserId' => 'MyUserId',
                    'Password' => 'MyPassword'
                  ));
                $method = 'Echo';
                $client = new SoapClient(NULL,
                           array('location' => 'https://example.com/ExampleWebServiceDL/services/ExampleHandler', 
                           'uri' => 'http://example.com/wsdl', 'trace' => 1));
                $result = $client->$method($data);
                

                這是它創(chuàng)建的請求:

                  <?xml version="1.0" encoding="UTF-8"?>
                  <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://example.com/wsdl" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <SOAP-ENV:Body>
                      <ns1:Echo>
                        <param0 xsi:type="ns2:Map">
                          <item>
                            <key xsi:type="xsd:string">Acquirer</key>
                            <value xsi:type="ns2:Map">
                              <item>
                                <key xsi:type="xsd:string">Id</key>
                                <value xsi:type="xsd:string">mcp</value>
                              </item>
                              <item>
                                <key xsi:type="xsd:string">UserId</key>
                                <value xsi:type="xsd:string">tst001</value>
                              </item>
                              <item>
                                <key xsi:type="xsd:string">Password</key>
                                <value xsi:type="xsd:string">test</value>
                              </item>
                            </value>
                          </item>
                        </param0>
                      </ns1:Echo>
                    </SOAP-ENV:Body>
                  </SOAP-ENV:Envelope>
                

                這是我希望請求的樣子:

                  <?xml version="1.0" encoding="UTF-8"?>
                  <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://example.com/wsdl" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <SOAP-ENV:Body>
                      <Echo>
                        <Acquirer>
                          <Id>MyId</Id>
                          <UserId>MyUserId</UserId>
                          <Password>MyPassword</Password>
                        </Acquirer>
                      </Echo>
                    </SOAP-ENV:Body>
                  </SOAP-ENV:Envelope>
                

                推薦答案

                有幾種方法可以解決這個問題.最簡單的,幾乎是您想要的:

                There are a couple of ways to solve this. The least hackiest and almost what you want:

                $client = new SoapClient(
                    null,
                    array(
                        'location' => 'https://example.com/ExampleWebServiceDL/services/ExampleHandler',
                        'uri' => 'http://example.com/wsdl',
                        'trace' => 1,
                        'use' => SOAP_LITERAL,
                    )
                );
                $params = new SoapVar("<Acquirer><Id>MyId</Id><UserId>MyUserId</UserId><Password>MyPassword</Password></Acquirer>", XSD_ANYXML);
                $result = $client->Echo($params);
                

                這會為您提供以下 XML:

                This gets you the following XML:

                <?xml version="1.0" encoding="UTF-8"?>
                <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://example.com/wsdl">
                    <SOAP-ENV:Body>
                        <ns1:Echo>
                            <Acquirer>
                                <Id>MyId</Id>
                                <UserId>MyUserId</UserId>
                                <Password>MyPassword</Password>
                            </Acquirer>
                        </ns1:Echo>
                    </SOAP-ENV:Body>
                </SOAP-ENV:Envelope>
                

                這幾乎正是您想要的,除了方法名稱上的命名空間.我不知道這是否有問題.如果是這樣,您可以進一步破解它.您可以手動將 <Echo> 標記放入 XML 字符串中,并通過添加 'style' => 讓 SoapClient 不設(shè)置方法.SOAP_DOCUMENT, 到 options 數(shù)組如下:

                That is almost exactly what you want, except for the namespace on the method name. I don't know if this is a problem. If so, you can hack it even further. You could put the <Echo> tag in the XML string by hand and have the SoapClient not set the method by adding 'style' => SOAP_DOCUMENT, to the options array like this:

                $client = new SoapClient(
                    null,
                    array(
                        'location' => 'https://example.com/ExampleWebServiceDL/services/ExampleHandler',
                        'uri' => 'http://example.com/wsdl',
                        'trace' => 1,
                        'use' => SOAP_LITERAL,
                        'style' => SOAP_DOCUMENT,
                    )
                );
                $params = new SoapVar("<Echo><Acquirer><Id>MyId</Id><UserId>MyUserId</UserId><Password>MyPassword</Password></Acquirer></Echo>", XSD_ANYXML);
                $result = $client->MethodNameIsIgnored($params);
                

                這會產(chǎn)生以下請求 XML:

                This results in the following request XML:

                <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
                    <SOAP-ENV:Body>
                        <Echo>
                            <Acquirer>
                                <Id>MyId</Id>
                                <UserId>MyUserId</UserId>
                                <Password>MyPassword</Password>
                            </Acquirer>
                        </Echo>
                    </SOAP-ENV:Body>
                </SOAP-ENV:Envelope>
                

                最后,如果你想玩轉(zhuǎn) SoapVar 和 SoapParam 對象,你可以在 PHP 手冊的這個注釋中找到一個很好的參考:http://www.php.net/manual/en/soapvar.soapvar.php#104065.如果你成功了,請告訴我,我失敗得很慘.

                Finally, if you want to play around with SoapVar and SoapParam objects, you can find a good reference in this comment in the PHP manual: http://www.php.net/manual/en/soapvar.soapvar.php#104065. If you get that to work, please let me know, I failed miserably.

                這篇關(guān)于使用 PHP 和 XML 主體創(chuàng)建 SOAP 調(diào)用的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

                相關(guān)文檔推薦

                enable SOAP on PHP(在 PHP 上啟用 SOAP)
                Get received XML from PHP SOAP Server(從 PHP SOAP 服務(wù)器獲取接收到的 XML)
                not a valid AllXsd value(不是有效的 AllXsd 值)
                PHP SoapClient: SoapFault exception Could not connect to host(PHP SoapClient:SoapFault 異常無法連接到主機)
                Implementation of P_SHA1 algorithm in PHP(PHP中P_SHA1算法的實現(xiàn))
                Sending a byte array from PHP to WCF(將字節(jié)數(shù)組從 PHP 發(fā)送到 WCF)
                  <bdo id='5iKyk'></bdo><ul id='5iKyk'></ul>

                  <small id='5iKyk'></small><noframes id='5iKyk'>

                      <tbody id='5iKyk'></tbody>

                        <legend id='5iKyk'><style id='5iKyk'><dir id='5iKyk'><q id='5iKyk'></q></dir></style></legend>
                      • <tfoot id='5iKyk'></tfoot>
                        <i id='5iKyk'><tr id='5iKyk'><dt id='5iKyk'><q id='5iKyk'><span id='5iKyk'><b id='5iKyk'><form id='5iKyk'><ins id='5iKyk'></ins><ul id='5iKyk'></ul><sub id='5iKyk'></sub></form><legend id='5iKyk'></legend><bdo id='5iKyk'><pre id='5iKyk'><center id='5iKyk'></center></pre></bdo></b><th id='5iKyk'></th></span></q></dt></tr></i><div class="9xxd9j9" id='5iKyk'><tfoot id='5iKyk'></tfoot><dl id='5iKyk'><fieldset id='5iKyk'></fieldset></dl></div>
                          主站蜘蛛池模板: 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 土壤墒情监测站_土壤墒情监测仪_土壤墒情监测系统_管式土壤墒情站-山东风途物联网 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 上海质量认证办理中心 | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 高速混合机_锂电混合机_VC高效混合机-无锡鑫海干燥粉体设备有限公司 | 无水硫酸铝,硫酸铝厂家-淄博双赢新材料科技有限公司 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 包装机传感器-搅拌站传感器-山东称重传感器厂家-济南泰钦电气 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 飞象网 - 通信人每天必上的网站 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 对夹式止回阀厂家,温州对夹式止回阀制造商--永嘉县润丰阀门有限公司 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 |