`
yajie
  • 浏览: 212586 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

解决:java webservice调用net 参数返回NULL

阅读更多

      今天为了java webservice 为了调用NET,真是累死了,搞了整整一天.最后才搞定.唉,在网上搜了半天的资料,没有一个提供了正确的答案,都是抄来抄去的,或者高手们都太低调了,经验没有共享出来.!一想到花了一天的时间
搞这,心里真的不爽哦.不过开心的是,还是搞了出来.为了让以后学JAVA的朋友少找弯路,少花时间,我把心得写出来

JAVA 代码:

public static void main(String[] args) throws Exception {    
          String a = "a";
  
            String endpoint = "http://192.168.0.101/ttt/WebService1.asmx ";    
            // 创建一个服务(service)调用(call)    
            Service service = new Service();    
            Call call = (Call) service.createCall();// 通过service创建call对象    
            // 设置service所在URL    
            call.setTargetEndpointAddress(new java.net.URL(endpoint));  
      
            call.setOperationName(new QName("http://tempuri.org/ ","Add"));
            //Add 是net 那边的方法 "http://tempuri.org/ " 这个也要注意Namespace 的地址,不带也会报错
           call.addParameter(new QName("http://tempuri.org/ ","test"),
                   org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
           // 这就是我搞了一天的原因所在,"test" 这个就是传参数的变量,也就是NET方面的参数,一定不要带错了
            // 我当初不知道 ,以为这个参数是自己随便写的,结果总是报NULL,真是气死人了
            
            call.setUseSOAPAction(true);
            call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING); //返回参数的类型
            call.setSOAPActionURI("http://tempuri.org/ Add"); //这个也要注意 就是要加上要调用的方法Add,不然也会报错
            
            // Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)    
            String ret = (String) call.invoke(new Object[] {a});    
            System.out.println("--------"+ret);    
      
        }  
  

以下是NET代码,完全为大家服务

[WebService(Namespace = "http://tempuri.org/ ")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {
        [WebMethod]
        public string Add(string test)
        {
            test = test;
            return test;
        }
        

        [WebMethod]
        public string test()
        {
           string temp = "10";
            return temp;
        }
    }

1
2
分享到:
评论
1 楼 yunchow 2011-10-16  
其实就是soapAction的问题,设成空就可以了,没这么复杂

相关推荐

    C#调用JavaWebService

    但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string类型能正常传递参数外,q其他类型的参数不是默认值就是NULL,究其原因的C#...

    pb调用webservice提示参数为Null的解决办法

    其他开发工具调用都没问题,pb调用就提示参数为null,经过多方努力比较,此方法确实可行。

    Xfire调用webservice无法接收到参数问题解决

    标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收到传递的参数。这可能是由于多种原因引起的,如: 1. **XML序列化与反序列化问题**:...

    Java动态调用webService,axis2动态调用webService

    本文将深入探讨如何使用Axis2来动态地调用Web Service,并通过分析`WebServiceInvoker.java`这个文件来理解其实现原理。 1. **Java动态调用Web Service**: 在Java中,动态调用Web Service主要涉及到JAX-WS(Java ...

    httpClient调用webservice接口

    ### 使用HttpClient调用WebService接口详解 #### 一、概述 在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,...

    java webservice的发布以及调用

    ### Java WebService 的发布与调用 #### 一、前言 随着互联网技术的发展,不同系统之间的通信变得越来越重要。WebService作为一种重要的分布式计算技术,在跨平台、跨语言的服务交互方面发挥着重要作用。本文将详细...

    Java调用WebService(客户端)

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

    Java中如何通过https调用Webservice接口_测试环境.rar

    在Java开发中,HTTPS(Hypertext Transfer Protocol Secure)调用Web Service接口是常见的网络通信方式,主要用于确保数据传输的安全性。本主题将详细讲解如何在Java环境下通过HTTPS协议来安全地调用Web Service接口...

    Java使用SOAP获取webservice实例解析

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

    Java+Webservice调用方式详解

    ### Java+Webservice调用方式详解 #### 一、引言 随着互联网技术的发展与企业级应用需求的增长,Web服务(Webservice)作为一种基于XML的标准协议,在不同平台间实现服务互操作方面扮演着越来越重要的角色。Java...

    oracle调用webservice接口地址demo

    Oracle提供了`UTL_DBWS`包来支持数据库内的WebService调用。该包包含了一系列的过程和函数,用于创建服务、创建调用、设置参数等操作。 - **创建服务**:使用`create_service`函数创建一个服务对象。 - **创建调用*...

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

    在IT行业中,跨平台通信是常见的需求,Java和.NET之间的交互也不例外。本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的...

    模拟soapui调用webservice

    博客文章可能还涵盖了如何解析返回的SOAP响应,这通常涉及XML解析库,如Java的JAXB或DOM,或者Python的ElementTree。解析响应后,开发者可以提取所需的数据并进行进一步处理。 总的来说,“模拟soapui调用...

    使用Http post的方式调用webservice

    在调用WebService时,POST方法可以承载请求参数,将其封装在请求体中发送到服务端。 1. **构建HTTP请求** 在Java中,可以使用`java.net.URL`、`java.net.HttpURLConnection`或第三方库如Apache HttpClient来构建...

    nodejs和Java调用webservice接口总结.docx

    ### Node.js 和 Java 调用 WebService 接口总结 #### 一、Java 实现方式 在 Java 中,调用 WebService 接口通常涉及使用 Apache CXF 或其他类似的库来生成客户端代码并进行调用。以下是具体的步骤: ##### 1. ...

    Java开发WebService实例

    ### Java开发WebService实例详解 在IT领域,尤其是企业级应用开发中,WebService作为一种标准化的、跨平台的服务交互方式,被广泛应用于系统间的数据交换与服务调用。本文将基于给定的“Java开发WebService实例”...

    Java Webservice Axis2 Client(含soapheader验证)

    总之,Java Webservice Axis2 Client的开发涉及到生成客户端代码、设置SOAP Header、调用服务和处理响应等多个步骤。了解这些概念和API对于构建安全、可靠的Web服务客户端至关重要。在实际项目中,确保遵循最佳实践...

    通过JAVA调用NetWeaver的WebService.doc

    本文档详细阐述了如何通过Java编程语言调用SAP NetWeaver上的WebService。SAP NetWeaver是一个集成的应用平台,它支持多种技术栈,包括用于Web服务的开发和调用。主要介绍了两种方法:使用Apache Axis和SAP ...

    java调用webservice .

    ### Java调用WebService知识点 #### 一、概述 在现代软件开发中,Web服务作为一种重要的技术手段被广泛应用,尤其在企业级应用中更是不可或缺的一部分。Java作为一种主流的编程语言之一,在调用Web服务方面有着...

    java调用webservice接口方法.docx

    Java调用WebService接口是开发中常见的一种跨平台通信方式,主要通过SOAP(Simple Object Access Protocol)协议进行数据交换。在本篇文章中,我们将探讨如何在Java中调用基于WSDL(Web Service Description ...

Global site tag (gtag.js) - Google Analytics