一、环境:
     javasrcipt 和 基础的XMLHttpRequest。 二、目的:
     调用XFire发布的webservice,其路径为:http://localhost:8181/XFire/services/helloworldservice?wsdl(可以访问到)。得到结果返回的是json格式。 三、具体过程:
     var XHR = new window.XMLHttpRequest();
     //问题可能是url构造的有问题.
     var _wbSrvUrl="http://localhost:8181/XFire/services/helloworldservice/hello";
     XHR.open("POST", _wbSrvUrl, false);
     XHR.setRequestHeader("Content-Type", "application/json; charset=utf-8");
     XHR.send(name='wang');     总是抱“Internal Server Error” .请问如何使用基础的XMLHttpRequest调用webservice,并返回json格式? 谢谢

解决方案 »

  1.   

    XHR.send(name='wang');=>XHR.send('name=wang');
      

  2.   

    不好意思是笔误,程序中是"name='wang'".
      

  3.   

    用js 调用xfire发布的webservice 数据格式可以是json的吗?
     
    xfire框架是基于soap的。网上介绍的大部分都用soap格式。难道xfire的webservice只能用soap格式吗? 
      

  4.   

    是 "name=wang" or 'name=wang'
      

  5.   

     谢谢关注。
     
     webservice的name 为string类型。
     可以正常访问到:http://localhost:8181/XFire/services/helloworldservice?wsdl
     最后的回调函数 status=404。
      

  6.   

    status=404是资源未找到你改变 url 试下
      

  7.   

    现在用soap的格式可以了。就不知道XFire支持json吗?
      

  8.   

    这两个就不是一会事儿吧,XMLHttpRequest发起的是http请求,而调用WebService用的不是http请求,如何到的到。应该是要用别的方式,以前见过JS掉WebService不过他用的Flash的API。
      

  9.   

    找了很多,介绍的xfire 好像暂时只能是soap格式通信。
    那就是用soap吧,在websevice端将对象数据转为string,在客户端解析吧。谢谢大家的关注和意见,结贴!