java通过axis访问.net webService 简单例子
2014-06-09 10:57
453 查看
点击打开链接
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);
注:有时会出现传过去的结果为null的问题!!做项目时遇到用JDK生成的webservice就会出现这样的结果查看代码就可知道其实是java有封装了参数都改为arg0了
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);
注:有时会出现传过去的结果为null的问题!!做项目时遇到用JDK生成的webservice就会出现这样的结果查看代码就可知道其实是java有封装了参数都改为arg0了
相关文章推荐
- Java通过axis调用.NET WebService
- AXIS 开发WEBSERVICE简单例子
- java使用AXIS调用.net的webservice的小说明(webservice方法里含有对象)
- JAVA使用axis调用.net WSDL的WebService
- axis 实现的webservice(简单例子)
- linux下java程序与C语言程序通过SOCKET通信的简单例子
- .NET 访问JAVA的WebService使用SOAP头
- 一个java生成与使用WebService的简单例子
- linux下java程序与C语言程序通过SOCKET通信的简单例子
- java访问PHP写的webService的方法—基于axis框架
- java中用Axis开发webservice的简单实例
- 通过内部类的一个例子展示java中的可访问特性
- java 访问.net webservice返回的数据集
- 使用Flex与java简单访问在Axis上即时发布型的WebService服务
- .net与java 使用自定义对象通过WebService调用
- 关于AXIS WebService通过HTTPS协议访问WAS Web服务错误问题的解决方案
- .NET作为客户端调用Java和.NET WebService 简单示例
- java调用.NET的webservice实例的二种方法soap方式axis模式
- java 访问.net webservice返回的数据集
- Java实现的简单的WebService服务发布和Client调用例子