Expand|Select|Wrap|Line Numbers
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soapenv:Body>
- <exec xmlns="CBWSCallEngine" soapenv:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
- <arguments>
- <CbOrderProduct>
- <Header>
- <EndpointNm>123456789</EndpointNm>
- <Certificaat>abcdef</Certificaat>
- </Header>
- <Detail>
- <EAN>9789460941726</EAN>
- <OrderReference>201406100527</OrderReference>
- <ClientId></ClientId>
- <ReadingMethods>D</ReadingMethods>
- <RetailerId></RetailerId>
- <License></License>
- <RentalUnits></RentalUnits>
- <RentalNumberOfUnits></RentalNumberOfUnits>
- </Detail>
- </CbOrderProduct>
- </arguments>
- </exec>
- </soapenv:Body>
- </soapenv:Envelope>
everytime I try, I get below error message:
Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] No Deserializer found to deserialize a ':CbOrderProduct' using encoding style 'null'. [java.lang.IllegalArgumentException]
I tried simple SoapVar like below:
Expand|Select|Wrap|Line Numbers
- $xml .= '<CbOrderProduct>';
- $xml .= '<Header>';
- $xml .= '<EndpointNm>123456</EndpointNm>';
- $xml .= '<Certificaat>abcdef</Certificaat>';
- $xml .= '</Header>';
- $xml .= '<Detail>';
- $xml .= '<EAN>9789460941726</EAN>';
- $xml .= '<OrderReference>201406100527</OrderReference>';
- $xml .= '<ClientId></ClientId>';
- $xml .= '<ReadingMethods>D</ReadingMethods>';
- $xml .= '<RetailerId></RetailerId>';
- $xml .= '<License></License>';
- $xml .= '<RentalUnits></RentalUnits>';
- $xml .= '<RentalNumberOfUnits></RentalNumberOfUnits>';
- $xml .= '</Detail>';
- $xml .= '</CbOrderProduct>';
- $client = new SoapClient(
- null,
- array(
- 'location' => 'https://tst.eboekhuis.nl:443/cbwebs/CBWSCallEngine',
- 'uri' => 'https://tst.eboekhuis.nl/cbwebs/CBWSCallEngine?WSDL',
- 'trace' => 1,
- 'use' => SOAP_LITERAL
- )
- );
- $params = new SoapVar($xml, XSD_ANYXML);
- $result = $client->exec($params);
- Also I tried like below which I found on stackoverflow:
- class CbOrderProduct
- {
- var $Header;
- var $Detail;
- function __construct()
- {
- $this->Header = new stdClass();
- $this->Detail = new stdClass();
- }
- function setheader($endpoint,$Certificaat)
- {
- $this->Header->EndpointNm = $endpoint;
- $this->Header->Certificaat = $Certificaat;
- }
- function setdetail($ean,$orderreference,$clienid,$readingmethods,$retailerid,$License,$RentalUnit,$RentalNumberOfUnits)
- {
- $this->Detail->EAN =$ean;
- $this->Detail->OrderReference = $orderreference;
- $this->Detail->ClientId = $clienid;
- $this->Detail->ReadingMethods = $readingmethods;
- $this->Detail->RetailerId = $retailerid;
- $this->Detail->License = $License;
- $this->Detail->RentalUnit = $RentalUnit;
- $this->Detail->RentalNumberOfUnits = $RentalNumberOfUnits;
- }
- }
- class exec0Request {
- var $arguments;
- function __construct($arguments)
- {
- $this->arguments = $arguments;
- }
- }
- $order = new CbOrderProduct();
- $order->setheader('123456','abcdef');
- $order->setdetail('9789460941726','201406100527','','CR','','','','');
- $request = new exec0Request($order);
- $client = new SoapClient("https://tst.eboekhuis.nl/cbwebs/CBWSCallEngine?WSDL");
- $result = $client->exec(new SoapParam($request, "exec0Request"));
could anyone let me know what the problem is?