java xfire指定参数名_利用Xfire调用WebService(Java)

本文介绍如何通过Java的Xfire库调用WebService,并详细展示了如何指定参数。主要内容包括从qbldInterface.properties文件加载配置,通过Client对象调用dsjspcsqs方法并传递参数。此外,还提到了解决WstxEOFException错误的方法,即更改服务器端XML编码为GBK。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文中介绍如何根据一个webservice串来访问接口中的方法,至于如何建立webservice服务器请见本博客的另一篇文章:基于Java的WebService(XFire)。

开发的方法为:String dsjspcsqs(String args).

可以通过如下方法给testa传递数据。

package com.ysj;

import java.io.IOException;

import java.io.InputStream;

import java.net.URL;

import java.util.Properties;

import org.codehaus.xfire.client.Client;

public class TestProperties {

/**

* @param args

*/

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

new TestProperties().load();

}

public void load() throws Exception {

// 获得配置文件,qbldInterface.properties文件放在了src文件夹下

InputStream inputStream = this.getClass().getClassLoader()

.getResourceAsStream("qbldInterface.properties");

Properties p = new Properties();

try {

// 把配置文件载入Properties类

p.load(inputStream);

//System.out.println(p.getProperty("a"));

System.out.println(p.getProperty("qbptjk"));

String serviceUrl = p.getProperty("qbptjk");

// 如果不用读取文件的方法,可以把serviceUrl替换为http://172.16.225.170:8080/TT/services/QbldService?wsdl

Client c = new Client(new URL(serviceUrl));

/**

* invoke中的第一个参数为要调用的方法 String

* invoke中的第二个参数为要传递给该方法的参数 Object[]

* invoke的返回值是个Object[],接收远程方法的返回值

*/

Object[] result = c.invoke("dsjspcsqs", new String[] { "abc" });

System.out.println(result[0]);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

qbldInterface.properties文件如下 :

qbptjk=http://172.16.225.170:8080/TT/services/QbldService?wsdl

如果服务器端出现这个错误的解决办法:

com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog

把服务器端用到的xml编码改为GBK.(原来应该是UTF-8)

0

4

分享到:

2012-08-17 14:05

浏览 4627

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值