Web services Web服务因org.apache.axis2.AxisFault而失败:系统无法从[my URL]URL推断传输信息

Web services Web服务因org.apache.axis2.AxisFault而失败:系统无法从[my URL]URL推断传输信息,web-services,websphere,axis2,Web Services,Websphere,Axis2,我们的处境很奇怪。它是一个web服务(svc1),在websphere中调用另一个盒子上的另一个web服务(svc2)。在以前的任何环境中都可以工作 但最近他们构建了另一个登台环境,主要是一个工作环境的克隆。每次svc1尝试调用svc2时,服务都会失败,并显示此消息 Caused by: org.apache.axis2.AxisFault: The system cannot infer the transport information from the [svc2's URL] URL.

我们的处境很奇怪。它是一个web服务(svc1),在websphere中调用另一个盒子上的另一个web服务(svc2)。在以前的任何环境中都可以工作

但最近他们构建了另一个登台环境,主要是一个工作环境的克隆。每次svc1尝试调用svc2时,服务都会失败,并显示此消息

Caused by: org.apache.axis2.AxisFault: The system cannot infer the transport information from the  [svc2's URL] URL.
    at org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtils.java:81)
    at org.apache.axis2.client.OperationClient.prepareMessageContext(OperationClient.java:304)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:180)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
    at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:578)
    at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:127)
    at org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:93)
    at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:419)
    ... 45 more
URL是正确的。我们可以将不工作的应用程序指向支持一组工作应用程序的数据库,它可以工作,但当我们将其他环境中的工作应用程序指向不工作环境的数据库时,它会停止工作

这似乎表明了DB,但错误与DB无关。Svc1在调用svc2之前唯一的DB调用发生在服务调用之前,并且根据日志可以正常工作。日志表明svc2从未收到请求。那么,数据库如何成为问题呢


我知道这不太可能,但有没有人对缩小范围有什么建议?基于代码和失败的情况,我不敢相信DB是问题所在……但DB交换测试似乎暗示了这一点。

我可能会指出显而易见的问题,但错误消息告诉您两件事之一:要么svc1没有正确配置以调用svc2,要么svc2没有启动并运行

为了清楚起见,如果我将工作环境标记为:environmenta,将非工作环境标记为:environmentB

根据您所说的,您能够使用environmentB.svc1调用environmentA.svc2吗?如果这是真的,那么environmentB.svc1已正确配置并工作。剩下的是svc2。您说过svc2没有收到请求,这意味着它至少已启动。好吧,就像你提到的,这并不是很重要,但我会确保你正确配置了svc2,因为它已经启动了。配置Web服务可能很复杂,但可以配置的一件事是使Web服务可供客户端调用。因此,您可能希望查看此链接以了解有关如何配置它的信息:

有很多关于配置Web服务的类似文章可能会帮助您解决缺少的内容,因此我将验证EnvironmentB.svc2的配置是否与EnvironmentA.svc2匹配,因为您知道其中一个正在工作