Go to primary content
Oracle® Retail POS Suite Implementation Guide, Volume 1 – Implementation Solutions
Release 14.1
E54475-02
  Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
 

B Appendix: Reconfiguring a JAXWSConnector

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:

  1. Obtain a copy of the endpoint's WSDL file. One technique to do this:

    1. Point a browser at the WSDL URL to capture the WSDL, for example:

      https://<HOST>:<PORT>/CustomerOrderBean/CustomerOrderService?WSDL)
      
    2. Save the source to a file, for example, CustomerOrderService.wsdl.

  2. Add the WSDL to a jar file such as OracleRetailStore\Server\common\lib\ext\rtg-service-wsdl.jar.

  3. 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>
    
  4. 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>