我是webservice 菜鸟 我从网上 找了个方法
然后调用 http://developer.51cto.com/art/200908/147125.htm 这免费的webservice 服务 总是调不通
import javax.xml.namespace.QName;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;/**
* 测试
*
* @author lujc
*
*/
public class Axis2Client {
public static void main(String[] args) {
Axis2Client axis2Client = new Axis2Client();
axis2Client.add("北京");
} //调用axis2下HelloWorld服务的add操作
public int add(String city)
{
int sum=0;
//webService的调用地址
String srvcUrl = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
//操作的命名空间+“:”+操作名
QName qname = new QName("http://WebXml.com.cn/", "getWeatherbyCityName");
System.out.println("TTTTTTTTTTTTTTTTTT" + qname);
//传递的参数对象集
Object param[] = new Object[] {city};
try {
//实例化远程服务调用客户端对象
RPCServiceClient client = new RPCServiceClient();
//实例化Options对象
Options options = new Options();
//设置Options对象的连接终端地址
options.setTo(new EndpointReference(srvcUrl));
//设置Options对象的操作事件对象
options.setAction("urn:getWeatherbyCityName");
System.out.println("WWWWWWWWWWWWWW" + qname);
//为远程服务调用客户端对象设置Options子对象
client.setOptions(options);
//传递参数,调用服务,获取服务返回结果集
OMElement element = client.invokeBlocking(qname, param);
System.out.println("QQQQQQQQQQQQQQQQQQQQQQQQQQ" + qname);
//获取返回结果集中第一条结果的返回内容
String result=element.getFirstElement().getText();
//字符串转换为整型
//sum= Integer.parseInt(result);
System.out.println("SSSSSSSSSSSSSSSSS" + result);
}
//捕捉异常
catch (AxisFault e) {
e.printStackTrace();
}
//返回内容
return sum;
}
}
然后调用 http://developer.51cto.com/art/200908/147125.htm 这免费的webservice 服务 总是调不通
import javax.xml.namespace.QName;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;/**
* 测试
*
* @author lujc
*
*/
public class Axis2Client {
public static void main(String[] args) {
Axis2Client axis2Client = new Axis2Client();
axis2Client.add("北京");
} //调用axis2下HelloWorld服务的add操作
public int add(String city)
{
int sum=0;
//webService的调用地址
String srvcUrl = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
//操作的命名空间+“:”+操作名
QName qname = new QName("http://WebXml.com.cn/", "getWeatherbyCityName");
System.out.println("TTTTTTTTTTTTTTTTTT" + qname);
//传递的参数对象集
Object param[] = new Object[] {city};
try {
//实例化远程服务调用客户端对象
RPCServiceClient client = new RPCServiceClient();
//实例化Options对象
Options options = new Options();
//设置Options对象的连接终端地址
options.setTo(new EndpointReference(srvcUrl));
//设置Options对象的操作事件对象
options.setAction("urn:getWeatherbyCityName");
System.out.println("WWWWWWWWWWWWWW" + qname);
//为远程服务调用客户端对象设置Options子对象
client.setOptions(options);
//传递参数,调用服务,获取服务返回结果集
OMElement element = client.invokeBlocking(qname, param);
System.out.println("QQQQQQQQQQQQQQQQQQQQQQQQQQ" + qname);
//获取返回结果集中第一条结果的返回内容
String result=element.getFirstElement().getText();
//字符串转换为整型
//sum= Integer.parseInt(result);
System.out.println("SSSSSSSSSSSSSSSSS" + result);
}
//捕捉异常
catch (AxisFault e) {
e.printStackTrace();
}
//返回内容
return sum;
}
}
解决方案 »
- 谁用过 graphic2d ?怎么把图画到网页上去??
- 关于web打印组件ScriptX.cab的问题,急。
- jsp页中关于定义form时所使用的enctype="multipart/form-data"是什么意思?
- javabean中调用存储过程发生了问题,各位达人帮忙看看错误。
- 高分!applet的怎么调整大小,来适应浏览器窗口的尺寸
- javascript中怎么样调用javabean 或别的java代码呢
- 请问:这是出现下面这样的编译错误提示是什么问题,我应该怎么改?
- 如何在jsp中读文件(应该比较常用吧)
- 跪求ueditor1.4.3上传图片配置
- No bean named 'filterChainProxy' is defined
- 亟待解决
- 有Linux编码经验的进(乱码)
1. 检查是否能用浏览器访问:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl,正常的话应该会返回一个XML文件,是中国气象局的。
2. QName qname = new QName("http://WebXml.com.cn/", "getWeatherbyCityName");
定义命名空间的,它应该与步骤1返回的xml中的targetNamespace="http://WebXml.com.cn/"相对应。
3.可以判断该代码是用AXIS2实现的调用,请楼务必保证所引用的jar包齐全。如不确定,可以从官方网站下载AXIS2包,将jar包全部拷入,大概中有十几二十个吧。
4.如还不行,可以关掉防火墙试试。祝你好运