慢慢的有很多接口pb都已经无法调用了,还有一些进制计算,位移等pb都无法实现,这时最简单的就是用c#做好,让pb调用。但是pb只能调用最基础的c++开发的标准dll。通过无数次的百度,我找到了一个好的方法,也许您已经知道了。但是我觉得还是要写出来,只要还有一个为此发愁的朋友存在。谢谢!
方法思路是:
1、用c#写一个类,方法的参数一定要用标准数据类型,返回值也要是标准数据类型(string、int或者结构等等)。在这个方法里面调用各类webservice或其他http接口等pb无法直接调用的。
2、我正巧要做一个调用java写的webservice,下面贴出代码,供参考,因为用csc.exe编译程序无法处理引用,所以
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
namespace ysxt
{
public class
ws
{
public string sendrecv(string sUser, string
sPwd)
{
string
retu = "";
try
{
xjca.YsxtMainServiceImplService myrefe = new
xjca.YsxtMainServiceImplService();
//这里就是解决csc.exe无法编译引用问题的,xjca是在另外一个ysws.cs文件里,这个cs文件不是我写的,也不能写出来,这是用另外一个命令生成出来的,具体命令看本文最后备注
myrefe.Url =
myUrl;
retu = myrefe.sendRecv(sUser,
sPwd);
}
catch
(Exception e)
{
return
e.Message;//一定要用
try....catch,否则pb调用过程中出现错误,都没有办法知道哪里错了,这句话就是关键。
}
return
sSign + "\r\n" + retu;
}
}
}