原文: http://www.blogjava.net/fuyujianxia/archive/2008/05/13/147870.html
前些天做了一个小系统用到webservice, 只有客户端 (外网的servcice), 公司的网络环境是采用代理上网.
走了好多弯路才调通, 现在分享一下, 希望能对在这方面感到困惑的朋友有一点帮助.
我采用的框架是axis2.
//options用来包容客户端的各种设置
Options options = new Options();
//设置地址
options.setTo(
new EndpointReference(address));
//设置服务端认证. , 开始的时候没有设host和domain, 认证通不过, 生成的http header 中也没有认证信息. 搞了好半天才发现必须设置主机和域名(服务器端的)
HttpTransportProperties.Authenticator auth=new HttpTransportProperties.Authenticator();
auth.setUsername("Administrator");
auth.setPassword("2222");
auth.setHost("test.xxx.com");
auth.setDomain("test.xxxx.com");
options.setProperty(HTTPConstants.AUTHENTICATE, auth);
options.setAction("Execute");
//必须设置http version为1.0, 这样客户端的代理属性才起作用.
options.setProperty(HTTPConstants.HTTP_PROTOCOL_VERSION,
HTTPConstants.HEADER_PROTOCOL_10);
//proxy settings
ProxyProperties proxyProperties=new ProxyProperties();
proxyProperties.setProxyName("PROXYSERVER");
proxyProperties.setProxyPort(8080);
proxyProperties.setUserName("luyanbo");
proxyProperties.setPassWord("sand");
proxyProperties.setDomain("sand.cn");
options.setProperty(HTTPConstants.PROXY, proxyProperties);
ServiceClient servicClient = new ServiceClient();
servicClient.setOptions(options);
//发送并接收
OMElement result = servicClient.sendReceive(getAuthXml());
用的过程中, 发现axis2的文档实在太粗略了, 很多不该省略的地方也省了, 像代理属性设置里面, http版本的设置就没有提到. 可能他们也是发扬风格. 怎么省事怎么来的吧
分享到:
相关推荐
本篇文章将详细介绍如何在Android环境中使用Ksoap2连接到Axis2服务,并且传递自定义类对象作为参数,以及如何处理XML响应。 **1. Android与Web服务通信基础** Android应用可以通过HTTP或HTTPS协议与Web服务进行通信...
- 在项目属性中设置项目名称、目标运行时(选择已配置好的Tomcat)、JRE系统库(选择已配置好的JRE)等。 **3.2 添加Axis2依赖** - 右键项目名称,选择`Build Path -> Configure Build Path`,添加`Libraries`选项...
这包括设置服务bean、指定服务类和配置服务的属性。 5. **依赖注入**:通过Spring的IoC容器,实现Web服务所需依赖的自动注入,如数据库连接池、业务逻辑组件等。 6. **服务的生命周期管理**:理解Spring如何控制...
4. 配置连接参数:如果Web服务需要身份验证或其他特定配置,你可能需要设置HTTP连接器或SOAP连接器的属性。 5. 调用Web服务:通过代理对象调用Web服务的方法,传入必要的参数,获取返回结果。 四、Java与Web服务的...
3. **下载Axis 2的jar包**:访问Apache官方网站或其他可信源下载所需的Axis 2 jar包,并将其添加到项目构建路径中。 4. **获取在线天气预报服务的WSDL文件**:根据文章描述,可以使用如下URL获取该服务的WSDL文件: ...
2. **生成客户端代理类**:使用Axis的`wsdl2java`工具,从Web Service的WSDL(Web Service描述语言)文件生成Java客户端代理类。这一步可以通过命令行或者Ant脚本完成。 3. **配置HTTPS**:在生成的客户端代码中,...
D3.js允许开发者完全控制坐标轴的外观,如改变线条颜色、字体大小、标签间距等,这可以通过CSS或在调用`axis`时直接设置属性来实现。 6. **响应式设计** 对于现代网页应用,响应式设计是必不可少的。D3.js的坐标...
3. **在Axis2中使用SSH连接器**:Axis2允许使用自定义传输协议,包括SSH。你需要编写一个SSH TransportReceiver和TransportSender实现,这两个类负责处理SSH连接的建立和关闭。 4. **配置Axis2服务**:在Axis2的...
在生成的Java代码中,可能需要设置一些连接属性,如URL、端口等,以指向正确的Webservice地址。 3. **创建服务代理对象**: 创建服务代理类的实例,这是与Webservice交互的入口点。 4. **调用Webservice方法**:...
配置WSDL属性**:设置目标命名空间和代码生成的基础信息。 - **D. WSDL设计与调整**:使用MyEclipse提供的WSDL设计器,定义SayHello操作,明确输入输出类型。 - **E. 查看WSDL源码**:通过源码视图检查SayHello Web...
2. 初始化stub:在代码中实例化stub,设置必要的属性,如服务地址。 3. 调用服务:通过stub上的方法调用远程Web服务,传递参数并接收返回值。 四、 示例 假设我们有一个名为`TestWS`的服务,其中包含一个方法`...
客户端通常会有一个`Service`类,一个对应于每个服务方法的`Port`类,以及用于设置连接属性和调用服务的辅助方法。 - **WebService**:这个文件可能包含了服务端的代码,如服务接口和其实现类。服务端通常需要一个...
- **实例化Stub类**:在Java程序中,实例化Stub类,并设置必要的属性,如服务URL。 - **调用服务方法**:通过Stub类的方法调用服务,传入参数并接收响应。 3. **TestClient.java详解**: - `TestClient.java`...
标题中的“Axis Neuron软件”是一款专为游戏引擎和虚拟现实应用设计的软件,它主要功能是连接Unity和诺易腾(NovAtel)的产品,实现两者之间的数据交互。诺易腾是一家知名的全球定位系统(GPS)和惯性导航系统(INS...
- **Axis**: 轴设置。 #### 三十九、MSComm的常用属性 - **Input**: 接收的数据。 - **Output**: 发送的数据。 - **Settings**: 串口设置。 - **InputMode**: 输入模式。 #### 四十、电子表格控件(MSFlexGrid)...
2. **连接机器人与外部轴**:通过“轴连接”功能,将机器人关节与外部轴关联,设定它们之间的运动关系。 3. **编程控制**:使用内置的编程语言或通过导入G代码,编写控制程序,让机器人和外部轴协同工作。例如,...
在Eclipse中,可以将axis2.war部署到Tomcat 5.5.17服务器上。war文件解压后的\WEB-INF目录中的内容应复制到你的应用的\WEB-INF目录,以便集成AXIS的库和配置。 简而言之,本文提供了使用AXIS开发Web Services,并...
在给定的代码中,使用了ChartType属性来设置图表类型为折线图,使用了Plot.Axis属性来设置坐标轴的参数,使用了SeriesCollection属性来设置图表系列的参数。 知识点4: 图表参数设置 在绘制图表时,需要设置图表的...
`removeAbandoned`和`removeAbandonedTimeout`以及`logAbandoned`选项则是为了防止连接被遗忘而设置的,它们可以帮助自动回收长时间未关闭的连接,并记录日志。 #### 3. 配置`web.xml` 为了让Web应用能够访问这些...
这可以通过设置`Flipable`的`duration`属性和`easing`属性来完成。此外,`Flipable`还可以与其他QML组件结合使用,如`Item`, `Column`, `Row`等,以构建更复杂的布局和交互。 总结来说,"QML翻转效果Demo"通过QML的...