Skip to content

Define contract for creating SOAP clients with WSDLs

FRESH HOT CBS, NOW WITH MORE ENVIRONMENTS!

This PR finishes up the changes needed to support QA and DV environments in the CBS client.

Structural changes

I've organized things in a slightly different way compared to the previous PR. Since there are so many WSDLs, I didn't want to pollute the SoapService class with a bunch of constants that only apply to individual services. WSDL URLs have been moved into their appropriate SoapXXXService class. Each service now has constants called CBQA12 and CBDV12 with the appropriate URL for the WSDL*.

For example, the QA Order Header WSDL URL is SoapOrderHeaderService::CBQA12, and the QA Order Interfacing WSDL URL is SoapOrderInterfacingService::CBQA12.

*Except for the SoapProductService class, which defines CBQA12_CREATE, CBQA12_UPDATE, etc.

Limitations

This PR still doesn't address External Customer creation (creating a "Family" customer) or 'clean address'. This is simply to keep currently functionality while defining the new API. Because of the API change, this PR also bumps the project version to 6.0.0.

Original PR

This PR is more of a proposal for a method of allowing the CBS clients to interact with the different CBS environments (QA, DV, PROD, etc.). A sample integration test is provided for the SoapOrderHeaderService client, which shows the client being created with only a username and password, and then with a username, password, and path to a WSDL.

NOTE: This PR does not change the directory structure of the the project. If we use this method, it would be a good idea to move the WSDLs for each environment into their own folders inside /resources.

Please review: @ahoffmann @weizhong-wang @lloyd-carter @KJOYNER

Merge request reports

Loading