Oznámení

Fórum bylo uzavřeno. Využijte prosím služeb serverů JakPsatWeb, Builder nebo Webtrh.

#1 před 2 lety

jannemec
Člen
Registrovaný: 26. 5. 2009
Příspěvky: 38

ARES volání SOAP

Zdravím, nemá někdo funkční příklad volání ARES pomocí SOAP (GET a POST není problém) – zkusil jsem SoapClient i nusoap a narážím – namespace mi to neustále cpe do hlavičky místo do tagu Ares_dotazy a s tím zjevně v ARESu nepočítají (když ho manuálně přesunu, vše projde …)
Raději bych použil SOAP než Get …
Díky
JN
korektní dotaz:

<env:Envelope
xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:ns1="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_request/v_1.0.1">
    <env:Body>
        <ns1:Ares_dotazy **xmlns:ns1="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_request/v_1.0.1"** dotaz_datum_cas="2010-10-15T05:43:51" dotaz_pocet="1" dotaz_typ="Standard" vystup_format="XML" validation_XSLT="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_request/v_1.0.0/ares_request.xsl" user_mail="jannemec@centrum.cz" answerNamespaceRequired="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer/v_1.0.1" Id="Ares_dotaz">
            <ns1:Dotaz>
                <ns1:Pomocne_ID>1</ns1:Pomocne_ID>
                <ns1:Typ_vyhledani>FREE</ns1:Typ_vyhledani>
                <ns1:Klicove_polozky>
                    <ns1:ICO>27074358</ns1:ICO>
                </ns1:Klicove_polozky>
                <ns1:Max_pocet>10</ns1:Max_pocet>
            </ns1:Dotaz>
        </ns1:Ares_dotazy>
    </env:Body>
</env:Envelope>

kód vygenerovaný standardně z PHO soapclient:

<env:Envelope
xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:ns1="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_request/v_1.0.1">
    <env:Body>
        <ns1:Ares_dotazy dotaz_datum_cas="2010-10-15T05:43:51" dotaz_pocet="1" dotaz_typ="Standard" vystup_format="XML" validation_XSLT="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_request/v_1.0.0/ares_request.xsl" user_mail="jannemec@centrum.cz" answerNamespaceRequired="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer/v_1.0.1" Id="Ares_dotaz">
            <ns1:Dotaz>
                <ns1:Pomocne_ID>1</ns1:Pomocne_ID>
                <ns1:Typ_vyhledani>FREE</ns1:Typ_vyhledani>
                <ns1:Klicove_polozky>
                    <ns1:ICO>27074358</ns1:ICO>
                </ns1:Klicove_polozky>
                <ns1:Max_pocet>10</ns1:Max_pocet>
            </ns1:Dotaz>
        </ns1:Ares_dotazy>
    </env:Body>
</env:Envelope>

kód skriptu:

$soapClient = new SoapClient(self::getLocation(0), array(
                             'trace'    => 1
                            , 'proxy_host'     => "127.0.0.1"
                            , 'encoding'     => "utf-8"
                            , 'proxy_port'     => 8888
                            , 'soap_version' => SOAP_1_2
                            , 'features' => SOAP_USE_XSI_ARRAY_TYPE
                            , 'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP

            ));

        $tm = time() - 2 * 3600;

        $params = array(
                'Dotaz' => array(
                    'Pomocne_ID' => 1
                    , 'Typ_vyhledani' => 'FREE'
                    , 'Klicove_polozky' => array(
                        'ICO' => '27074358'
                    )
                    , 'Max_pocet' => 10
                )
                , 'dotaz_datum_cas' => date('Y-m-d', $tm) . 'T' . date('H:i:s', $tm)
                , 'dotaz_pocet' => 1
                , 'dotaz_typ' => 'Standard'
                , 'vystup_format' => 'XML'
                , 'validation_XSLT' => 'http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_request/v_1.0.0/ares_request.xsl'
                , 'user_mail' => self::getMail()
                , 'answerNamespaceRequired' => 'http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer/v_1.0.1'
                , 'Id' => 'Ares_dotaz'
           );



        $response = $soapClient->GetXmlFile($params);

web je spíše koníček i když jsem se tím i živil … a třeba zase budu :-)

 

Zápatí