Skip to content
Snippets Groups Projects
Commit 5ffabc52 authored by Andy Summers's avatar Andy Summers
Browse files

Merge branch 'interfacing-api-v2' into 'master'

Use CBS Interfacing API v2

See merge request !55
parents 3419d706 bcd0b7c6
No related branches found
No related tags found
1 merge request!55Use CBS Interfacing API v2
......@@ -3,7 +3,7 @@ namespace edu\wisc\services\cbs\order\interfacing;
use edu\wisc\services\cbs\api\SoapService;
use edu\wisc\services\cbs\common\WssSoapHeaderBuilder;
use edu\wisc\services\cbs\order\interfacing\generated\DOIT_SOA_ORDER_IFACE_I_V1_Service;
use edu\wisc\services\cbs\order\interfacing\generated\DOIT_SOA_ORDER_IFACE_I_V2_Service;
use edu\wisc\services\cbs\order\interfacing\generated\InputParameters;
use edu\wisc\services\cbs\order\OrderServiceResponse;
......@@ -13,7 +13,7 @@ use edu\wisc\services\cbs\order\OrderServiceResponse;
class SoapOrderInterfacingService implements OrderInterfacingService, SoapService
{
/** @var DOIT_SOA_ORDER_IFACE_I_V1_Service */
/** @var DOIT_SOA_ORDER_IFACE_I_V2_Service */
private $soapClient;
public function __construct($username, $password, \SoapClient $priceSoapClient = null)
......@@ -22,16 +22,18 @@ class SoapOrderInterfacingService implements OrderInterfacingService, SoapServic
$this->soapClient = $priceSoapClient;
return;
}
$this->soapClient = new DOIT_SOA_ORDER_IFACE_I_V1_Service(
$this->soapClient = new DOIT_SOA_ORDER_IFACE_I_V2_Service(
[],
__DIR__ . '/../../../../../../resources/doit_soa_order_iface_i_v1.xml'
__DIR__ . '/../../../../../../resources/doit_soa_order_iface_i_v2.xml'
);
$this->soapClient->__setSoapHeaders(WssSoapHeaderBuilder::buildUsernameToken($username, $password));
}
public function interfaceOrder($orderNumber)
{
$response = $this->soapClient->INTERFACE_ORDER(new InputParameters($orderNumber, "MAGE$orderNumber"));
$response = $this->soapClient->INTERFACE_ORDER(
new InputParameters($orderNumber, "MAGE$orderNumber", 'TBD')
);
return new OrderServiceResponse(
strcasecmp($response->getP_STATUS(), 'SUCCESS') === 0,
$response->getP_RESULT_MESSAGE()
......
......@@ -2,7 +2,7 @@
namespace edu\wisc\services\cbs\order\interfacing\generated;
class DOIT_SOA_ORDER_IFACE_I_V1_Service extends \SoapClient
class DOIT_SOA_ORDER_IFACE_I_V2_Service extends \SoapClient
{
/**
......@@ -29,7 +29,7 @@ class DOIT_SOA_ORDER_IFACE_I_V1_Service extends \SoapClient
'features' => 1,
), $options);
if (!$wsdl) {
$wsdl = 'src/main/resources/doit_soa_order_iface_i_v1.xml';
$wsdl = 'src/main/resources/doit_soa_order_iface_i_v2.xml';
}
parent::__construct($wsdl, $options);
}
......
......@@ -15,14 +15,21 @@ class InputParameters
*/
protected $P_ORIG_SYS_DOCUMENT_REF = null;
/**
* @var string $P_TEST_MODE
*/
protected $P_TEST_MODE = null;
/**
* @param float $P_ORDER_NUMBER
* @param string $P_ORIG_SYS_DOCUMENT_REF
* @param string $P_TEST_MODE
*/
public function __construct($P_ORDER_NUMBER, $P_ORIG_SYS_DOCUMENT_REF)
public function __construct($P_ORDER_NUMBER, $P_ORIG_SYS_DOCUMENT_REF, $P_TEST_MODE)
{
$this->P_ORDER_NUMBER = $P_ORDER_NUMBER;
$this->P_ORIG_SYS_DOCUMENT_REF = $P_ORIG_SYS_DOCUMENT_REF;
$this->P_TEST_MODE = $P_TEST_MODE;
}
/**
......@@ -61,4 +68,22 @@ class InputParameters
return $this;
}
/**
* @return string
*/
public function getP_TEST_MODE()
{
return $this->P_TEST_MODE;
}
/**
* @param string $P_TEST_MODE
* @return \edu\wisc\services\cbs\order\interfacing\generated\InputParameters
*/
public function setP_TEST_MODE($P_TEST_MODE)
{
$this->P_TEST_MODE = $P_TEST_MODE;
return $this;
}
}
<?php
function autoload_5c5c3e8179cd4788070d34cb69031748($class)
function autoload_fc6f4e45dc6ed3bf16dd2a84a033c550($class)
{
$classes = array(
'edu\wisc\services\cbs\order\interfacing\generated\DOIT_SOA_ORDER_IFACE_I_V1_Service' => __DIR__ .'/DOIT_SOA_ORDER_IFACE_I_V1_Service.php',
'edu\wisc\services\cbs\order\interfacing\generated\DOIT_SOA_ORDER_IFACE_I_V2_Service' => __DIR__ .'/DOIT_SOA_ORDER_IFACE_I_V2_Service.php',
'edu\wisc\services\cbs\order\interfacing\generated\InputParameters' => __DIR__ .'/InputParameters.php',
'edu\wisc\services\cbs\order\interfacing\generated\OutputParameters' => __DIR__ .'/OutputParameters.php',
'edu\wisc\services\cbs\order\interfacing\generated\SOAHeader' => __DIR__ .'/SOAHeader.php'
......@@ -14,7 +14,7 @@
};
}
spl_autoload_register('autoload_5c5c3e8179cd4788070d34cb69031748');
spl_autoload_register('autoload_fc6f4e45dc6ed3bf16dd2a84a033c550');
// Do nothing. The rest is just leftovers from the code generation.
{
......
<?xml version = '1.0' encoding = 'UTF-8'?><definitions name="DOIT_SOA_ORDER_IFACE_I_V2" targetNamespace="http://xmlns.oracle.com/apps/ont/soaprovider/plsql/doit_soa_order_iface_i_v2/" xmlns:tns="http://xmlns.oracle.com/apps/ont/soaprovider/plsql/doit_soa_order_iface_i_v2/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns1="http://xmlns.oracle.com/apps/ont/soaprovider/plsql/doit_soa_order_iface_i_v2/interface_order/"> <types> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/ont/soaprovider/plsql/doit_soa_order_iface_i_v2/interface_order/"> <include schemaLocation="http://pegasus.doit.wisc.edu:8018/webservices/SOAProvider/plsql/doit_soa_order_iface_i_v2/APPS_DOIT_SOA_ORDER_IFACE_I_V2_INTERFACE_ORDER.xsd"/> </schema> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/ont/soaprovider/plsql/doit_soa_order_iface_i_v2/"> <element name="SOAHeader"> <complexType> <sequence> <element name="Responsibility" minOccurs="0" type="string"/> <element name="RespApplication" minOccurs="0" type="string"/> <element name="SecurityGroup" minOccurs="0" type="string"/> <element name="NLSLanguage" minOccurs="0" type="string"/> <element name="Org_Id" minOccurs="0" type="string"/> </sequence> </complexType> </element> </schema> </types> <message name="INTERFACE_ORDER_Input_Msg"> <part name="header" element="tns:SOAHeader"/> <part name="body" element="tns1:InputParameters"/> </message> <message name="INTERFACE_ORDER_Output_Msg"> <part name="body" element="tns1:OutputParameters"/> </message> <portType name="DOIT_SOA_ORDER_IFACE_I_V2_PortType"> <operation name="INTERFACE_ORDER"> <input message="tns:INTERFACE_ORDER_Input_Msg"/> <output message="tns:INTERFACE_ORDER_Output_Msg"/> </operation> </portType> <binding name="DOIT_SOA_ORDER_IFACE_I_V2_Binding" type="tns:DOIT_SOA_ORDER_IFACE_I_V2_PortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="INTERFACE_ORDER"> <soap:operation soapAction="http://pegasus.doit.wisc.edu:8018/webservices/SOAProvider/plsql/doit_soa_order_iface_i_v2/"/> <input> <soap:header message="tns:INTERFACE_ORDER_Input_Msg" part="header" use="literal"/> <soap:body parts="body" use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="DOIT_SOA_ORDER_IFACE_I_V2_Service"> <port name="DOIT_SOA_ORDER_IFACE_I_V2_Port" binding="tns:DOIT_SOA_ORDER_IFACE_I_V2_Binding"> <soap:address location="http://pegasus.doit.wisc.edu:8018/webservices/SOAProvider/plsql/doit_soa_order_iface_i_v2/"/> </port> </service></definitions>
\ No newline at end of file
<?php
namespace edu\wisc\services\cbs\order\interfacing;
use edu\wisc\services\cbs\order\interfacing\generated\DOIT_SOA_ORDER_IFACE_I_V1_Service;
use edu\wisc\services\cbs\order\interfacing\generated\DOIT_SOA_ORDER_IFACE_I_V2_Service;
use edu\wisc\services\cbs\order\interfacing\generated\InputParameters;
use edu\wisc\services\cbs\order\interfacing\generated\OutputParameters;
use edu\wisc\services\cbs\order\OrderServiceResponse;
......@@ -22,7 +22,7 @@ class SoapOrderInterfacingServiceTest extends \PHPUnit_Framework_TestCase
/** Create fresh mock before each test */
protected function setUp()
{
$this->mockSoapClient = \Mockery::mock(DOIT_SOA_ORDER_IFACE_I_V1_Service::class);
$this->mockSoapClient = \Mockery::mock(DOIT_SOA_ORDER_IFACE_I_V2_Service::class);
$this->orderInterfacingService = new SoapOrderInterfacingService('', '', $this->mockSoapClient);
}
......@@ -35,7 +35,7 @@ class SoapOrderInterfacingServiceTest extends \PHPUnit_Framework_TestCase
/** @test Verifies 'MAGE' is prepended to order number */
public function generatesCorrectInputParameters()
{
$inputParameters = new InputParameters('1234', 'MAGE1234');
$inputParameters = new InputParameters('1234', 'MAGE1234', 'TBD');
$this->mockSoapClient->shouldReceive('INTERFACE_ORDER')->with(
\Mockery::on(
function ($arg) use ($inputParameters) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment