需要axis.jar,commons-discovery-1.0.jar,commons-logging-1.0.4.jar,wsdl4j-1.6.jar
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class WebServiceHelper {
public static String callWS(String url,String method,String returnType,String[] params,String[] types,String[] values,String targetNamespace) throws Exception{
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
call.setOperationName(new QName(targetNamespace,method));//要访问的方法
for(int i = 0; i < params.length; i++){
call.addParameter(new QName(targetNamespace, params[i]),getWSType(types[i]), ParameterMode.IN);
}
call.setReturnType(getWSType(returnType)); //设置返回值类型
String i=(String)call.invoke(values);
return i;
}
private static QName getWSType(String typeStr){
QName type = null;
if("String".equalsIgnoreCase(typeStr)){
type = XMLType.XSD_STRING;
}else if("Boolean".equalsIgnoreCase(typeStr)){
type = XMLType.XSD_BOOLEAN;
}else if("Int".equalsIgnoreCase(typeStr)){
type = XMLType.XSD_INT;
}else{
type = XMLType.XSD_STRING;
}
return type;
}
}
分享到:
相关推荐
现在,我们有了必要的Java类,可以开始编写调用Web Service的代码。例如,假设生成的类有`WeatherWebServiceService`和`WeatherWebServiceSoapBindingStub`,我们可以这样调用服务: ```java import org.example....
**DII (Dynamic Invocation Interface)**允许客户端动态调用Web服务操作,无需生成特定的客户端存根。 ##### 步骤一:定义服务端接口类 1. **编写服务端接口类**:创建一个简单的Java类,例如`HelloClient`,该类...
在本文中,我们将深入探讨如何使用 AXIS 在 Tomcat 6.0.26 上进行配置,并详细介绍三种部署和调用 Web Service 的方法:Dynamic Invocation Interface (DII)、Stubs 方式以及 Dynamic Proxy 方式。 首先,配置 AXIS...
- 创建一个同步或异步调用Web Service的类,通常会用到`org.apache.axis2.client.ServiceClient`。 3. **生成客户端 stubs:** - 服务发布后,可以通过Axis2的wsdl2java工具,根据服务的WSDL(Web Service ...
2. **创建Web Service**:对着`HelloWorld`类右键选择`Web Services > Create Web Service`,配置运行时为Axis2,服务器为之前创建的Server,按照提示完成操作。 **验证服务** 1. **查看服务状态**:访问`...
此示例演示了如何使用 Apache Axis 开发和部署 Web Service,并通过客户端进行调用。需要注意的是,客户端和服务端的通信依赖于 SOAP 协议和 XML 数据格式。在实际开发过程中,可以根据具体需求调整服务发布方式和...
- 创建一个测试类来调用Web服务方法。可以在项目中新建一个Java类,例如“TestWebServiceClient”。 - 在这个类中编写代码来实例化服务客户端,并调用相关的Web服务操作。 - 运行测试类,查看控制台输出或结果页面来...
通过以上步骤,我们已经成功创建并部署了一个简单的Web Service,并通过客户端进行调用和测试。这只是一个基本的例子,实际开发过程中可能还需要考虑更多因素,比如安全性、性能优化等。Axis作为一个成熟的Web ...
4. **调用Web Service**:使用生成的客户端代理类,通过其方法调用Web Service。注意,由于是HTTPS,所以在调用前可能需要建立SSL连接,处理身份验证等安全操作。 5. **处理异常**:在调用过程中,可能会遇到SSL...
上述代码演示了如何使用DII方式调用Web服务。客户端通过`Call`对象设置目标服务地址、操作名称等信息,并通过`invoke`方法传递参数并接收返回结果。 ##### 3.3 动态代理方式 (Dynamic Proxy) 1. **定义服务接口**...
【标题】: "Axis开发Web Service程序教程" 【描述】: "本文旨在引导读者通过AXIS框架体验Web服务的开发流程,适合已有Web服务基础的Java、XML开发者学习。" 【标签】: "axis webservice soap java" 【内容】: ...
【用Axis2开发Web Service】是本文的核心主题,轴心技术是Java开发Web服务的一种框架,相较于Axis1,其过程更为简洁。以下是关于使用Axis2开发Web Service的详细步骤和知识点: 1. **实验环境搭建**: - 首先确保...
总结来说,"axis web service例子"是一个实践性的教学资源,帮助开发者深入理解Java Axis Web服务的工作机制,包括服务的创建、部署和调用。通过实际操作,学习者可以提升自己的Web服务开发技能,为未来的项目开发...
AXIS Web Service是一种基于Java的开源工具,用于创建和部署Web服务。它是Apache软件基金会的项目,主要用于简化SOAP(简单对象访问协议)处理,使得开发人员可以轻松地将Java类转换为Web服务或调用远程Web服务。在...
2. **服务消费**:同样,Axis也支持消费者端,可以自动从WSDL生成客户端存根,使得调用Web服务如同调用本地方法一样简单。 3. **协议支持**:Axis支持多种协议,包括HTTP、HTTPS、SMTP等,同时也支持SOAP 1.1和1.2...
在C++中调用Web Service,通常使用一些库或框架,例如gSOAP、Apache Axis C++等。这些工具提供了处理SOAP消息和解析WSDL文档的功能。以gSOAP为例,它能够自动生成C++客户端代码,简化调用Web Service的过程。 在给...