久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

    <bdo id='WRtcJ'></bdo><ul id='WRtcJ'></ul>

    <i id='WRtcJ'><tr id='WRtcJ'><dt id='WRtcJ'><q id='WRtcJ'><span id='WRtcJ'><b id='WRtcJ'><form id='WRtcJ'><ins id='WRtcJ'></ins><ul id='WRtcJ'></ul><sub id='WRtcJ'></sub></form><legend id='WRtcJ'></legend><bdo id='WRtcJ'><pre id='WRtcJ'><center id='WRtcJ'></center></pre></bdo></b><th id='WRtcJ'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='WRtcJ'><tfoot id='WRtcJ'></tfoot><dl id='WRtcJ'><fieldset id='WRtcJ'></fieldset></dl></div>
  1. <legend id='WRtcJ'><style id='WRtcJ'><dir id='WRtcJ'><q id='WRtcJ'></q></dir></style></legend>
    1. <small id='WRtcJ'></small><noframes id='WRtcJ'>

    2. <tfoot id='WRtcJ'></tfoot>
    3. Webservice SOAP 請(qǐng)求 - 發(fā)送的數(shù)據(jù)類型錯(cuò)誤

      Webservice SOAP request - Wrong type of data sent(Webservice SOAP 請(qǐng)求 - 發(fā)送的數(shù)據(jù)類型錯(cuò)誤)
        <legend id='fWaf9'><style id='fWaf9'><dir id='fWaf9'><q id='fWaf9'></q></dir></style></legend>
      1. <tfoot id='fWaf9'></tfoot>

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

          <i id='fWaf9'><tr id='fWaf9'><dt id='fWaf9'><q id='fWaf9'><span id='fWaf9'><b id='fWaf9'><form id='fWaf9'><ins id='fWaf9'></ins><ul id='fWaf9'></ul><sub id='fWaf9'></sub></form><legend id='fWaf9'></legend><bdo id='fWaf9'><pre id='fWaf9'><center id='fWaf9'></center></pre></bdo></b><th id='fWaf9'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='fWaf9'><tfoot id='fWaf9'></tfoot><dl id='fWaf9'><fieldset id='fWaf9'></fieldset></dl></div>
              <tbody id='fWaf9'></tbody>
                <bdo id='fWaf9'></bdo><ul id='fWaf9'></ul>

                本文介紹了Webservice SOAP 請(qǐng)求 - 發(fā)送的數(shù)據(jù)類型錯(cuò)誤的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                問題描述

                限時(shí)送ChatGPT賬號(hào)..

                上下文/我想要的:

                我在使用 SOAP 調(diào)用 Web 服務(wù)時(shí)遇到問題.這是我想調(diào)用的 WS 的相關(guān)部分的圖像:

                (我自愿隱藏命名空間部分,這里不相關(guān))

                我想通過 'Demande_de_mot_de_passe' 函數(shù)發(fā)送數(shù)據(jù)并從這個(gè)請(qǐng)求中獲取結(jié)果.

                在下面的代碼中,這個(gè)請(qǐng)求是正確的(函數(shù)的名字好),我猜問題是我要發(fā)送的數(shù)據(jù)的格式.函數(shù)的調(diào)用是用這部分進(jìn)行的:

                $client->Demande_de_mot_de_passe($soapVar);

                我嘗試過的:

                這是我嘗試過的代碼的相關(guān)部分(我自愿更改數(shù)據(jù)的值,但沒有其他任何內(nèi)容.括號(hào)沒有拼寫錯(cuò)誤,它關(guān)閉了函數(shù)和我沒有放在這里的類以保留相關(guān)部分):

                 $client = new SoapClient('URL_OF_THE_WS?WSDL', array('跟蹤' =>1、'編碼' =>'UTF-8','soap_version' =>SOAP_1_1,'類圖' =>數(shù)組('Demande_de_mot_de_passe_Input' => 'Demande_de_mot_de_passe_Input')));$donnesUtilisateur = 新的 Demande_de_mot_de_passe_Input;$donnesUtilisateur->Code_societe = '000';$donnesUtilisateur->Ident_type = 'A';$donnesUtilisateur->Ident_code = 'xxxxxx';$donnesUtilisateur->Dat_demande = '00000000';$donnesUtilisateur->Adr_mail = 'xxxxxx';$donnesUtilisateur->Adr_cpos = 'xxxxxx';$donnesUtilisateur->Nom = 'xxxxxx';$donnesUtilisateur->Prenom = 'xxxxxx';$donnesUtilisateur->Dat_naiss = '00000000';$namespace = 'URL_OF_NAMESPACE';$soapVar = new SoapVar($donnesUtilisateur, SOAP_ENC_OBJECT,'Demande_de_mot_de_passe_Input', $namespace);$result = $client->Demande_de_mot_de_passe($soapVar);打印_r($result);}}類 Demande_de_mot_de_passe_Input {公共 $Code_societe;公共 $Ident_type;公共 $Ident_code;公開 $Dat_demande;公共 $Adr_cpos;公共 $Adr_mail;公共 $Nom;公開 $Prenom;公開 $Dat_naiss;}

                我也試過用這樣的數(shù)組傳遞一個(gè)對(duì)象的數(shù)組(沒有成功):

                $donnesUtilisateur = ['Code_societe' =>'000','Ident_type' =>'一個(gè)','Ident_code' =>'xxxxxx','Dat_demande' =>'00000000','Adr_cpos' =>'xxxxxx','Adr_mail' =>'xxxxxx','Nom' =>'xxxxxx','Prenom' =>'xxxxxx','Dat_naiss' =>'00000000',];

                和:

                $donnesUtilisateur = (對(duì)象) ['Code_societe' =>'000','Ident_type' =>'一個(gè)','Ident_code' =>'xxxxxx','Dat_demande' =>'00000000','Adr_cpos' =>'xxxxxx','Adr_mail' =>'xxxxxx','Nom' =>'xxxxxx','Prenom' =>'xxxxxx','Dat_naiss' =>'00000000',];

                我得到的錯(cuò)誤:

                SoapFault:未收到Demande_de_mot_de_passe_Input"對(duì)象.在 SoapClient->__call() 中

                如果我不明白,發(fā)送的數(shù)據(jù)格式不正確,但是當(dāng)我嘗試其他方式發(fā)送時(shí),它仍然報(bào)告同樣的錯(cuò)誤.

                我讀過的文檔沒有成功:

                (抱歉,帖子太長了,我希望它足夠清楚,如果需要,不要忘記詢問精度,在此先感謝您的幫助:))

                解決方案

                在您的 WSDL 類型中,有一個(gè)名為 Demande_de_mot_de_passe 的序列,它使用名為 Demande_de_mot_de_passeRequest 的元素而不是 <代碼>Demande_de_mot_de_passe_Input.

                來自 SoapUI 的打印描述了消息請(qǐng)求,但如果它是 document 樣式,則 Demande_de_mot_de_passe 是一種類型.另一方面,如果它是 RPC 是方法名稱.

                如果是 RPC,您可以按如下所示進(jìn)行啟動(dòng).您應(yīng)該盡可能使用本機(jī)對(duì)象(SOAP 會(huì)更好地使用它們).stdObject 就足夠了:

                $request = new stdClass();$ demande_de_mot_de_passeRequest->Code_societe = '000';$ demande_de_mot_de_passeRequest->Ident_type = 'A';$ demande_de_mot_de_passeRequest->Ident_code = 'xxxxxx';$ demande_de_mot_de_passeRequest->Dat_demande = '00000000';$ demande_de_mot_de_passeRequest->Adr_mail = 'xxxxxx';$ demande_de_mot_de_passeRequest->Adr_cpos = 'xxxxxx';$ demande_de_mot_de_passeRequest->Nom = 'xxxxxx';$ demande_de_mot_de_passeRequest->Prenom = 'xxxxxx';$ demande_de_mot_de_passeRequest->Dat_naiss = '00000000';$request->Demande_de_mot_de_passeRequest = $ demande_de_mot_de_passeRequest;$response = $client->Demande_de_mot_de_passe($request);

                如果您的 SOAP 綁定是文檔,您只需添加一個(gè)名為 Demande_de_mot_de_passe

                的新上層

                /** 變量 $demande_de_mot_de_passeRequest 如上創(chuàng)建 **/$ demande_de_mot_de_passe = new stdClass();$ demande_de_mot_de_passe->Demande_de_mot_de_passeRequest = $ demande_de_mot_de_passeRequest;$request->Demande_de_mot_de_passe = $ demande_de_mot_de_passe;$response = $client->Demande_de_mot_de_passe($request);

                您的 WSDL 不需要列表/集合(這不是您的情況),因此您不需要使用 SoapVar 創(chuàng)建/解析變量.您可以閱讀其他示例(一個(gè)是我的,但它是葡萄牙語),另一個(gè)是關(guān)于 BOGUS 節(jié)點(diǎn)的:

                http://forum.imasters.com.br/topic/535213-enviar-xml-via-soap/?p=2137411http://www.fischco.org/blog/2011/3/26/php-soapserver-objects-arrays-and-encoding.html

                Context / What I want :

                I'm facing an issue while calling a Webservice with SOAP. Here's an image the relevant part of the WS I want to call :

                (I voluntarily hide the namespace part, not relevant here)

                I want to send data through 'Demande_de_mot_de_passe' function and catch result from this request.

                In the code below, this request is correct (the name of the function is good), I guess the problem is the formatting of the data I want to send. The call of the function is made with this part :

                $client->Demande_de_mot_de_passe($soapVar);
                

                What I've tried :

                Here's the relevant part of the code I've tried ( I voluntarily change values of data but nothing else. There is no typo error with the brackets, it close the function and the class I didn't put here to keep the relevant part) :

                    $client = new SoapClient('URL_OF_THE_WS?WSDL', array(
                      'trace'        => 1,
                      'encoding'     => 'UTF-8',
                      'soap_version' => SOAP_1_1,
                      'classmap'     => array('Demande_de_mot_de_passe_Input' => 'Demande_de_mot_de_passe_Input')
                    ));
                
                    $donnesUtilisateur = new Demande_de_mot_de_passe_Input;
                    $donnesUtilisateur->Code_societe = '000';
                    $donnesUtilisateur->Ident_type   = 'A';
                    $donnesUtilisateur->Ident_code   = 'xxxxxx';
                    $donnesUtilisateur->Dat_demande  = '00000000';
                    $donnesUtilisateur->Adr_mail     = 'xxxxxx';
                    $donnesUtilisateur->Adr_cpos     = 'xxxxxx';
                    $donnesUtilisateur->Nom          = 'xxxxxx';
                    $donnesUtilisateur->Prenom       = 'xxxxxx';
                    $donnesUtilisateur->Dat_naiss    = '00000000';
                    $namespace = 'URL_OF_NAMESPACE';
                
                    $soapVar = new SoapVar($donnesUtilisateur, SOAP_ENC_OBJECT,'Demande_de_mot_de_passe_Input', $namespace);
                
                    $result = $client->Demande_de_mot_de_passe($soapVar);
                
                    print_r($result);
                
                  }
                }
                
                class Demande_de_mot_de_passe_Input {
                  public $Code_societe;
                  public $Ident_type;
                  public $Ident_code;
                  public $Dat_demande;
                  public $Adr_cpos;
                  public $Adr_mail;
                  public $Nom;
                  public $Prenom;
                  public $Dat_naiss;
                }
                

                I've also tried with passing array of casting an object with the array like this (without success) :

                $donnesUtilisateur =  [
                      'Code_societe' => '000',
                      'Ident_type'  => 'A',
                      'Ident_code'  => 'xxxxxx',
                      'Dat_demande' => '00000000',
                      'Adr_cpos'    => 'xxxxxx',
                      'Adr_mail'    => 'xxxxxx',
                      'Nom'         => 'xxxxxx',
                      'Prenom'      => 'xxxxxx',
                      'Dat_naiss'   => '00000000',
                    ];
                

                and :

                $donnesUtilisateur = (object) [
                      'Code_societe' => '000',
                      'Ident_type'  => 'A',
                      'Ident_code'  => 'xxxxxx',
                      'Dat_demande' => '00000000',
                      'Adr_cpos'    => 'xxxxxx',
                      'Adr_mail'    => 'xxxxxx',
                      'Nom'         => 'xxxxxx',
                      'Prenom'      => 'xxxxxx',
                      'Dat_naiss'   => '00000000',
                    ];
                

                Error I get :

                SoapFault: Did not receive a 'Demande_de_mot_de_passe_Input' object. in SoapClient->__call()
                

                If I unterstand clearly, the formatting of data sent is not correct but when I try other way to send it, it still reporting the same error.

                Docs I've read about without success :

                http://www.fvue.nl/wiki/Php:_Soap:_How_to_add_attribute_to_SoapVar

                http://grokbase.com/t/php/php-soap/066jkmcz2h/passing-objects-to-soap-server-complextype-classmap

                EDIT

                Here's a capture of the WS 'Demande_de_mot_de_passe' function call in SoapUI :

                (Sorry for the long post, I hope it is clear enough, don't forget to ask about precisions if needed, thanks in advance for your help :) )

                解決方案

                At your WSDL's type, there's a sequence named Demande_de_mot_de_passe which use a element named Demande_de_mot_de_passeRequest and not Demande_de_mot_de_passe_Input.

                Your print from SoapUI describe the message request, but if it's document style, Demande_de_mot_de_passe is a type. On the other hand if it's RPC is the method name.

                Starting if it's RPC you can do as showed below. You should use as native object as you can (SOAP will work better with they). A stdObject will be good enough:

                $request = new stdClass();
                
                $demande_de_mot_de_passeRequest->Code_societe = '000';
                $demande_de_mot_de_passeRequest->Ident_type = 'A';
                $demande_de_mot_de_passeRequest->Ident_code = 'xxxxxx';
                $demande_de_mot_de_passeRequest->Dat_demande = '00000000';
                $demande_de_mot_de_passeRequest->Adr_mail = 'xxxxxx';
                $demande_de_mot_de_passeRequest->Adr_cpos = 'xxxxxx';
                $demande_de_mot_de_passeRequest->Nom = 'xxxxxx';
                $demande_de_mot_de_passeRequest->Prenom = 'xxxxxx';
                $demande_de_mot_de_passeRequest->Dat_naiss = '00000000';
                
                $request->Demande_de_mot_de_passeRequest = $demande_de_mot_de_passeRequest;
                
                $response = $client->Demande_de_mot_de_passe($request);
                

                If your SOAP binding is document, you just have to add a new upper level named Demande_de_mot_de_passe

                /** The variable $demande_de_mot_de_passeRequest is created as above **/
                
                $demande_de_mot_de_passe = new stdClass();
                $demande_de_mot_de_passe->Demande_de_mot_de_passeRequest = $demande_de_mot_de_passeRequest;
                $request->Demande_de_mot_de_passe = $demande_de_mot_de_passe;
                
                $response = $client->Demande_de_mot_de_passe($request);
                

                Your WSDL doesn't need a list/collections (it's not your case), so you don't need to create/parse variables with SoapVar. There's others examples that you can read about (one is mine, but it's in portuguese) and other is about the BOGUS node:

                http://forum.imasters.com.br/topic/535213-enviar-xml-via-soap/?p=2137411 http://www.fischco.org/blog/2011/3/26/php-soapserver-objects-arrays-and-encoding.html

                這篇關(guān)于Webservice SOAP 請(qǐng)求 - 發(fā)送的數(shù)據(jù)類型錯(cuò)誤的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(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 異常無法連接到主機(jī))
                Implementation of P_SHA1 algorithm in PHP(PHP中P_SHA1算法的實(shí)現(xiàn))
                Sending a byte array from PHP to WCF(將字節(jié)數(shù)組從 PHP 發(fā)送到 WCF)
                <tfoot id='KaTWB'></tfoot>

                • <i id='KaTWB'><tr id='KaTWB'><dt id='KaTWB'><q id='KaTWB'><span id='KaTWB'><b id='KaTWB'><form id='KaTWB'><ins id='KaTWB'></ins><ul id='KaTWB'></ul><sub id='KaTWB'></sub></form><legend id='KaTWB'></legend><bdo id='KaTWB'><pre id='KaTWB'><center id='KaTWB'></center></pre></bdo></b><th id='KaTWB'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='KaTWB'><tfoot id='KaTWB'></tfoot><dl id='KaTWB'><fieldset id='KaTWB'></fieldset></dl></div>

                    <legend id='KaTWB'><style id='KaTWB'><dir id='KaTWB'><q id='KaTWB'></q></dir></style></legend>

                      <tbody id='KaTWB'></tbody>
                        <bdo id='KaTWB'></bdo><ul id='KaTWB'></ul>

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

                          主站蜘蛛池模板: 91在线视频网址 | 欧美视频二区 | 成人在线观看免费视频 | 中文字幕精 | 中文字幕一页二页 | 欧美日韩视频在线 | 成年人在线电影 | 久久亚洲一区二区三 | 天天操夜夜操 | 黄色在线免费观看视频 | 免费成人毛片 | 日韩一区二区三区av | 亚洲精品久久久久久一区二区 | 高清一区二区三区 | 亚洲成人精品一区 | 久久国产精品一区二区 | 中文字幕一区二区三区精彩视频 | 99亚洲精品 | 免费在线成人 | 婷婷开心激情综合五月天 | 91精品国产91久久久久游泳池 | 亚洲品质自拍视频 | 欧美视频二区 | 中文字幕伊人 | 免费国产一区二区 | 精品国产伦一区二区三区观看体验 | 欧美色综合| 一区二区三区在线 | 在线免费观看日本 | 91免费视频观看 | 每日更新av| 成年人在线电影 | 日韩一级免费大片 | 成人在线电影在线观看 | 五月婷婷激情网 | 亚洲欧美综合 | 国产传媒在线播放 | 亚洲欧美激情四射 | 中文字幕亚洲国产 | 亚洲综合无码一区二区 | 成人av网站在线观看 |