`
Jophy
  • 浏览: 39209 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

通过代理调用webservice服务

阅读更多
由于最近有客户需通过webservice接入我们这边的系统(Axis21.3),以前给接入包不行,问了客户那边的情况才知道他们那边是内网通过代理访问外网的。
以前的client是通过插件自动生成的,所以直接在生成的stub类里面加上配置代理的参数就ok
/**
     * Constructor that takes in a configContext  and useseperate listner
     */
public MessageTransportServiceStub(org.apache.axis2.context.ConfigurationContext configurationContext,
        java.lang.String targetEndpoint, boolean useSeparateListener)
        throws org.apache.axis2.AxisFault {
         //To populate AxisService
         populateAxisService();
         populateFaults();

        _serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);
        
	
        configurationContext = _serviceClient.getServiceContext().getConfigurationContext();

        _serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(
                targetEndpoint));
        _serviceClient.getOptions().setUseSeparateListener(useSeparateListener);
//以下为通过配置文件判断是否使用代理,有使用的话设置参数
        Configuration config=new Configuration();
        if (config.getValue("isproxy").equals("true")) {
        	ProxyProperties proxyProperties=new ProxyProperties();
            proxyProperties.setProxyName(config.getValue("host"));
            proxyProperties.setProxyPort(Integer.valueOf(config.getValue("port")));
            proxyProperties.setDomain(config.getValue("domain"));
            
            	proxyProperties.setUserName(config.getValue("username"));
		
         
           proxyProperties.setPassWord(config.getValue("userpassword"));

            _serviceClient.getOptions().setProperty(HTTPConstants.PROXY, proxyProperties);
            _serviceClient.getOptions().setProperty(HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_10);
		}
    
    }

webservice是通过http端口走的,所以代理应该提供http端口,一开始客户提供了socks5端口,害的测试n久都没通过
分享到:
评论
1 楼 ie4119 2014-05-30  
可以设置局部的代理吗

相关推荐

    C#动态调用WebService服务

    在动态调用WebService服务的场景下,反射可以用于根据配置文件中的URL动态加载服务代理类。首先,我们需要读取配置文件获取服务URL,然后使用Type类的GetMethod方法找到WebService的特定方法,最后通过Activator....

    VC++中WebService服务的调用

    在VC++中调用WebService服务是一项常见的任务,尤其在跨平台通信、系统集成或扩展应用程序功能时。WebService是一种基于Web的、松耦合的服务,它使用标准的HTTP协议进行通信,并通过XML(eXtensible Markup Language...

    C#_.NET_动态调用webservice的三种方式

    C# _.NET_动态调用webservice的三种方式 在本文中,我们将讨论如何动态调用WebService的三种方式。在某些情况下,我们可能需要在程序运行期间动态调用一个未知的服务。这可以通过使用.NET Framework的System.Web....

    在WinForm程序中调用WebService

    在WinForm应用程序中调用WebService是一项常见的任务,它允许客户端应用程序与远程服务器上的服务进行交互,从而实现数据交换和功能扩展。以下是如何在WinForm中实现这一操作的详细步骤及涉及的相关知识点: 1. **...

    httpClient调用webservice接口

    ### 使用HttpClient调用WebService接口详解 #### 一、概述 在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,...

    .net调用webservice接口例子

    在.NET框架中,调用Web服务接口...总结来说,.NET调用Web Service接口涉及到添加服务引用、生成代理类、配置连接、调用方法以及异常处理等步骤。在实际项目中,开发者需要结合具体的业务需求和接口文档进行细致的操作。

    拼接xml调用webservice

    本主题的核心是"拼接XML调用WebService",这通常指的是通过构建XML字符串来构造请求,然后发送该请求到一个Web Service接口以获取响应。以下是对这个过程的详细解释: 1. **XML基础**:XML是一种结构化标记语言,它...

    在PB中如何调用WEBSERVICE

    在PB(PowerBuilder)中调用WebService是一种常见的技术操作,用于让PB应用程序与Web服务进行交互,实现数据的远程调用和交换。本篇将详细解释如何在PB中调用WebService,以及涉及到的相关知识点。 首先,理解...

    C#.NET_动态调用webservice的三种方式

    3. **通过反射机制调用WebService** #### 方法一:使用ServiceDescription与ServiceDescriptionImporter **步骤1:**从目标URL下载WSDL数据。 在.NET Framework中,我们可以使用`WebClient`类轻松地从远程服务器...

    解析及动态调用Webservice程序

    动态调用Webservice是指在运行时根据需要创建并执行Web服务的方法,无需预先编译或硬编码调用的详细信息。这种灵活性允许开发者在不完全了解服务接口的情况下使用服务,只需知道服务的URL和WSDL(Web服务描述语言)...

    C# 调用WebService的方法

    【C# 调用WebService的方法】 在.NET Framework的开发中,经常需要与其他系统或服务进行接口集成,其中一种常见的通信方式就是使用WebService。本文将详细介绍两种在C#中调用WebService的方法:静态引用和动态调用...

    VB.NET做的调用WebService的小程序

    3. **调用方法**:然后,可以通过代理类实例调用WebService提供的方法。例如,如果WebService有一个名为`GetWeather`的方法,可以这样调用:`Dim result As String = myWebService.GetWeather(city)` 4. **处理结果...

    VB6调用WebService

    3. **调用服务方法**:通过生成的客户端代理类,你可以像调用本地方法一样调用WebService的方法,传递参数并接收返回值。 4. **处理结果**:接收到WebService的响应后,根据数据类型解析返回结果,如XML或JSON,再...

    Java调用Webservice服务,简单实用

    4. **调用Web Service方法**:通过代理类的对象,你可以像调用本地方法一样调用Web Service的方法,传递必要的参数。 以调用天气预报服务为例,假设服务的WSDL地址为`http://example.com/weatherforecast.wsdl`,你...

    VC6调用WebService

    4. **编写调用代码**:在你的主程序中实例化代理类,然后调用对应的服务方法。这些方法通常接收XML格式的参数,并返回XML格式的结果。例如: ```cpp SoapClient client; client.connect("http://serviceurl"); //...

    客户端编程方式调用webservice

    总结一下,Java通过客户端编程方式调用WebService主要涉及理解WSDL,生成客户端代理类,实例化并调用服务,处理异常,以及关闭连接。这种通信方式使得不同平台、不同语言的应用程序能够无缝地进行数据交换,是企业级...

    labview调用webservice访问远程数据1

    LabVIEW 调用WebService 访问远程数据 在本篇文章中,我们将讨论如何使用 LabVIEW 调用 WebService 来访问远程数据。首先,我们需要了解为什么需要使用 WebService 来访问远程数据。传统的方法是使用链接字符串连接...

    .Net动态调用WebService

    在.NET框架中,动态调用WebService是一项常见的任务,它允许开发者在运行时根据需要与Web服务进行交互,而无需在编译时明确指定服务接口。这通常涉及到使用System.Web.Services.ProtocolsSoapHttpClientProtocol类...

    SQL Server调用WebService方法

    在SQL Server 2005中调用WebService方法是一种集成外部服务到数据库操作中的技术,这对于数据交互和扩展SQL Server的功能至关重要。以下将详细介绍如何实现这一功能,以及相关的知识点。 一、理解SQL Server与Web ...

Global site tag (gtag.js) - Google Analytics