Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

How to create a customized request?

Help
Jan
2012-03-15
2013-05-09
  • Jan
    Jan
    2012-03-15

    Hi,
    I want to use SOAP::Lite as a SOAP client to create requests like this:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:ecom="https://ecomm.sella.it/">
       <soapenv:Header/>
       <soapenv:Body>
          <ecom:Encrypt>
             <ecom:shopLogin>user83943</ecom:shopLogin>
             <ecom:uicCode>242</ecom:uicCode>
             <ecom:amount>0.05</ecom:amount>
             <ecom:shopTransactionId>63789</ecom:shopTransactionId>
             ... some more parameters ...
          </ecom:Encrypt>
       </soapenv:Body>
    </soapenv:Envelope>
    

    How can this be done? Is it possible with SOAP::Lite?
    I didn't even find a way to manipulate the envelope according to this structure.

    Whatever I try, I always get something like this:

    <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>
              <Encrypt>
                  <shopLogin xsi:type="xsd:string">user83943</shopLogin>
                  <uicCode xsi:type="xsd:int">242</uicCode>
                  <amount xsi:type="xsd:float">0.05</amount>
                  <shopTransactionId xsi:type="xsd:int">63789</shopTransactionId>
                  ... some more parameters ...
              </Encrypt>
          </soap:Body>
    </soap:Envelope>
    

    But this is not accepted by the server.

    This is the WSDL: https://testecomm.sella.it/gestpay/gestpayws/WSCryptDecrypt.asmx?WSDL