`
mjm13
  • 浏览: 49742 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java通过axis访问.net webService 简单例子

    博客分类:
  • java
阅读更多
原文地址:http://www.iteye.com/topic/151541
在原文基础上加了点注释 呵呵。

所需jar包:
saaj.jar
wsdl4j-1.5.1.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
axis.jar

这些jar包都在axis项目下,
axis下载地址:http://ws.apache.org/axis/

java代码:
// 需导入的类
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;

//              .net webService 地址
		String url="http://localhost:1246/WebSite3/Service.asmx";  
//              .net webService 命名空间
		String namespace = "http://tempuri.org/";  
//              .net webService 需调用的方法
		String methodName = "HelloWorld";  
		String soapActionURI = "http://tempuri.org/HelloWorld";  
		Service service = new Service();
		
		Call call = (Call) service.createCall();

		call.setTargetEndpointAddress(new java.net.URL(url));  
		call.setUseSOAPAction(true);  
//		这个地方没设对就会出现Server was unable to read request的错误  
		call.setSOAPActionURI(soapActionURI);  
//              设置要调用的.net webService方法
		call.setOperationName(new QName(namespace, methodName));  
//              设置该方法的参数,temp为.net webService中的参数名称
		call.addParameter( new QName(namespace,"temp"),  
			    org.apache.axis.encoding.XMLType.XSD_STRING,   
			    javax.xml.rpc.ParameterMode.IN);  
//              设置该方法的返回值
		call.setReturnType(XMLType.XSD_STRING);
//              call.invoke(new Object[] { "kusix" });  中"kusix"为传入参数值
		String ret = (String) call.invoke(new Object[] { "kusix" });  
		System.out.println("返回结果---> " + ret);  


.net 代码
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    public Service () {

        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }

    [WebMethod]
    public string HelloWorld(String temp) {
        return temp+" add by .net";
    }
    
}

分享到:
评论
4 楼 Fly_SkyXin 2017-08-17  
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (404)Not Found
faultActor:
faultNode:
faultDetail:
{}:return code:  404

{http://xml.apache.org/axis/}HttpErrorCode:404

报这个错误
3 楼 asd51731 2012-11-08  
请问一下,我希望能往.net service端传多个double类型参数,服务器端需要接受三个double类型参数,然后我就复制了
call.addParameter( new QName(namespace,"temp"),   
                org.apache.axis.encoding.XMLType.XSD_DOUBLE,    
                javax.xml.rpc.ParameterMode.IN); 
改了里面的参数,并且加上了
call.setEncodingStyle( null );
一直提示
could not find deserializer for type {http://schemas.xmlsoap.org/soap/encoding/}double
您能帮着解决一下吗?
2 楼 mjm13 2011-05-31  
这里的temp要对应webService中的参数名称。
看看是不是没对应。。
soap的没弄过。。
1 楼 dongyangjava 2011-05-25  
问个事情,我在做测试的时候
call.addParameter( new QName(namespace,"temp"),    
                org.apache.axis.encoding.XMLType.XSD_STRING,     
                javax.xml.rpc.ParameterMode.IN);    

这里指定参数的时候,为什么我把temp任意换为别的字符也不可以呢?
是不是我的soap规则没设置好?

相关推荐

    java 调.net webservice

    最近开发要做一人用java 调.net webservice的,以上是我用axis1.4写的一个小例子,希望可以借鉴

    java调用.net webservice实例

    在本实例中,Java通过Apache Axis库调用.NET WebService,主要涉及以下步骤和知识点: 1. **Apache Axis库**:Apache Axis是Apache软件基金会开发的一个开源项目,它提供了Java到SOAP的绑定框架,允许Java开发者...

    java处理.net webservice返回的对象

    总结来说,Java通过Apache Axis调用.NET ASMX WebService主要涉及以下几个步骤: 1. 添加必要的依赖库。 2. 创建Service和Call对象。 3. 设置目标Web服务地址、操作名称、参数和返回类型。 4. 调用Web服务方法并接收...

    axis2请求.Net webservice接口Demo

    总结,通过Apache Axis2,我们可以轻松地在Java环境中调用.Net Web服务。这个过程涉及生成客户端代码、配置服务端点、调用接口以及异常处理。对于`getSupportCity`这样的接口,它为我们提供了查询可用城市的功能,...

    java 调用.net webservice

    说明: 由于上传速度的问题例子面没有加包,请下载后自己将Axis 1.4的lib包放到你的工程里头就可以了。 当然可以调用任何 wsdl地址。只要是webservice 这里是比较流行的。 这里有2个测试地址。 (1)...

    java调用.net写的返回值为dataset的webservice(2)实例项目

    网上的调用例子太多了,有的要用cmd来解析webserive,有的没有包,有的代码报错。学习及测试花了4天,终于完成了。 1直接把项目放到 myeclipse的工作区间加载就行。然后將axis-1_4包下的lib文件夹里的包 都加載到...

    axis2客户端代码简单例子

    一个简单的axis2客户端调用WebService的代码,分辨调用了一个部署在axis2上的java WebService和IIS6上部署的.NET WebService,用了OM方式和Object[]方式,可供初学axis2的同学参考

    java写webservice例子

    本文将详细介绍如何使用Axis2框架来开发一个无需任何配置文件的WebService,并演示如何使用Java和C#客户端进行调用。 #### 二、Axis2概述与安装 ##### Axis2简介 Axis2是Apache组织提供的一款开源WebService框架,...

    3步把您的JAVA程序转换为WEBSERVICE

    本文将详细介绍如何通过三个简单的步骤将现有的Java程序转化为Web服务(WebService),并提供具体的代码示例。 #### 第一步:准备Java类 在将Java程序转换为Web服务之前,首先需要有一个完整的Java类,这个类包含...

    java调用webservice(axis + ksoap2)

    通过这个例子,你可以了解到在Java(尤其是Android)环境中调用WebService的基本流程和关键点,为你的项目提供了一种有效的数据交换手段。在实际开发中,可以根据项目需求和服务器支持选择合适的方法。

    axis2编写发布和例子详解

    Axis2的一大亮点在于能够通过简单的POJO(Plain Old Java Object)直接创建Web Service,无需复杂的配置文件。只需定义一个Java类,暴露公共方法,Axis2就能自动将其转换为Web Service接口。这使得开发过程更简洁、...

    Axis2介绍和例子

    最后,第三个项目的亮点在于C#技术的运用,展示了如何在.NET环境中与Java的Axis2服务进行无缝集成,以此体现跨平台协作的优势。 课程采用电子书教程、教学视频和QQ群辅导相结合的方式,确保学员能够全面掌握Axis2的...

    初学者AXIS2教程(介绍和例子)

    【初学者AXIS2教程(介绍和例子)】 AXIS2是Apache软件基金会开发的一款流行的Web Service引擎,专为构建高效、可扩展的Web服务而设计。本教程针对初次接触Web服务和AXIS2的开发者,旨在提供一个全面且易懂的学习...

    Java调用WebService接口的方法

    在Java中,Apache Axis库提供了用于创建和调用WebService的工具。 在Java中调用WebService接口,主要涉及以下几个步骤: 1. **创建Service对象**:`Service`是Apache Axis库中的一个类,用于初始化并管理与...

    java调用webservice接口方法.pdf

    Apache Axis是一个开源的Java WebService框架,它提供了直接通过WSDL文件调用WebService的能力。以下是一个简单的示例: ```java import java.util.Date; import java.text.DateFormat; import org.apache.axis....

    java调用webservice接口方法.docx

    在Java中,我们可以通过Axis库来调用远程的WebService,以下是一个简单的示例: ```java import java.util.Date; import org.apache.axis.client.Call; import org.apache.axis.client.Service; //...其他导入 ...

    webservice例子

    通过学习这个例子,开发者可以更好地理解Web服务的实现过程,并将其应用于实际项目中,实现系统间的无缝集成。无论是简单的数据交换还是复杂的业务流程,Web服务都是实现分布式系统互联的重要技术。

    java调用webservice .

    本文将重点探讨在Java中如何通过两种不同的方式来直接调用WebService的服务地址:一种是基于Apache Axis库的方式,另一种则是基于SOAP协议直接进行调用的方式。这两种方式各有特点,在不同的场景下可以选择合适的...

    动态调用WebService例子 文档

    4. **.NET Framework中的Web Reference与ServiceReference**:在.NET环境中,动态调用Web服务可以通过添加Web Reference或Service Reference实现。Web Reference适用于SOAP服务,Service Reference则支持WCF...

    基于Axis2的Web Service 快速开发.ppt

    目前市场上存在多种Web Service引擎,例如Axis、XFire、JBoss、WebLogic、WebSphere以及Microsoft .Net等。其中,Axis2是由Apache推出的下一代Web Service框架,它是一个基于Servlet的模型,可以在任何Servlet容器上...

Global site tag (gtag.js) - Google Analytics