java 调用 wsdl形式的webservice 示例
2017-05-18 10:23
1031 查看
正在开发的中间件要用到第三方提供的webservice,网上的资料稂莠不齐,java调用webservice折腾了我两天,不就是调用URL上对应的方法嘛,尼玛怎么这么难调用?(还是RESTFUL好用)方法太多看到头晕眼花,我喜欢简单明了,拿来就用的,不要搞一堆的方法,萝莉啰嗦,写得不清不楚,漏这漏那的,用起来不是这错就那错,一气之下,小弟自己整理一个简单步骤,与大家分享,欢迎大家狂喷!
步骤如下:
1.下载AXIS2类库,AXIS2是目前java调用webservice的一个主要方法(由于更新较频繁,请自行google该类库的网址)
2.由于是第三方webservice,直接引入AXIS2的包就可以用了,代码如下:
import java.rmi.RemoteException;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class webServiceTest {
public String invokeRemoteFuc() {
String endpoint = "http://localhost:8080/webservice/services/helloworld";
String result = "no result!";
Service service = new Service();
Call call;
Object[] object = new Object[1];
object[0] = "Dear I miss you";//Object是用来存储方法的参数
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);// 远程调用路径
call.setOperationName("say");// 调用的方法名
// 设置参数名:
call.addParameter("str1", // 参数名
XMLType.XSD_STRING,// 参数类型:String
ParameterMode.IN);// 参数模式:'IN' or 'OUT'
// 设置返回值类型:
call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String
result = (String) call.invoke(object);// 远程调用
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
webServiceTest t = new webServiceTest();
String result = t.invokeRemoteFuc();
System.out.println(result);
}
}
该方法的原理很简单,通过AXIS2封装好的类设置URL和参数,直接调用就好了,我们要关注的就是设置URL,方法,还有方法的参数,其他的copy&paste好啦,很简单吧。
步骤如下:
1.下载AXIS2类库,AXIS2是目前java调用webservice的一个主要方法(由于更新较频繁,请自行google该类库的网址)
2.由于是第三方webservice,直接引入AXIS2的包就可以用了,代码如下:
import java.rmi.RemoteException;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class webServiceTest {
public String invokeRemoteFuc() {
String endpoint = "http://localhost:8080/webservice/services/helloworld";
String result = "no result!";
Service service = new Service();
Call call;
Object[] object = new Object[1];
object[0] = "Dear I miss you";//Object是用来存储方法的参数
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);// 远程调用路径
call.setOperationName("say");// 调用的方法名
// 设置参数名:
call.addParameter("str1", // 参数名
XMLType.XSD_STRING,// 参数类型:String
ParameterMode.IN);// 参数模式:'IN' or 'OUT'
// 设置返回值类型:
call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String
result = (String) call.invoke(object);// 远程调用
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
webServiceTest t = new webServiceTest();
String result = t.invokeRemoteFuc();
System.out.println(result);
}
}
该方法的原理很简单,通过AXIS2封装好的类设置URL和参数,直接调用就好了,我们要关注的就是设置URL,方法,还有方法的参数,其他的copy&paste好啦,很简单吧。
相关文章推荐
- java 调用 wsdl形式的webservice 示例
- java 调用 wsdl形式的webservice 示例
- java 调用 wsdl形式的webservice 示例
- java调用webservice WSDL形式接口之apache axis方式调用(一)
- Java使用axis2调用wsdl形式的webservice
- java调用webservice WSDL形式接口之apache axis方式调用(一)
- java调用webservice WSDL形式接口之apache axis方式调用(一)
- java调用webservice WSDL形式接口之apache axis方式调用(一)
- java 调用 wsdl形式的webservice
- Axis2 调用wsdl webservice 示例
- 一个很简单的Java调用WSDL示例
- java调用webservice(用wsdl2java简化客户端的编写)
- Java调用带SoapHeader头验证的.net Webservice示例代码
- 一个很简单的Java调用WSDL示例 (转载)
- 分享:根据webservice WSDL地址自动生成java调用代码及JAR包
- java使用axis调用WebService简单示例
- Java调用免费的WebService示例【天气预报】【国内手机号码归属地查询】
- 使用wsdl2java命令生成webservice本地调用代码
- java 调用axis2 webservice示例
- python调用java的Webservice示例