Handlers For SOAP Messages Are Added Multiple Times To The Handler Chain And RPOS Logs Get Clogged (Doc ID 2284072.1)

Last updated on JULY 14, 2017

Applies to:

Oracle Retail Point-of-Service - Version 14.1 and later
Information in this document applies to any platform.

Symptoms

When using ConnectorTechnician to integrate POS with a web service, handlers defined for a web service are added multiple times to the same handler chain. This causes the same SOAP message to be logged multiple times in logs and SOAP headers to be added multiple times to the same SOAP message.

Pre-requisites: POS installation with commerce anywhere enabled (for customer integration)

Steps to Reproduce :

1. Enable SOAP payload logging in log4j.xml
2. Import SOAPUI project from the attached file into SOAPUI program. Set CustomerPortBinding MockService Host to localhost. Start CustomerPortBinding MockService.
3. Configure service_Customer bean in ServiceContext.xml
  - configure WSDL address to match the mock web service WSDL address
  - property jaxwsHandlers must contain reference to a service_PayloadLoggingHandler bean
4. Start POS server and POS client
5. Search for customer by ID (any ID) to check if the mock service works correctly.
6. Check if the payload has been logged.
7. Turn off CustomerPortBinding MockService in SOAPUI.
8. Search for a customer by ID (any ID). Search should fail.
9. Turn on CustomerPortBinding MockService in SOAPUI.
10. Wait 30 seconds for ReconnectMonitor to open JAXWSWebServiceConnector
11. Search for customer by ID (any ID). The customer should be found.
12. Check logs - the payload should be logged twice (for both outbound and inbound)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms