RT,PHP的webservice接口是:http://user.tlx.gov.cn/services/tonglingzbContent.php?wsdl
我的代码是
publicclassWebServiceHelper
{
#region动态调用WebService动态调用地址
///
///动态调用web服务
///
///WSDL服务地址
///方法名
///参数
///
publicstaticobjectInvokeWebService(stringurl,stringmethodname,object[]args)
{
returnWebServiceHelper.InvokeWebService(url,null,methodname,args);
}
///
///动态调用web服务
///
///WSDL服务地址
///服务接口类名
///方法名
///参数值
///
publicstaticobjectInvokeWebService(stringurl,stringclassname,stringmethodname,object[]args)
{
string@namespace="EnterpriseServerBase.WebService.DynamicWebCalling";
if((classname==null)||(classname==""))
{
classname=WebServiceHelper.GetWsClassName(url);
}
//try
//{
//获取WSDL
WebClientwc=newWebClient();
Streamstream=wc.OpenRead(url+"?wsdl");
ServiceDescriptionsd=ServiceDescription.Read(stream);
ServiceDescriptionImportersdi=newServiceDescriptionImporter();
sdi.AddServiceDescription(sd,"","");
CodeNamespacecn=newCodeNamespace(@namespace);
//生成客户端代理类代码
CodeCompileUnitccu=newCodeCompileUnit();
ccu.Namespaces.Add(cn);
sdi.Import(cn,ccu);
CSharpCodeProvidericc=newCSharpCodeProvider();
//设定编译参数
CompilerParameterscplist=newCompilerParameters();
cplist.GenerateExecutable=false;
cplist.GenerateInMemory=true;
cplist.ReferencedAssemblies.Add("System.dll");
cplist.ReferencedAssemblies.Add("System.XML.dll");
cplist.ReferencedAssemblies.Add("System.Web.Services.dll");
cplist.ReferencedAssemblies.Add("System.Data.dll");
//编译代理类
CompilerResultscr=icc.CompileAssemblyFromDom(cplist,ccu);
if(true==cr.Errors.HasErrors)
{
System.Text.StringBuildersb=newSystem.Text.StringBuilder();
foreach(System.CodeDom.Compiler.CompilerErrorceincr.Errors)
{
sb.Append(ce.ToString());
sb.Append(System.Environment.NewLine);
}
thrownewException(sb.ToString());
}
//生成代理实例,并调用方法
System.Reflection.Assemblyassembly=cr.CompiledAssembly;
Typet=assembly.GetType(@namespace+"."+classname,true,true);
objectobj=Activator.CreateInstance(t);
System.Reflection.MethodInfomi=t.GetMethod(methodname);
returnmi.Invoke(obj,args);
}
privatestaticstringGetWsClassName(stringwsUrl)
{
string[]parts=wsUrl.Split('/');
string[]pps=parts[parts.Length-1].Split('.');
returnpps[0];
}
#endregion
}
出现的问题:System.TypeLoadException:Couldnotloadtype
'EnterpriseServerBase.WebService.DynamicWebCalling.tonglingzbContent'fromassembly'nqoo0cfw,Version=0.0.0.0,
Culture=neutral,PublicKeyToken=null'.
atSystem.Reflection.RuntimeAssembly.GetType(RuntimeAssemblyassembly,Stringname,BooleanthrowOnError,
BooleanignoreCase,ObjectHandleOnStacktype)
atSystem.Reflection.RuntimeAssembly.GetType(Stringname,BooleanthrowOnError,BooleanignoreCase)
atEpoint.JSGCZtbMis_TL.Bizlogic.WebServiceHelper.InvokeWebService(Stringurl,Stringclassname,String
methodname,Object[]args)
atss.WebServiceHelper.InvokeWebService(Stringurl,Stringmethodname,Object[]
args)
atss.Commons.YAQGGTS.SendData(ObjTuiSongMsgobjTuiSongMsg,String&errMsg)
atss.Commons.YAQGGTS.PublishZBGG_JSGC(StringssGuid)
请问该如何修改代码
分 -->
|