由于项目要求,要实现一个用jsp的客户端页面去调用后台C++的程序。在这个过程中主要涉及到的就是数据的交互。应该怎样把java的数据传输到C++,C++经过处理之后又怎么样传输到java。在这之间才用了C++的webservice。在这里网上有很多相关java链接webservice。写写自己的心得吧。
有很多种方法就能实现这个功能,我是用的axis。网上下载axis的jar包 http://axis.apache.org/axis/
把下载的包导入工程。
代码
</pre><p><pre name="code" class="java">import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class Test {
public static void main(String[] args) {
try {
String endpoint = "<span style="font-size: 13.3333px;">webservice 的url </span>";
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setOperationName(new QName("url的targetNamespace","调用的接口名称"));
call.addParameter("inputStr", org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
//接口参数名称
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
String xmlStr = (String)call.invoke(new Object[] { "输入参数值"}); //与上面的接口对应
//xmlStr获取链接的返回值。如果和后台能对应上就OK
System.out.print(xmlStr);
} catch (ServiceException e) {
// TODO Auto-generated catch blocke.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch blocke.printStackTrace();
}
}