使用相同的客户端访问相同的Web服务
问题描述:
我有一些Web服务,我正在使用ws-import创建Web客户端。使用相同的客户端访问相同的Web服务
当创建客户端我有这样一行:
MyServiceService service = new MyServiceService();
它正常工作,因为它是。
我在另一台服务器上运行相同的Web服务,我想知道是否可以使用相同的客户端访问它们。是否有可能更改客户端的wsdl网址? Eclipse中的Ctrl-Space为我提供了2个参数,我可以输入到MyServiceService中,它们是URL arg0和Qname arg1。这是我在找什么?如果这算什么,我应该把在QName的,因为我没有找到任何相关的Javadoc,并没有发现它在谷歌既不
感谢和问候的情况下, Krt_Malta
答
是的,你可以这样做。正如您怀疑的那样,您需要使用服务类上生成的构造函数this signature。正如你所看到的,它有两个参数:一个QName和一个Url。
QName有点难以确定。您必须查看为您的服务类的无参数构造函数生成的源代码(以及类中的@Service属性)。如果你这样做,你应该能够确定无参数构造函数使用的QName。只需用这些相同的值构造一个QName,然后使用它。
Url很简单:只需使用您想要访问的wsdl url。
P.S.如果您仍然无法确定要使用的QName,请发布生成的服务存根源代码,然后我将能够向您显示需要使用的QName。 – 2010-04-17 16:00:26
太棒了! QName是这样的 private final static QName MYSERVICESERVICE_QNAME = new QName(“http:// MyService /”,“MyServiceService”); 非常感谢! :) – 2010-04-17 16:28:40