2017 © Pedro Peláez
 

library soapbuilder

Powerful SOAP/XML builder

image

ndexondeck/soapbuilder

Powerful SOAP/XML builder

  • Tuesday, April 17, 2018
  • by ndexondeck
  • Repository
  • 1 Watchers
  • 0 Stars
  • 1 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Soap Builder

Soap builder is a php OOP library that can help you build any form of XML string with so much ease and clarity. It is mostly powered by php magic methods, as it uses them to intuitively setup XML tags., (*1)

Total Downloads, (*2)

Installation

Install with Composer:, (*3)

composer require ndexondeck/soapbuilder

Documents will be available soon, but for now see a few examples

  • Build a Simple Soap Request
  • $soapBuilder = new Builder();
    
    $soapBuilder->soap__Header = new Payload();
    
    $soapBuilder->Body = new Payload();
    $soapBuilder->Body->Username = new Payload('ndxondeck@gmail.com');
    $soapBuilder->Body->Password = new Payload('ndex4Jesus');
    
    echo $soapBuilder->getXml();
    

  • Build a more complex Soap request
  •  $soapBuilder = new Builder('soap',[
            "tem"=>"http://tempuri.org/",
            "sms"=>"http://schemas.datacontract.org/2004/07/SMSAppws",
            "wsa"=>"http://schemas.xmlsoap.org/ws/2004/08/addressing",
        ],'1.2');
    
    $soapBuilder->soap__Header = new Payload();
    $soapBuilder->soap__Header->wsa__Action = new Payload('http://tempuri.org/IService/SendMessage',[
        "xmlns:wsa"=>"http://www.w3.org/2005/08/addressing"
    ]);
    $soapBuilder->soap__Header->wsa__To = new Payload('https://sms.sender.example/Service.svc',[
        "xmlns:wsa"=>"http://www.w3.org/2005/08/addressing"
    ]);
    
    $soapBuilder->soap__Body = new Payload();
    $soapBuilder->soap__Body->tem__SendMessage = new Payload();
    $soapBuilder->soap__Body->tem__SendMessage->tem__message = new Payload();
    $soapBuilder->soap__Body->tem__SendMessage->tem__message->sms__Message = new Payload($msg);
    $soapBuilder->soap__Body->tem__SendMessage->tem__message->sms__MobileNo = new Payload($phone);
    
    echo $soapBuilder->getXml();
    

  • Build a simple XML string
  • $xmlBuilder = (new SoapBuilder())->setAsXml()->setVersion('1.0');
    $xmlBuilder->SearchCriteria = new Payload();
    $xmlBuilder->SearchCriteria->UserName = new Payload('John');
    
    echo $xmlBuilder->getXml();
    

  • Build a more complex XML string
  • $xmlBuilder = new SoapBuilder();
    $xmlBuilder->setVersion('1.0')->setAsResponse()->setAsXml();
    $xmlBuilder->Response = new Payload();
    $xmlBuilder->Response->ResponseCode = new Payload('00');
    $xmlBuilder->Response->UserList = new PayloadCollection('Department');
    
    $user_count = 0;
    if(!empty($results)){
        foreach ($results as $department){
    
            $collection = new PayloadCollection('User',['Id'=>$department['id'], 'Name'=>$department['name']]);
    
            $this_count = 0;
            foreach ($department['users'] as $user){
                $collection->append($user,[],true);
                $user_count++;
                $this_count++;
            }
    
            if($this_count > 0){
                $xmlBuilder->Response->UserList->Department = $collection;
            }
        }
    }
    
    $xmlBuilder->Response->UserList->setElementAttributes(['TotalAvailable'=>$user_count]);
    
    echo $xmlBuilder->getXml();
    

    The Versions

    17/04 2018

    dev-master

    9999999-dev

    Powerful SOAP/XML builder

      Sources   Download

    MIT

    The Requires

     

    xml soap builder

    17/04 2018

    v1.0.0

    1.0.0.0

    Powerful SOAP/XML builder

      Sources   Download

    MIT

    The Requires

     

    xml soap builder