Oracle® Retail POS Suite Implementation Guide, Volume 1 – Implementation Solutions Release 14.1 E54475-02 |
|
Previous |
Next |
This appendix describes how to reconfigure a JAXWSConnector to use a local copy of a web service's WSDL.
The Commerce Anywhere JAXWSConnector used to communicate with the Order Management System (OMS) is configured in ServiceContext.xml as the
service_CustomerOrder bean ID. The release configuration for this bean looks similar to the following example:
<bean id="service_CustomerOrder" class="oracle.retail.stores.common.jaxws.connector.JAXWSConnector"> <property name="wsdlLocation"> <value>https://<HOST>:<PORT>/CustomerOrderBean/CustomerOrderService?WSDL</value> </property> <property name="serviceNamespaceURI"> <value>http://www.oracle.com/retail/oms/integration/services/CustomerOrderService/v1</value> </property> <property name="serviceName"> <value>CustomerOrderService</value> </property> <property name="clientServiceClassname"> <value>com.oracle.retail.oms.integration.services.customerorderservice.v1.CustomerOrderService</value> </property> <property name="sevicePortAccessorMethodName"> <value>getCustomerOrderPort</value> </property> <property name="jaxwsHandlers"> <list> <ref local="service_XC_CustomerOrder_WSSecurity_Handler"/> </list> </property> </bean>
To reconfigure the bean to access a local copy of the WSDL:
Obtain a copy of the endpoint's WSDL file. One technique to do this:
Point a browser at the WSDL URL to capture the WSDL, for example:
https://<HOST>:<PORT>/CustomerOrderBean/CustomerOrderService?WSDL)
Save the source to a file, for example, CustomerOrderService.wsdl.
Add the WSDL to a jar file such as OracleRetailStore\Server\common\lib\ext\rtg-service-wsdl.jar.
Add an endpointURL property element to the bean's XML configuration in ServiceContext.xml:
<property name="endpointURL"> <value>https://<HOST>:<PORT>/CustomerOrderBean/CustomerOrderService</value> </property>
Replace the wsdlLocation value in the bean's XML configuration with the name of the WSDL added to the jar file, prefaced with the Spring notation for a classpath entry:
<property name="wsdlLocation"> <value>classpath:CustomerOrderService.wsdl</value> </property>
The service_CustomerOrder bean's new configuration should look similar to the following example:
<bean id="service_CustomerOrder" class="oracle.retail.stores.common.jaxws.connector.JAXWSConnector"> <property name="endpointURL"> <value>https://<HOST>:<PORT>/CustomerOrderBean/CustomerOrderService</value> </property> <property name="wsdlLocation"> <value>classpath:CustomerOrderService.wsdl</value> </property> <property name="serviceNamespaceURI"> <value>http://www.oracle.com/retail/oms/integration/services/CustomerOrderService/v1</value> </property> <property name="serviceName"> <value>CustomerOrderService</value> </property> <property name="clientServiceClassname"> <value>com.oracle.retail.oms.integration.services.customerorderservice.v1.CustomerOrderService</value> </property> <property name="sevicePortAccessorMethodName"> <value>getCustomerOrderPort</value> </property> <property name="jaxwsHandlers"> <list> <ref local="service_XC_CustomerOrder_WSSecurity_Handler"/> </list> </property> </bean>