每个项目都有其幽默的特点,如今我遇到了破解一款C#程序的问题,经过两周的绞尽脑汁,终于在众多Dll文件中找到了程序的破解方法,并顺利拿到了数据,接下来就需要
把我用C#写的程序封装成webservice并让java调用,对我这个没有丝毫C#经验的java开发者来说,其实也挺难,但是最终战胜了自己。
接下来看看代码,首先看vs如何创建C# webservice服务,我这里用的vs是2015版
直接看java代码吧
package com.kaitaiming.webservice;
import java.net.URL;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.encoding.XMLType;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class TestConnectWebserice {
public static void test() {
String url = "http://localhost:50199/Test.asmx";
String namespace = "http://tempuri.org/";
String methodName = "selectVIN";
String soapActionURI = "http://tempuri.org/selectVIN";
Service service = new Service();
Call call;
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapActionURI);
call.setOperationName(new QName(namespace, methodName));
call.addParameter(new QName(namespace, "vin"), XMLType.XSD_STRING,ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
String[] str = new String[1];
str[0] = "111111";
Object obj = call.invoke(str);
System.out.println(obj);
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TestConnectWebserice.test();
}
}
接下来就是直接看代码,稍微有点不同,但是基本都一样只是方法名不同
其实就在刚刚我把我的详细过程都一一截图,但是可爱的csdn把文字保存起来,图片却没有保存起来,以至于只能写这么一点