...
There are multiple implementations of the server depending on the environment. The easiest way to set up the server is however to spin the docker image. Instruction and source files can be found here. In the most basic way, starting the server results in just two shell commands:
SIP2 Mock Server
Build Application
mvn clean install
Building Image
sudo docker build -t phase4-scsb-sip-mock-server .
Running Container
sudo docker run --name phase4-sip2scsb-sip-mock-server --restart always -v /data:/recap-vol vol -p 8012<port>:8012 <port> -e "ENV=-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath= /recap -vol/phase4-scsb-mock-nypl-server/heapdump/ -Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*" -Dspring.config.location=/recap-vol/config/external-sip-application.properties " --network=scsb -d phase4-scsb-sip2sip-mock-server
NYPL Mock Server
sudo external-sip-application properties
#Database information
spring.datasource.url=jdbc:mysql://<mysqlip>:<mysqlport>/<scheme>?autoReconnect=true&serverTimezone=A merica/New_York&useSSL=false
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=XXXX
spring.datasource.password=XXXXX
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
ils.mock.sip.server.url=<ContainerName>
ils.mock.sip.server.port=<port>
Properties to Update -
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='<ContainerName>' WHERE `P_KEY`='ils.server' AND `INSTITUTION_CODE`='CUL';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='<port> ' WHERE `P_KEY`='ils.server.port' AND `INSTITUTION_CODE`='CUL';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`=XXXXX WHERE `P_KEY`='ils.server.operator.user.id' AND `INSTITUTION_CODE`='CUL';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`=XXXXX WHERE `P_KEY`='ils.server.operator.password' AND `INSTITUTION_CODE`='CUL';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`=XXXXXX WHERE `P_KEY`='ils.server.operator.location' AND `INSTITUTION_CODE`='CUL';
REST Mock Server
Build Application
mvn clean install -DskipTests=true
Building Image
sudo docker build -t phase4-scsb-rest-mock
...
-server .
Running Container
sudo docker run --name phase4-scsb-rest-mock-
...
server -v /data:/recap-vol -p
...
<port>:
...
<port> -e "
...
sudo docker inspect phase4-scsb-mock-nypl-server | grep IPAddress
LAS Mock Server
ENV= -Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*" -Dspring.config.location=/recap-vol/config/external-rest-application.properties -Dserver.port=<port>" --network=scsb -d phase4-scsb-rest-mock-server
external-rest-application.properties
#Database information spring.datasource.url=jdbc:mysql://<mysqlip>:<mysqlport>/<scheme>?autoReconnect=true&serverTimezone= America/New_York&useSSL=false
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=XXXXX
spring.datasource.password=XXXX
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
Properties to Update
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/rest' WHERE `P_KEY`='ils.rest.data.api' AND `INSTITUTION_CODE`='NYPL';
NCIP Mock Server
Build Application
./gradlew clean build
Building Image
sudo docker build -t phase4-scsb-ncip-mock-server .
Running Container -
sudo docker run --name phase4-scsb-ncip-mock-server -p <port>:<port> --network=scsb -d phase4-scsb-ncip-mock-server
Properties to Update -
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/ncip' WHERE `P_KEY`='ils.server' AND `INSTITUTION_CODE`='PUL';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/ncip' WHERE `P_KEY`='ils.server' AND `INSTITUTION_CODE`='HL';
LAS Mock Server
Build Application
./gradlew clean build -x test
Building Image
sudo docker build -t phase4-scsb-las-mock-las-server .
docker images | grep none | awk '{ print $3; }' | xargs docker rmiserver .
Running Container
sudo docker run --name phase4-scsb-las-mock-las-server --restart always -v /data:/recap-vol vol -p 9103 <port>:9103 <port> -e "ENV=-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath= /recap -vol/phase4-scsb-mock-las-server/heapdump/ -Dorg.apache.activemq.SERIALIZABLE_PACKAGES="*" -Dspring.config.location=/recap-vol/config/external-las-application.properties " --network=scsb -d phase4-scsb-las-mock-server
external-las-application.properties
#Database information
spring.datasource.url=jdbc:mysql://<mysqlip>:<mysqlport>/<scheme>?autoReconnect=true&serverTimezon e=America/New_York&useSSL=false spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=XXXX
spring.datasource.password=XXXX
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
#ActiveMQ
activemq.broker.url=tcp://localhost:61613
activemq.jmx.service.url=service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi activemq.web.console.url=http://localhost:8161
activemq.credentials=admin:admin
activemq.jolokia.api.url=/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localh ost,destinationType=Queue,destinationName= activemq.jolokia.api.queue.size.attribute=/QueueSize
Properties to Update
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/lasStatus' WHERE `P_KEY`='ims.server.status.endpoint';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/itemStatus' WHERE `P_KEY`='ims.item.status.endpoint';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/retrieveItem' WHERE `P_KEY`='ims.item.retrieval.order.endpoint';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/retrieveEDD' WHERE `P_KEY`='ims.item.edd.order.endpoint';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/permanentlyRetriev eItem' WHERE `P_KEY`='ims.item.permanent.withdrawal.direct.endpoint';
UPDATE `recap`.`scsb_properties_t` SET `P_VALUE`='http://<ContainerName>:<port>/lasapi/rest/lasapiSvc/permanentlyRetriev eItemIndirect' WHERE `P_KEY`='ims.item.permanent.withdrawal.indirect.endpoint';
Example -
Request For Request Item
...