Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: SOAP ja php

sprawl [24.04.2018 18:05:23]

#

Pitäis saada ensimmäinen projekti eteenpäin joka lähettäis laskut SOAP:ia käyttäen laskutukseen.
Mutta, eipä ole tullut koskaan tehtyä.


Mulla on tiedossa täysin valmis malli XML-lasku, sekä tunnukset palveluun ja osoite jota kautta se toimii.

Mutta, onko tässä nyt joku isokin järki olemassa kun en mistään tunnu löytävän simppeliä esimerkkiä miten tuo XML listaus lähetetään laskuttajalle käyttäen soap post:ia ?

PHP:llä on sivusto muuten tehty ja laskutiedot saan kannasta kyllä nätisti miten vain.

Auttaisko joku ?

groovyb [24.04.2018 20:29:34]

#

Kai se laskuttajan web service -kuvauksista pitäisi ilmetä, missä muodossa ja mihin setti lähetetään.

sprawl [24.04.2018 22:38:52]

#

groovyb kirjoitti:

Kai se laskuttajan web service -kuvauksista pitäisi ilmetä, missä muodossa ja mihin setti lähetetään.

Tämmöset on avut(ja toki 100% xml esimerkki olemassa):
https://verkkopalvelu3.talenom.fi:4445/InvoiceService.asmx?op=NewInvoice

Ja tokihan noihin nyt saan tiedot täytettyä niin että xml on ok, mutta miten tuo sitten käytännössä siirtyy tuolla soapilla eteenpäin, on "vähän" usvan peitossa.

groovyb [24.04.2018 23:18:06]

#

Tästäkö on kyse: https://severa.visma.fi/integraatiot/talenom-online/

Tuolta käsin löytyi kyllä ihan suora API kuvauskin Visma Severa API

mitä tulee lähettämiseen yleisesti, tsekkaa vaikka https://github.com/doedje/jquery.soap

sprawl [25.04.2018 07:38:36]

#

Tuo severa on käsittääkseni eriasia.

pitääpä katsoa tuota jquery asiaa, veikkaan vain että jää tekemättä mun osalta ;D

Grez [25.04.2018 09:12:34]

#

Mikset vaan käytä Soapclientia?
https://www.php.net/manual/en/soapclient.soapclient.php

Talenomin laskupalvelulle löytyy WSDL, joten pitäisi toimia heittämällä

sprawl [25.04.2018 15:20:42]

#

$headers = array(
           				"POST /InvoiceService.asmx HTTP/1.1",
           				"Host: verkkopalvelu3.talenom.fi",
                        "Content-type: text/xml;charset=\"utf-8\"",
                        "Content-length: ".strlen($xml_post_string),
                        "SOAPAction: http://www.talenom.fi/NewInvoice",
                    ); //SOAPAction: your op URL

            $url = $soapUrl;

            // PHP cURL  for https connection with auth
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_USERPWD, $soapUser.":".$soapPassword); // username and password - declared at the top of the doc
            curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
            curl_setopt($ch, CURLOPT_TIMEOUT, 10);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string); // the SOAP request
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

            // converting
            $response = curl_exec($ch);
            print_r($response);
            curl_close($ch);

            // converting
            $response1 = str_replace("<soap:Body>","",$response);
            $response2 = str_replace("</soap:Body>","",$response1);

            // convertingc to XML
            $parser = simplexml_load_string($response2);
            // user $parser to get your data out of XML response and to display it.
            #print_r($parser);

Tämmösen löysin jonkun toisen projektista ja sillä lähti pelittämään. Tuota soapclienttiä katselin myös, mutta en oikein tajunnut sen toimintaa äkkiseltään.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta