Java代码调用Net接口进行Webservices对接

来源:互联网 发布:光华6号导弹艇 知乎 编辑:程序博客网 时间:2024/06/05 09:05

 之前有个项目需要用java调用net接口实现一个附件的下载转换,找了很多资料,写法类似,但是就是无法调用成功,后来用了2天一点一点琢磨出来的。

import java.net.MalformedURLException;import java.rmi.RemoteException;import org.apache.axis.client.Service;import org.apache.axis.client.Call;import javax.xml.namespace.QName;import javax.xml.rpc.ParameterMode;import javax.xml.rpc.ServiceException;public class DownloadFile{public static String changeUrl(String uri, String title, String uid){//Net webservices地址String endpoint="http://10.22.161.131:8080/MobileService.asmx";Call call; String res = "";Service service = new Service();try {call = (Call)service.createCall();call.setTargetEndpointAddress(new java.net.URL(endpoint));call.setOperationName(new QName("http://tyx.moibleoaservice.org/","ceb就TotxtWap"));  //发布的方法名//三个参数,主要要和net接口中的名称一致,类型尽量用Stringcall.addParameter(new QName("http://tyx.moibleoaservice.org/", "uri"), org.apache.axis.encoding.XMLType.XSD_STRING,ParameterMode.IN);call.addParameter(new QName("http://tyx.moibleoaservice.org/", "title"), org.apache.axis.encoding.XMLType.XSD_STRING,ParameterMode.IN);call.addParameter(new QName("http://tyx.moibleoaservice.org/", "uid"), org.apache.axis.encoding.XMLType.XSD_STRING,ParameterMode.IN);call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);call.setUseSOAPAction(true);//这里注意有方法名,已经引用的地址。从net接口中找call.setSOAPActionURI("http://tyx.moibleoaservice.org/cebTotxtWap");res =(String)call.invoke(new Object[]{uri,title,uid});//返回值StringSystem.err.println("==11=>"+res);} catch (ServiceException e) {e.printStackTrace();} catch (MalformedURLException e) {e.printStackTrace();} catch (RemoteException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}finally {}return res;}}
代码没整理,但是可用,jar自己百度吧。我就不一一发了
原创粉丝点击