muszę zintegrować sklep internetowy z pasażem WP i mam mały problem. Chcę przesyłać odpowiednie komunikaty w formie kopert SOAPa do serwera SOAP. Z dokumentacji wyczytałem jak owe koperty powinny wyglądać - odpowiednie pliczki XMLa. Mam adres serwera soap (z dokumentacji), ale nie mogę obsłużyć wysyłania do niego zapytań i odbierania od niego odpowiedzi. Rzecz dotyczy obsługi tego w PHP.
<?php $filename = "produkt.xml"; $soapclient = new SoapClient (null, array('location' => "http://wymianadanych.wp.pl/SOAPInterface/Zakupy/index.html", 'uri' => "http://wymianadanych.wp.pl/SOAPInterface/Zakupy/index.html"); $wynik = $soapclient->__doRequest($filename,"http://wymianadanych.wp.pl/SOAPInterface/Zakupy/index.html",$action,SOAP_1_2); ?>
Odpowiedź zapisuje w pliku odp.xml. Wygląda następująco.
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <soap:Fault> <faultcode>soap:Client</faultcode> <faultstring>Content-Type must be 'text/xml,' 'multipart/*,' or 'application/dime' instead of 'application/soap+xml'</faultstring> </soap:Fault> </soap:Body> </soap:Envelope>
Nie do końca jestem pewien, czy dobrze tworze nowy obiekt SoapClient (wyczytałem to z dokumentacji php) i czy na pewno za pomocą metody __doRequest powinno się wysyłać pliki z zapytaniem - gdy zmieniam ich parametry zawsze dostaję taką samą odpowiedź. Generalnie jestem nienajlepszy z obiektówki. Proszę o pomoc kogoś zaznajomionego z tym tematem.