C#.Net 如何动态指定URL调用 JAVA WebService

问题描述

现在地址不明确.无法通过添加Web引用来调用.如何根据参数地址动态的调用JavaXFireWebService

解决方案

解决方案二:
有测试用的webservice么如果不能添加web引用的话是调用不了的添加引用后项目会根据webservice生成一些方法声明什么的只要webservice方法不改变可以更换webservice地址如果方法改变了就得刷新web引用了生成对象后可以指定webservice的url这个地址可以设置在config里面了如果都没法引用就不能生成webservice对象就没办法了
解决方案三:
这个比较简单。在配置档里对这个Webservices类的对象的url,进行重新指向就行了。
解决方案四:
publicstaticobjectInvokeWebService(stringurl,stringmethodname,object[]args)

其中,url是Web服务的地址,methodname是要调用服务方法名,args是要调用Web服务所需的参数,返回值就是web服务返回的结果了。#regionInvokeWebService//动态调用web服务publicstaticobjectInvokeWebService(stringurl,stringmethodname,object[]args){returnWebServiceHelper.InvokeWebService(url,null,methodname,args);}publicstaticobjectInvokeWebService(stringurl,stringclassname,stringmethodname,object[]args){string@namespace="EnterpriseServerBase.WebService.DynamicWebCalling";if((classname==null)||(classname=="")){classname=WebServiceHelper.GetWsClassName(url);}try{//获取WSDLWebClientwc=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);CSharpCodeProvidercsc=newCSharpCodeProvider();ICodeCompilericc=csc.CreateCompiler();//设定编译参数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);}catch(Exceptionex){thrownewException(ex.InnerException.Message,newException(ex.InnerException.StackTrace));}}privatestaticstringGetWsClassName(stringwsUrl){string[]parts=wsUrl.Split('/');string[]pps=parts[parts.Length-1].Split('.');returnpps[0];}#endregion

-----------------------实例:stringurl="http://www.webservicex.net/globalweather.asmx";string[]args=newstring[2];args[0]=this.textBox_CityName.Text;args[1]="China";objectresult=WebServiceHelper.InvokeWebService(url,"GetWeather",args);this.label_Result.Text=result.ToString();

http://www.webservicex.net/globalweather.asmx服务来获取各大城市的天气状况。
解决方案五:
引用3楼gongsun的回复:

C#codepublicstaticobjectInvokeWebService(stringurl,stringmethodname,object[]args)其中,url是Web服务的地址,methodname是要调用服务方法名,args是要调用Web服务所需的参数,返回值就是web服务返回的结果了。C#code#re……

这段代码我用来动态访问c#写的能。但是访问java提供的webservice的时候运行到Typet=assembly.GetType(@namespace+"."+classname,true,true);这里就报错了。目前还不知道什么原因。java不存在命名空间问题。但是该如何获取type呢?希望帮忙解答谢谢

时间: 2024-08-01 04:32:59

C#.Net 如何动态指定URL调用 JAVA WebService的相关文章

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

解决.Net调用Java webservice访问被拒绝的方案

最近用.net调用java写的webservice时,出现了一个奇怪的问题:Webservice服务部署在本机,外面机器的web引用可以正确添加,但调试运行时,就出现"目标机器积极拒绝(target machine actively refused)"错误!真是奇怪了. 最近用.net调用java写的webservice时,出现了一个奇怪的问题:Webservice服务部署在本机,外面机器的web引用可以正确添加,但调试运行时,就出现"目标机器积极拒绝(target mach

C# 动态调用 Java webservice

问题描述 网上常见的方法都试过了,无法调用,而且我直接在程序中添加Web引用,静态调用的话,调出来的方法的参数发生变话,比如:Java那变的方法是Print(stringaa,stringbb,stringcc),我引用后显示放法的参数变成Print(Printprint).求高手帮忙解答:如下是我Web引用:privateWebReference.LsxJkFromJl2LsxServiceBindingservice;service=newWebReference.LsxJkFromJl2L

java调用webservice:php调用java webservice

header("content-type: text/html; charset=utf-8");require_once("lib/nusoap.php");// 要访问的webservice路径$nusoapwsdl="http://localhost:8080/mywebservice/services/sendmobliemsg?wsdl";// 生成客户端对象$client = new soapclient($nusoapwsdl, t

PHP5 在调用 JAVA WebService 时遇到的各种问题解决方法

 开始gank. 服务端: Spring3.0.5+CXF2.4,JDK1.6 "应该是"自动生成的wsdl文件<服务端不是我们的> 客户端: PHP5.1.3 碰见的第一个问题: SOAP-ERROR: Encoding: object has no 'id' property 但是API文档上说不需要id,查看wsdl文件内容 <xs:complexType name="seal"><xs:sequence><xs:el

c# WSE3.0 证书加密 调用java webservice

问题描述 我通过Keystore生成了server.jksclient.jks并把server.jks导出的cer导入到client.jks把client.jks导出的cer导入到server.jks,然后通过JKS2PFX工具成功把server.jks与client.jks转为.net下的pfx文件.然后在vs2010中操作图形界面配置客户端,如下图:在clientcertificateselect面板可以选择证书在servercertificateselect面板没有证书可以选择但我是安装了

C#调用java webservice接口问题

问题描述 Util中代码:publicstaticvoidSetCertificatePolicy(){ServicePointManager.ServerCertificateValidationCallback+=RemoteCertificateValidate;}privatestaticboolRemoteCertificateValidate(objectsender,X509Certificatecert,X509Chainchain,SslPolicyErrorserror){S

JSP调用Java Bean在网页上动态生成柱状图

js|动态|网页|柱状图 我们经常要在网页看到一些动态更新的图片,最常见的莫过于股票的K线图,本文试图通过一个简单的实例,向大家展示如何通过JSP 调用Java Bean在网页上动态生成柱状图. 背景:本人最近在为某统计局开发项目时,涉及到在网页上动态生成图片的问题,费了一天的时间,终于搞定,为帮助大家在以后遇到同样的问题时不走弯路,现将设计思想及源代码公布出来,与大家共勉.以下代码在Windows2000成功测试通过,Web应用服务器采用Allaire公司的Jrun3.0,如有疑问,敬请联系作