0 0

通过jquery调用Axis2 WebService,在IE上返回正确结果,但在Firefox和Chrome上却返回错误,附简单代码,求解!10

我在同一机器上面部署了tomcat和websphere。
客户端放在了tomcat上,webservice部署在websphere上。
通过IE测试,结果正常返回,进入jquery的success代码块中,弹出消息:
success la:
result1:hello Xiao Ming

但用Firefox和Chrome测试,程序进入了jquery的error代码块中,弹出错误信息:
error la
XMLHttpRequest.state:function{return 3},
XMLHttpRequest.readyState:0,
textStatus:error,
XMLHttpRequest.responseText:

客户端代码html 调用webservice的代码片段如下:

$('#callwebserviceId').click(function() {
	  
		$.ajax({  
		url: 'http://localhost:9081/xxx/RetriveHelloWordService?wsdl/sayHello',
        type: 'post',
		dataType: 'xml',
		data: populateXML(),
        contentType: 'text/xml;charset="utf-8"', 
		
                success:function(zz){         
                    alert("success la:");
					alert("result1:"+$(zz).text());
                },
				error: function(XMLHttpRequest, textStatus) {
						alert("error la");
                        alert("XMLHttpRequest.state:"+XMLHttpRequest.state+"-XMLHttpRequest.readyState:"+XMLHttpRequest.readyState+"-textStatus:"+textStatus+"-XMLHttpRequest.responseText:"+XMLHttpRequest.responseText);
                }
			});
    });


function populateXML(){
		var xmlData="<soapenv:Envelope xmlns:q0=\"http://action.test.com/\" xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><soapenv:Body><tns:sayHello xmlns:tns=\"http://action.test.com/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://action.test.com/ RetriveHelloWordService_schema1.xsd \"><arg0> Xiao Ming</arg0></tns:sayHello></soapenv:Body></soapenv:Envelope>";
		
		alert(xmlData);
		return xmlData;
		
	}



服务器端的webservice 服务类
package com.test.action;

public class RetriveHelloWord {
	public String sayHello(String name){
		System.out.println("got message:"+name);
		return "hello"+name;
	}
}




响应了wsdl文件:
<?xml version="1.0" encoding="UTF-8"?><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI IBM 2.2.1-11/30/2010 12:42 PM(foreman)-. --><definitions name="RetriveHelloWordService" targetNamespace="http://action.test.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://action.test.com/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <types>
    <xsd:schema>
      <xsd:import namespace="http://action.test.com/" schemaLocation="RetriveHelloWordService_schema1.xsd"/>
    </xsd:schema>
  </types>
  <message name="sayHello">
    <part element="tns:sayHello" name="parameters"/>
  </message>
  <message name="sayHelloResponse">
    <part element="tns:sayHelloResponse" name="parameters"/>
  </message>
  <portType name="RetriveHelloWordDelegate">
    <operation name="sayHello">
      <input message="tns:sayHello" wsam:Action="http://action.test.com/RetriveHelloWordDelegate/sayHelloRequest"/>
      <output message="tns:sayHelloResponse" wsam:Action="http://action.test.com/RetriveHelloWordDelegate/sayHelloResponse"/>
    </operation>
  </portType>
  <binding name="RetriveHelloWordPortBinding" type="tns:RetriveHelloWordDelegate">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="sayHello">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="RetriveHelloWordService">
    <port binding="tns:RetriveHelloWordPortBinding" name="RetriveHelloWordPort">
      <soap:address location="http://localhost:9081/xxx/RetriveHelloWordService"/>
    </port>
  </service>
</definitions>


感觉这是webservice ajax 或者是 jquery对浏览器不兼容造成的,有谁知道?谢谢!
问题补充
没人知道吗?

问题补充:IE版本:9
FireFox版本:17.0.5
Chrome版本: 26.0.1410.64 m

1个答案 按时间排序 按投票排序

0 0

我也遇到同样的问题,希望楼主解决后,能发布一下答案,谢啦。

2013年8月02日 11:33

相关推荐

    axis2发布webservice和调用axis2服务接口

    1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web服务接口。这个类通常会遵循SOAP协议,定义服务操作。例如,你可以创建一个名为`HelloWorldService`的类,包含一个`sayHello`...

    java 通过axis调用天气预报的webservice

    标题中的“Java通过Axis调用天气预报的WebService”是指使用Java编程语言,通过Apache Axis库来访问和使用公开的天气预报Web服务。Apache Axis是一个开放源码的SOAP(简单对象访问协议)工具包,它允许开发者创建和...

    AXIS2远程调用WebService示例(Eclipse+AXIS2)工具和所用包.rar

    AXIS2远程调用WebService是Java开发者在进行分布式服务交互时常用的一种技术。本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这...

    Android axis调用Webservice

    总结,Android利用Axis2调用Web Service涉及服务端接口设计、客户端代码实现、网络请求和数据解析等多个环节。了解这些知识点有助于构建稳定可靠的跨平台通信。在实际开发中,还需要考虑错误处理、性能优化以及安全...

    axis2webservice接口例子

    标题中的“axis2webservice接口例子”指的是使用Apache Axis2框架创建的一个Web服务接口实例。Apache Axis2是Java平台上的一款强大的Web服务开发工具,它提供了高效、灵活且可扩展的环境来构建和部署Web服务。这个...

    axis2客户端调用webService接口,精简jar包

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而Axis2是Apache软件基金会开发的一个Web服务框架,专门用于创建和消费Web服务。本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注...

    Axis2WebService 源码

    11. **代码第一(Code First)和WSDL First**:Axis2支持两种开发模式,即根据已有代码生成WSDL(Code First)和根据WSDL生成代码(WSDL First)。 12. **SOAP版本支持**:Axis2支持SOAP 1.1和1.2,能够处理不同...

    Spring集成axis2实现webservice所用到的包

    通过整合Spring和Axis2,我们可以利用Spring的依赖注入(DI)和管理功能,同时享受Axis2的高性能和易用性。 集成Spring和Axis2的过程大致分为以下几个步骤: 1. **配置Axis2**:在Spring项目中,首先需要将Axis2的...

    AXIS2作为客户端调用webService的demo

    用AXIS2作为客户端调用webService的demo:本人亲测可用,eclipse工程java项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。

    axis2调用webservice接口jar包

    2. **创建Stub**:调用WebService接口通常需要通过Stub(代理类)进行,这可以通过Axis2的wsdl2java工具生成。该工具会根据WebService的WSDL(Web Service Description Language)文件生成Java客户端代码。在命令行...

    axis2 webService 详细教程

    【标题】"Axis2 WebService 详细教程"涵盖了在Java环境中使用Apache Axis2框架创建、部署和使用Web服务的核心概念和技术。Apache Axis2是Apache软件基金会开发的一个强大的Web服务引擎,它提供了高度优化的Web服务...

    详解axis调用webservice实例

    标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...

    Java+Axis2调用Web Services 网络接口

    Java和Axis2是开发Web服务客户端的重要工具,用于调用基于SOAP协议的Web服务。本文将深入探讨如何利用Java和Axis2库来实现这一功能,同时结合提供的代码示例进行详细解析。 首先,Web服务是一种通过网络进行通信的...

    java调用webservice的axis2.jar包

    Java调用WebService是Web服务交互的一种常见方式,而Axis2是一个高效的、可扩展的Web服务框架,它在Java世界中广泛用于创建和消费Web服务。本文将深入探讨使用Axis2.jar包来调用WebService的相关知识点。 一、Axis2...

    java axis 调用webservice服务端

    Java Axis调用WebService服务端是Java开发者在进行分布式系统交互时常见的一种技术实践。Axis是Apache软件基金会开发的一个开源项目,它提供了一种方便、高效的方式,使得Java应用程序能够作为客户端来消费或作为...

    使用axis轻松调用Webservice

    标题“使用axis轻松调用Webservice”涉及到的是在IT领域中如何通过Apache Axis工具来便捷地与Web服务进行交互。Apache Axis是一个开放源代码的Java框架,它允许开发者创建、部署和使用Web服务。这个标题暗示了我们将...

    axis2+spring webservice

    描述中提到的“简单例子:axis2整合spring发布webservice”,意味着我们将学习如何将这两个框架结合,以便通过Spring来管理和控制Web服务的生命周期,同时利用Axis2的Web服务处理能力。此外,“以及session的管理”...

    axis2例子 webservice axis2 示例

    axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例

    axis调用webservice实例,包含jar包

    标题中的“axis调用webservice实例”涉及到的是在Java开发中使用Apache Axis库来调用Web服务的过程。Apache Axis是一个开放源代码的SOAP栈,它允许开发者创建和部署Web服务,同时也提供了客户端工具来调用这些服务。...

Global site tag (gtag.js) - Google Analytics