繁体   English   中英

Java中的WebService客户端

[英]WebService Client in Java

我有以下问题:我完全不熟悉Java EE(仅了解servlet和JSP),尤其是Web服务。 我需要为Web服务开发一个客户端(它需要在一分钟内向服务查询有用的信息)。 在我看来,该客户端将是一个基于Java-SWing的简单程序,当应用程序客户端运行时,它将通过简单的Socket查询Web服务。 那怎么办? 可以那样做吗? 如果没有,那么创建这种客户的最简单方法是什么?

我建议使用Apache CXF 简单而强大的框架。 是的,使用该框架可以实现您所说的内容。 只需阅读教程并试用一下即可。

为了使用Java客户端连接到Web服务,请遵循以下步骤:
1.获取托管Web服务的URL。 这通常是格式http://<IP_OF_SERVER>:<PORT_OF_SERVER>/<WEB_APP_NAME>?wsdl
2.获取服务的合格名称

        //   1st arg is the service URI
        //   2nd is the service name published in the WSDL
QName qname = new QName(<Service_URI>, <SERVICE_NAME_PUBLISHED_WSDL>);<br/>

3.为服务创建工厂:

            Service service = Service.create(url, qname);

4.提取端点接口服务“端口”:

<Port_Class_Name> eif = service.getPort(<Port_Class_Name>);

5.现在使用端口上的方法,这些方法是您的Web服务中的实际方法。

您可能想尝试REST Web服务,尝试Jersey REST(或其他)。 休息时,您可以使用http连接(GET和POST)连接它。

为了使用Java客户端连接到Web服务,请遵循以下步骤:

1.URL wsdlUrl =新URL(“您的wsdl url);

2.QName qname =新的QName(“您的wsdl文件中的targetNamespace”,“您的wsdl文件中的服务名称”);

  1. 服务服务= Services.create(wsdlUrl,qname);

4.假设getData()是您的SEI GetData数据=(GetData)service.getPort(GetData.class);

5.使用数据对象ex:data.getId(String name);调用您的方法; 这将返回您的回复

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM