`
alex8946
  • 浏览: 366376 次
  • 性别: Icon_minigender_1
  • 来自: 广东广州
社区版块
存档分类
最新评论

关于java调用.net webserivce出现: 服务器无法处理请求。 --> 未将对象引用设置到对象的实例

阅读更多

今天花了2个小时处理这个异常,使用了axis及soap方式都有问题,真的很奇怪,为什么都出现这种问题,基本上判断是.net服务器端出现问题,但是.net自己调用自己又没出现这个问题,最后的解决方案是将.net服务器端的namespace改成自己的,不使用默认的http://tempuri.org/,问题一下字解决了,我把我的代码出来,大家参考下,看了网上没有好的帖子说这方面的解决方案.

java 代码
java 代码
  1. package com.gztelecom.util;   
  2. import javax.xml.namespace.QName;    
  3. import org.apache.axis.client.*;   
  4.   
  5. public class WebServiceForCpOperate   
  6. {   
  7.     private final static String endpoint = "http://***.com/service/DzChkService.asmx";    
  8.   
  9.     public static boolean isValidCoupon(String couponid)   
  10.     {    
  11.       try    
  12.       {    
  13.        
  14.         Service service = new Service();    
  15.         Call call = (Call) service.createCall();    
  16.         call.setTargetEndpointAddress(new java.net.URL(endpoint));    
  17.        
  18.         call.setUseSOAPAction(true);    
  19.         call.setSOAPActionURI("http://***.com/service");    
  20.        
  21.         call.setOperation("CouponValidateSMS");    
  22.         call.setOperationName(new QName("http://***.com/service",    
  23.               "CouponValidateSMS"));    
  24.        
  25.           call.addParameter("couponid",    
  26.               org.apache.axis.Constants.XSD_STRING,    
  27.               javax.xml.rpc.ParameterMode.IN);    
  28.        
  29.           call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);    
  30.        
  31.           String k = (String) call.invoke(new Object[] { couponid });   
  32.            
  33.           if(k == null || k.trim().equals("null") || k.trim().length()<=0)   
  34.              return false;   
  35.              
  36.           //System.out.println(call.getResponseMessage().getSOAPPartAsString());   
  37.           return true;   
  38.         }    
  39.         catch (Exception ex)    
  40.         {    
  41.           ex.printStackTrace();    
  42.         }    
  43.         return false;   
  44.   }    
  45.   public static void main(String[] args)   
  46.   {   
  47.       System.out.println(isValidCoupon("142"));   
  48.   }   
  49. }   
分享到:
评论
1 楼 javaAlpha 2012-06-18  
我现在也是一直出现这样的错误。
也是java调用。net的接口

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---&gt; System.NullReferenceException: 未将对象引用设置到对象的实例。

相关推荐

    java调用.net webservice实例

    Java调用.NET WebService是跨平台通信的一种常见方式,尤其在企业级应用中,不同技术栈的应用需要相互交互数据时,这种技术尤为实用。Apache Axis是Java中常用的用于调用Web服务的工具,它提供了方便的API来创建和...

    java调用.net发布的webservice(asmx)

    本文将详细讲解如何使用Java调用.NET发布的Web Service(ASMX),并解决在此过程中可能出现的SOAPAction报错和“Server not identified”错误。 首先,我们需要了解ASMX。ASMX是.NET Framework早期版本中用于创建...

    asp.net通过WebService调用Java接口全过程

    总结来说,ASP.NET通过WebService调用Java接口的过程主要包括:部署Java WebService、在.NET项目中添加Web引用、配置项目设置、在代码中实例化并调用服务方法,以及理解背后涉及的SOAP和RMI通信机制。这个过程允许...

    java访问.net webservice获取与设置cookie

    在IT行业中,跨平台通信...总之,Java通过JAX-WS可以轻松地调用.NET Web服务。在处理涉及Cookie的会话时,关键在于正确设置请求头并解析响应头中的Cookie信息。了解这些机制有助于构建可靠、健壮的跨平台通信解决方案。

    android 调用.net webservice

    ### Android调用.NET WebService详解 #### 一、概述 在Android开发中,与服务器进行交互是必不可少的一个环节。常见的交互方式包括HTTP请求、RESTful API等,而WebService作为一种传统但依然广泛使用的通信协议,...

    java调用.NET的webservice源码

    Java调用.NET的Web服务(WebService)是一种跨平台、跨语言的通信方式,它允许不同技术栈的应用程序之间共享功能和服务。在这个场景中,Java应用作为客户端,通过HTTP协议调用由.NET框架构建的Web服务。本文将详细...

    java程序调用.net/c#的webservice

    总之,Java调用.NET/C#的Web服务是一个涉及网络通信、SOAP协议、类型转换等多个技术层面的过程,需要对Java和.NET平台都有一定的理解。正确配置和使用相关的工具库,可以有效地实现跨平台的通信。

    HttpURLConnection调用.net WebService

    在这个场景下,我们将探讨如何利用`HttpURLConnection`来调用.NET平台上的WebService服务。 **一、HttpURLConnection简介** `HttpURLConnection`是Java `java.net`包中的一个类,它提供了HTTP协议的连接、读写功能...

    Java访问.Net Webservice 通过httpclient SOAP实现

    4. **设置SOAP请求实体**:使用StringEntity或SoapEnvelope对象将构建的SOAP XML消息作为POST请求的实体内容。 5. **执行请求并处理响应**:通过HttpClient的execute方法发送请求,然后获取HttpRespose对象。从响应...

    java 调用https webservice实例及axis包

    这通常涉及到`javax.net.ssl.HttpsURLConnection`类的设置,例如设置`SSLSocketFactory`,处理证书问题。 4. **调用Web Service**:使用生成的客户端代理类,通过其方法调用Web Service。注意,由于是HTTPS,所以在...

    java调用.net写的Webservice.pdf

    Java调用.NET编写的Web服务主要是...总之,Java调用.NET Web服务是一个多步骤的过程,涉及生成客户端代理、设置请求参数、处理响应以及处理可能出现的问题。了解这些细节对于成功地集成两个不同平台的应用至关重要。

    java调用.net写的Webservice[归类].pdf

    总的来说,Java调用.NET WebService涉及的主要步骤包括:创建Service和Call对象,配置调用参数,设置SOAPAction,并执行调用。需要注意的是,跨平台通信可能会受到不同框架的实现差异影响,因此在遇到问题时,调整...

    asp.net webservice简单完整实例 vs2008

    1. **Web Service创建**:在VS2008中,你可以通过选择"File" &gt; "New" &gt; "Project",然后在项目模板中选择"ASP.NET Web Service Application"来创建一个新的Web服务项目。 2. **WebMethod**:这是Web服务的核心,它...

    Java调用php的webservice

    ### Java调用PHP的Webservice知识点详解 #### 一、Webservice简介 Webservice是一种用于不同应用程序之间进行通信的技术标准,通常使用XML作为数据交换格式。它可以被部署在不同的平台上,并且可以使用不同的编程...

    ajax异步调用webservice实例

    在服务器端,可能使用.NET、Java或其他支持WebService的平台来实现。 2. 客户端使用JavaScript编写AJAX调用代码,调用WebService的URL,发送请求,如: ```javascript var xhr = new XMLHttpRequest(); xhr.open('...

    Java使用SOAP获取webservice实例解析

    ### Java使用SOAP获取WebService实例解析 #### WebService简介 WebService是一种跨编程语言和操作系统平台的、在网络上进行数据交换的一种方式。它使用标准的Internet协议,如HTTP、XML、SOAP等来实现不同系统间的...

    Java调用WebService(客户端)

    【Java调用WebService客户端详解】 在Java开发中,有时我们需要从客户端调用远程的WebService服务以获取或传递数据。本文将详细介绍如何使用Java进行WebService客户端的调用,并提供HttpGet、HttpPost、HttpSoap...

    Android使用Soap库连接ASP.NET WebService客户端

    在Android开发中,有时我们需要与服务器进行数据交互,而ASP.NET WebService是一种常见的服务端技术,用于提供Web API。在这种场景下,Android客户端可以利用ksoap2-android库来调用这些服务。本篇将深入探讨如何...

    WebService实例

    【WebService实例】是Java WebService服务端开发的一个实践案例,主要展示了如何创建、部署和使用一个简单的WebService。在本文中,我们将深入探讨WebService的核心概念、Java WebService的实现技术以及如何进行服务...

Global site tag (gtag.js) - Google Analytics