C#调JAVA WebService,最后Invoke的时候报“调用的目标发生了异常”是怎么回事?

问题描述

代码如下:publicstaticvoidCreateWebServiceDLL(stringurl,stringmethodname,object[]args){try{//1.使用WebClient下载WSDL信息。WebClientweb=newWebClient();Streamstream=web.OpenRead(url);//2.创建和格式化WSDL文档。ServiceDescriptiondescription=ServiceDescription.Read(stream);//3.创建客户端代理代理类。ServiceDescriptionImporterimporter=newServiceDescriptionImporter();importer.ProtocolName="Soap";//指定访问协议。importer.Style=ServiceDescriptionImportStyle.Client;//生成客户端代理。importer.CodeGenerationOptions=CodeGenerationOptions.GenerateProperties|CodeGenerationOptions.GenerateNewAsync;importer.AddServiceDescription(description,null,null);//添加WSDL文档。//4.使用CodeDom编译客户端代理类。CodeNamespacenmspace=newCodeNamespace();//为代理类添加命名空间,缺省为全局空间。CodeCompileUnitunit=newCodeCompileUnit();unit.Namespaces.Add(nmspace);ServiceDescriptionImportWarningswarning=importer.Import(nmspace,unit);CodeDomProviderprovider=CodeDomProvider.CreateProvider("CSharp");CompilerParametersparameter=newCompilerParameters();parameter.GenerateExecutable=false;//parameter.GenerateInMemory=true;parameter.OutputAssembly="SFGTSJJH_WebService.dll";//可以指定你所需的任何文件名。parameter.ReferencedAssemblies.Add("System.dll");parameter.ReferencedAssemblies.Add("System.XML.dll");parameter.ReferencedAssemblies.Add("System.Web.Services.dll");parameter.ReferencedAssemblies.Add("System.Data.dll");CompilerResultsresult=provider.CompileAssemblyFromDom(parameter,unit);if(result.Errors.HasErrors){//显示编译错误信息System.Text.StringBuildersb=newStringBuilder();foreach(CompilerErrorceinresult.Errors){sb.Append(ce.ToString());sb.Append(System.Environment.NewLine);}thrownewException(sb.ToString());}//Assemblyasm=result.CompiledAssembly;Assemblyasm=Assembly.LoadFrom("SFGTSJJH_WebService.dll");Type[]ts=asm.GetTypes();Typet=asm.GetType("GtConvertDataService");objecto=Activator.CreateInstance(t);MethodInfomethod=t.GetMethod(methodname);objectfk=method.Invoke(o,args);////这里报错“调用的目标发生了异常”}catch(TargetInvocationExceptionex){stringer=ex.InnerException.ToString();throwex.InnerException;}}

调用方法的代码如下:stringurl="http://192.100.254.3:9001/ckwWebService/GtConvertData?wsdl";string[]args=newstring[1];args[0]="<?xmlversion="1.0"encoding="UTF-8"?><usermarker><conditionusername="GT000001"password="123"></condition></uermarker>";WebServiceHelper.CreateWebServiceDLL(url,"getXzcxGtList",args);

参数的数量和类型应该都是对的,这是怎么回事呢?求高人指点!!

解决方案

本帖最后由 lnn890618 于 2015-03-18 16:13:42 编辑
解决方案二:
webservice是跨语言、跨平台的拿wsdl生成代理类,调用不是很简单的麽?你哪来的搞这么复杂的一坨代码呢http://192.100.254.3:9001/ckwWebService/GtConvertData?wsdl,在浏览器是否可以正常访问?
解决方案三:
参考这个贴,一般都会成功http://bbs.csdn.net/topics/390945453

时间: 2024-09-13 18:43:12

C#调JAVA WebService,最后Invoke的时候报“调用的目标发生了异常”是怎么回事?的相关文章

.net-.NET调JAVA的webservice接口报错是怎么回事?

问题描述 .NET调JAVA的webservice接口报错是怎么回事? webservice可访问,已访问到接口方法,参数和返回值都是string类型的.就是最后执行该方法时报错"Fault occurred while processing". 无论静态添加web引用或服务引用,还是代码动态添加,都是一样的错.动态调用是在最后invoke时报错.是怎么回事?怎么改?求大神帮忙~~

soap-如何通过php调用java webservice方式调用海康监控云控制?

问题描述 如何通过php调用java webservice方式调用海康监控云控制? 因项目需要在页面通过webservice调用云控制接口,而我使用php语言和nusoap库,通过soap调用,但问题是无法控制监控画面上下左右转动,请大师们赐教下小弟!

c# 客户端 调用 java Webservice 实现图片上传功能

问题描述 c# 客户端 调用 java Webservice 实现图片上传功能 no SOAPAction header c#端添加服务引用 生成实体类 直接调用webservice图片上传方法 结果报错**no SOAPAction header** 解决方案 有没有大神 来帮帮忙 解决方案二: 参考这个:http://blog.csdn.net/wxyong3/article/details/38727503

arraylist-android怎么接收java webservice返回的自定义类型中的List集合

问题描述 android怎么接收java webservice返回的自定义类型中的List集合 webservice用的是jax-ws android用的是ksoap 服务器返回的类型 public final class Group implements Serializable { private int id; private String name; private int bGID; public List<Group> group = new ArrayList<Group&

webservice 405-.Net访问Java WebService 链接报 405method not allowed

问题描述 .Net访问Java WebService 链接报 405method not allowed .Net调用Java的WebService 链接报 the remote server returned an error(405 )method not allowed Java的WebService给的是个WSDL的链接,我用浏览器一直能访问.但是用代码访问时,偶尔能访问,偶尔访问不通,访问不通时,报"405 method not allowed". 我用的 System.Ne

java webservice上传下载文件代码分享_java

本文实例为大家分享了java webservice上传下载文件代码,供大家参考,具体内容如下 1.新建动态web工程youmeFileServer,新建包com,里面新建类FileProgress package com; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Date; import java.text.Simple

java webservice 报错

问题描述 java webservice 报错 Exception in thread "main" javax.xml.ws.WebServiceException: WSDL file:/C:/Workspaces/MyEclipse%208.6/08-SOA/WebRoot/WEB-INF/classes/META-INF/wsdl/user.wsdl has the following services [{http://service.ok.com.cn}UserServic

使用客户端调用用webservice时报错

问题描述 使用客户端调用用webservice时报错 提示错误:DocumentElement http://schemas.xmlsoap.org/soap/envelope/:Envelope expected, :html found 请问这是哪里出了问题么? 解决方案 是不是soap文件里面含有特殊字符,比如html字符,被阻止了. 解决方案二: 看样子好像报的是soap格式不对 解决方案三: 有些特殊字符要用包一下,可以试试看. 解决方案四: test不知道,不懂啊,顶一下 解决方案五

webservice接口-java webService接口实现查询数据库返回一个XML

问题描述 java webService接口实现查询数据库返回一个XML java webService接口实现查询数据库返回一个XML,用dom4j去操作XML, 解决方案 查询返回的数据库数据,然后用XML类库构建成XML格式的数据返回web api 解决方案二: 接口实现类怎么写方法查询数据库数据,xml返回表字段?