tracker issue : CF-3321512

select a category, or use search below
(searches all categories and all time range)
Title:

Nationwide: Web Services default to Axis 2 methods even if set to Axis 1 in CF Admin

| View in Tracker

Status/Resolution/Reason: Closed/Fixed/

Reporter/Name(from Bugbase): / Bob Ziegler (Daryl Dean)

Created: 08/30/2012

Components: Web Services, General

Versions: 10.0

Failure Type: Incorrect w/Workaround

Found In Build/Fixed In Build: 10.0 / 282849

Priority/Frequency: Critical / Most users will encounter

Locale/System: English / Linux

Vote Count: 0

The issue involves the use of two WSDL’s (say, WSDL”A” and WSDL “B”) on the same physical location on the server.

WSDL-A uses <import> to bring in WSDL-B. ( both WSDL's are attached to this bug ). The import statement, shown below, doesn’t need to include a full path to WSDL B – PropertyPrefill.wsdl, since it happens on the server side:

     <import location="PropertyPrefill.wsdl" namespace="http://propertyprefillservice_1.external.underwritingmanagement.nationwide.com" />

This worked with CF8. What happens in CF10, as per the error message below, is that CF tries to load WSDL-B from “/webdata/logs/was80/appsrv/personallarge/propertyprefill.wsdl”.  This path  is the location of the JVM being used by this instance of ColdFusion under WAS.

WSDL A was loaded from http://propertyprefillserviceit.nwie.net/PropertyPrefillWebService/services/PropertyPrefill/wsdl/UnderwritingManagement.wsdl, and the expectation is that WSDL B will load from the same path as this, even though it has not been specified.

The customer has tried to consume the service in CF10 using Axis1 and Axis2 settings (set in CF Admin), and neither works.  (It needs Axis 1.)

Environment: CF 10, WebSphere 7.x, RHEL 64-bit.
The error message and the wsdl output are detailed below.

Result: Accessing the web service as normal fails.

Expected: The web service should work.  You should be able to set the Web Service to "Axis 1" in CF Admin and have that bring the same effect as the workaround code change below.  (It seems the connection between specifying the version of the service in CF Admin and actual usage is broken.)

Workaround: Adding wsversion="1" to the createobject call, as shown below, solves the issue.  This is not the ideal solution for the customer, however, as it would involve scanning through and changing their entire codebase.  That is not practical for them.

     createobject("webservice","http://localhost:8500/EET/august/wsdl_import/first.wsdl",{wsversion="1", refreshwsdl="true"})

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3321512

External Customer Info:
External Company: Nationwide Mutual Insurance
External Customer Name: Bob Ziegler
External Customer Email: ziegler1@nationwide.com

Attachments:

Comments:

Akhila, can you please check.
Comment by Milan C.
18249 | January 17, 2014 07:04:51 AM GMT