转自:http://hi.baidu.com/pryzjvvpkkbhjyq/item/531530115837540de65c3631
这是一个用Java调用C#版WebService接口的例子:
C#接口:
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Services.Description;
[WebService(Namespace = " http://www.tangs.com/ " )]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service () { } [SoapRpcMethod(Action = " http://www.tangs.com/Add " , RequestNamespace = " http://www.tangs.com/T ", ResponseNamespace = " http://www.tangs.com/T " , Use = SoapBindingUse.Literal)]
[WebMethod]
public int Add( int a, int b)
{ return a + b; }
[SoapRpcMethod(Action = " http://www.tangs.com/Hello " , RequestNamespace = " http://www.tangs.com/T ", ResponseNamespace = " http://www.tangs.com/T " , Use = SoapBindingUse.Literal)]
[WebMethod]
public String HelloWorld()
{ return " Hello, world! " ; }
}
Java调用这个Webservice中的Add方法和HelloWorld方法:
1.有参方法:Add
public static void addTest() {
try {
Integer i = 1 ;
Integer j = 2 ;
// WebService URL
String service_url = " http://localhost:4079/ws/Service.asmx " ;
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(service_url));
// 设置要调用的方法
call.setOperationName( new QName( " http://www.tangs.com/T " , " Add " ));
// 该方法需要的参数
call.addParameter( " a " , org.apache.axis.encoding.XMLType.XSD_INT,
javax.xml.rpc.ParameterMode.IN);
call.addParameter( " b " , org.apache.axis.encoding.XMLType.XSD_INT,
javax.xml.rpc.ParameterMode.IN);
// 方法的返回值类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_INT);
call.setUseSOAPAction( true );
call.setSOAPActionURI( " http://www.tangs.com/Add " );
// 调用该方法
Integer res = (Integer)call.invoke(
new Object[] { i, j }
);
System.out.println( " Result: " + res.toString());
} catch (Exception e) {
System.err.println(e); }
}
运行,结果返回:Result:3
2.无参方法:HelloWorld
public static void helloTest() {
try {
String endpoint = " http://localhost:4079/ws/Service.asmx " ;
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint));
call.setOperationName( new QName( " http://www.tangs.com/T " , " HelloWorld " ));
call.setUseSOAPAction( true );
call.setSOAPActionURI( " http://www.tangs.com/Hello " );
String res = (String)call.invoke(
new Object[] { null }
);
System.out.println( " Result: " + res);
} catch (Exception e) {
System.err.println(e.toString()); }
}
可以看到,调用无参的webservice和有参的基本相同,不过无参调用时,不需要调用Call的addParameter方法和setReturnType方法
执行结果返回:Hello, world!
分享到:
相关推荐
JAVA调用WEBSERVICE接口
java调用webservice接口方法,直接AXIS调用远程的web service
java调用webservice接口案例,精简,service调用webservice接口案例;不用生成一堆代码,逻辑清晰
java调用webservice接口案例,service调用webservice接口
java调用webservice接口方法.rar
JAVA调用WEBSERVICE接口.zipJAVA调用WEBSERVICE接口.zip
介绍了java代用webservice的实现方法,采用axis依赖的方式。对于任意webservie都可以实现简单条用,用最少的依赖和最少的代码实现调用
Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;
nodejs和Java调用webservice接口总结 做了一天终于调通了 Java和node工程都是可以使用,随便总结一下,下次忘记咯
主要介绍了Java调用WebService接口的方法,实例分析了有参方法Add的使用技巧,需要的朋友可以参考下
JAVA调用Webservice接口Demo 直接上代码,下载下来可直接运行看到效果 1,IP查询 2,根据省份查城市
java调用webservice接口方法.docxjava调用webservice接口方法.docx
Java调用WebService接口jar包
java调用webservice接口方法.pdf
学习java调用Webservice接口.pdf
Java调用Webservice接口的jar包,里面还含有其他的jar,亲测有效
java调用webservice接口方法借鉴.pdf
java 调用webservice的各种方法总结 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!! 由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和大家一起来研究研究webservice的各种使用...
java调用webservice接口方法[文].pdf
java调用json参数的webservice 涉及技术: JAVA JSON WEBSERVICE