我创建了一个Axis2 web服务,它从PitneyBowes获取地理编码信息,并将数据返回给原始请求者。它似乎正在工作,因为返回的数据很好。但是,每次调用似乎都会在listServices页面上创建一个新的web服务条目。web服务名称将与原始名称相同,但后面有一个随机数。
例如,如果我重新启动Axis2并转到listServices页面,我将看到:
GeoCodeService
如果我使用SoapUI调用服务,然后刷新listServices页面,我看到:
GeoCodeService
GeocodeUSAddress1439922765370_1
另一个请求和刷新将显示:
GeoCodeService
GeocodeUSAddress1439922765370_1
GeocodeUSAddress1439923207473_2
有人见过这个问题吗?提前谢谢。
更新看起来这个数字可能是一个时间戳,后面跟着一个从"1"开始的序列。
我们最终发现这是通过在WSDL2JAVA生成的类中进行设计来完成的。我们忘记的是,在进行web服务调用之后需要调用一个cleanup()方法。所以它应该是这样的(伪代码):
GeocodeUSAddressStub geocodeUSAddress = new GeocodeUSAddressStub();
GeocodeResponse response = geocodeUSAddress.geocodeUSAddress(requestData);
geocodeUSAddress.cleanup();