...
Date: | Author: | Version: | Changes: | Completed | Ext. | Int. | Is in Core | |||
---|---|---|---|---|---|---|---|---|---|---|
Wiki Markup |
|
| 1.0 | Doc. created | Yes | X |
|
| ||
10.02.2015 | RWJ | 2.1 | Configuration options for header authentication, service and port qualified names. |
Terms and definitions:
Terms/definitions: | Meaning: |
---|---|
TBD | To be defined |
N/A | Not applicable |
...
1 - Purpose of Document
This document provides the overall technical details and design of implementing and using the functionality as specified in section 2 - Introduction. This document will not cover implementation details – for this the code base should be inspected.
...
This action is used for placing a new order with Electra. The action is:
Code Block |
---|
com.CDRator.billing.logistics.electra.action.PlaceOrder
|
...
- 1-* order lines, which have db columns DESCRIPTION, PRODUCTNUMBER filled in and optional QUANTITY in parameters column. If no quantity is present, '1' will be sent.
- a valid deliveryAddress, which have FULLNAME, ADDRESS1, CITY, ZIP. Optional COMPANY.
- a valid ACCOUNT, used to find brand.
- an ORDER_NUMBER.
...
This action is used to query Electra for the status of an order. The action is:
Code Block |
---|
com.CDRator.billing.logistics.electra.action.OrderStatus
|
...
An example of the message shown on the generic_order.response_parameter could look like this:
Code Block |
---|
WebServiceError=Call to Electra resulted in a WebServiceException: 2 counts of InaccessibleWSDLException.
|
...
In the log file of the process (e.g. the workflow engine) using the action something similar to the below stack trace would be shown:
Code Block |
---|
2013-07-03 11:15:04.0004 ERROR [main] | WebServiceException occurred in orderStatus call to Electra: 2 counts of InaccessibleWSDLException.
com.sun.xml.internal.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException.
java.io.IOException: Got test.electra-sweden.se while opening stream from http://test.electra-sweden.se/Tre/CDRatorService.asmx
java.io.IOException: Got test.electra-sweden.se while opening stream from http://test.electra-sweden.se/Tre/CDRatorService.asmx?wsdl
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(Unknown Source)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(Unknown Source)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(Unknown Source)
at javax.xml.ws.Service.<init>(Unknown Source)
at se.electra.smartlds.CDRatorService.<init>(CDRatorService.java:42)
at com.CDRator.billing.logistics.electra.stub.ElectraConnection.getPlaceOrderStub(ElectraConnection.java:46)
at com.CDRator.billing.logistics.electra.ElectraFacade.orderStatus(ElectraFacade.java:69)
at com.CDRator.billing.logistics.electra.action.OrderStatus.execute(OrderStatus.java:82)
at com.CDRator.billing.logistics.electra.action.OrderStatusTester.main(OrderStatusTester.java:33)
|
...
Parameters under ENGINE.LOGISTICS.ELECTRA
Key | Default | Description | Optional | Version |
---|---|---|---|---|
WSDL_PATH |
| Absolute path for the WSDL file for the engine. Mandatory. | No | |
AUTHENTICATE.ENABLED | false | If a boolean true value (e.g., 'y', 'true' etc) a header will be created in the SoapRequest containing password and username | Yes | 2.1, 1.1.1 |
AUTHENTICATE.USERNAME | - | The username provided by logistics partner. Used in soap request header. | Mandatory if ENABLED is true | 2.1, 1.1.1 |
AUTHENTICATE.PASSWORD | - | The password provided by logistics partner. Used in soap request header. | Mandatory if ENABLED is true | 2.1, 1.1.1 |
QUALIFIED_NAME.SERVICE | The parameter tree for specifying qualified name of service. If either of URI/LOCAL_PART child is specified, the other is mandatory | Yes | ||
URI | Specify uri part of qualified name of the logistics service | See description | 2.1, 1.1.1 | |
LOCAL_PART | Specify uri local part of qualified name of the logistics service | See description | 2.1, 1.1.1 | |
QUALIFIED_NAME.PORT | The parameter tree for specifying qualified name of the port. If either of URI/LOCAL_PART child is specified, the other is mandatory | Yes | ||
URI | Specify uri part of qualified name of the logistics service port | See description | 2.1, 1.1.1 | |
LOCAL_PART | Specify local part of qualified name of the logistics service port | See description | 2.1, 1.1.1 |
Note | ||
---|---|---|
| ||
The values that are possible to configure under these nodes are <not> business related logic. The AUTHENTICATE values enables providing a security header in the soap requests, which may or may not be required depending on the logistics partner setup. The QUALIFIED_NAME values enables further configuration of the third-party service- and port names and locations, used in the generated stubs. Under normal circumstances it is enough to configure the endpoint (wsdl location) in the WSDL_PATH. Consult with Integration Department before changing or adding these values. |
4 - Operational Considerations
...
At time of writing Electra validates incoming requests based upon the senders IP. No other security is used.
5 - Version
Version | Released | Changes |
---|---|---|
1.0 | 21-05-2013 10:24:08 | First stable release |
1.0.2 | 03-07-2013 16:07:40 | Exception handling for WebServiceExceptions so users of the project actions can differentiate between error scenarios. Soap_client_log entries in separate transaction. |
2.1 | 10.02.2015 | Configuration options for header authentication, service and port qualified names. |