package com.web.client;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.Constants;
public class WsClient {
private static void invokeWebService()
{
try
{
String soapBindingAddress = "http://localhost:8080/test_webservice/ws/TestService";
EndpointReference endpointReference = new EndpointReference(soapBindingAddress);
//创建一个OMFactory,下面的namespace、方法与参数均需由它创建
OMFactory factory = OMAbstractFactory.getOMFactory();
//下面创建命名空间,如果你的WebService指定了targetNamespace属性的话,就要用这个
//对应于@WebService(targetNamespace = "http://www.mycompany.com")
OMNamespace namespace = factory.createOMNamespace("http://service.web.com/", "xsd"); //可以在wsdl上找到
//下面创建的是参数对数,对应于@WebParam(name = "name")
//由于@WebParam没有指定targetNamespace,所以下面创建name参数时,用了null,否则你得赋一个namespace给它
OMElement nameElement= factory.createOMElement("param", namespace);
nameElement.addChild(factory.createOMText(nameElement, "[参数]"));
//下面创建一个method对象,"test"为方法名
OMElement method = factory.createOMElement("myService", namespace);
method.addChild(nameElement);
Options options = new Options();
options.setAction("http://service.web.com/myService"); //此处对应于@WebMethod(action = "http://www.mycompany.com/test")
options.setTo(endpointReference);
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
//下面的输出结果为<xsd:test xmlns:xsd="http://www.mycompany.com"><name>java</name></xsd:test>
System.out.println(method.toString());
//发送并得到结果,至此,调用成功,并得到了结果
OMElement result = sender.sendReceive(method);
//下面的输出结果为<ns2:testResponse xmlns:ns2="http://www.mycompany.com"><greeting>hello java</greeting></ns2:testResponse>
System.out.println(result.toString());
}
catch (AxisFault ex)
{
ex.printStackTrace();
}
}
public static void main(String[] args)
{
WsClient.invokeWebService();
}
}
分享到:
相关推荐
JAVA调用WEBSERVICE接口
Java调用WebService接口方法是Java开发中常见的任务,尤其在分布式系统和跨平台通信中扮演着重要角色。这里我们主要探讨使用Apache Axis库来实现这一功能。Apache Axis是一款开源工具,它提供了Java到SOAP(简单对象...
java调用webservice接口案例,精简,service调用webservice接口案例;不用生成一堆代码,逻辑清晰
Java调用WebService接口是Web应用程序开发中的常见任务,主要用于实现不同系统间的远程通信和数据交换。在本资料中,我们重点关注Java如何与基于SOAP(Simple Object Access Protocol)的WebService进行交互。 1. *...
本文将深入探讨如何使用Java调用WebService接口,以实例分析有参方法Add的使用技巧。 首先,我们需要了解WebService的基础知识。WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的Web应用程序,它能够通过HTTP...
本教程将深入探讨如何使用Axis库来实现在Java中调用WebService接口。Axis是一个开源的Java SOAP栈,它提供了从Java代码中创建和消费Web服务的能力。 **一、什么是WebService?** WebService是一种基于XML的协议,它...
本示例,"JAVA调用Webservice接口Demo",将向我们展示如何利用Java来与Webservice进行交互,主要包含两个功能:IP查询和根据省份查找城市。这个项目可以直接运行,方便开发者快速理解并应用到实际项目中。 首先,...
### Node.js 和 Java 调用 WebService 接口总结 #### 一、Java 实现方式 在 Java 中,调用 WebService 接口通常涉及使用 Apache CXF 或其他类似的库来生成客户端代码并进行调用。以下是具体的步骤: ##### 1. ...
Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;
Java调用WebService接口的方法主要涉及两个关键点:一是理解WebService的工作原理,二是使用相应的Java库进行调用。本文将详细讲解这两个方面。 首先,WebService是一种基于标准的、平台和语言无关的通信方式,它...
总之,Java调用WebService接口涉及多个库和jar包,通过理解相关概念和技术,可以有效地实现跨系统的数据交换。在实际开发中,根据项目需求选择合适的工具和库,合理优化,确保服务调用的稳定性和效率。
"Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...
Java 调用 Webservice 接口方法 Webservice 是一种基于网络的远程过程调用(RPC)机制,允许不同的系统之间进行交互和数据交换。Java 调用 Webservice 接口方法是将 Webservice 集成到 Java 应用程序中的一个重要...
"Java调用Webservice接口的jar包"描述的可能是一个包含了一系列Java库的压缩包,这些库可以帮助开发者更容易地与Web服务交互。 首先,Java中用于调用Web服务接口的主要工具有 Axis2、JAX-WS(Java API for XML Web ...
Java调用WebService接口是开发中常见的一种跨平台通信方式,主要通过SOAP(Simple Object Access Protocol)协议进行数据交换。在本篇文章中,我们将探讨如何在Java中调用WebService接口,特别是基于WSDL(Web ...
综上所述,通过Java调用HTTPS Web Service接口涉及的关键点包括证书的信任管理、自定义`SSLSocketFactory`以及正确处理网络请求。了解并掌握这些知识点,能帮助开发者在安全的环境中进行Web Service交互。
Java调用WebService接口是开发中常见的一种跨平台通信方式,主要通过SOAP(Simple Object Access Protocol)协议进行数据交换。在本篇文章中,我们将探讨如何在Java中调用基于WSDL(Web Service Description ...
在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...
2. **创建WebService客户端**:使用WSDL(Web Service Description Language)文件,你可以自动生成Java客户端代码。Eclipse和MyEclipse都有工具可以做到这一点。WSDL文件描述了Web服务的接口、操作、消息格式等。 ...