axis客户端调试代码

axis客户端调试代码:

package com.hcj.axis2;

import java.rmi.RemoteException;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;

public class CopyOfHelloWorldTest2 {
	public String invokeRemoteFuc() {
        // 远程调用路径
        String endpoint = "http://localhost:8080/Hikvision/services/checkService?wsdl";
        String result = "call failed!";
        Service service = new Service();
        Call call;

        try {
            call = (Call) service.createCall();
            call.setTargetEndpointAddress(endpoint);
            // 设置命名空间调用的方法名
            /**
             * 这里的new QName的URL,就是要指向的命名空间的名称了,
             * 这个URL地址在你的wsdl打开后可以看到的,
             * 上面有写着<xs:schema xmlns:ax218="http://service.hcj.com/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://action.hcj.com">,
             * 找到targetNamespace,里面的值就是你的域名空间
             * <span style="color:#ff0000;">备注:可能你进行搜索的时候,会找到好多个targetNamespace,去查找<xs:element name="queryName">即你所要调用方法上面的那个<xs:schema标签里的targetNamespace</span>
             */
            call.setOperationName(new QName("http://action.hcj.com","queryName"));

            // 设置参数名
            call.addParameter("name",   // 参数名
                    XMLType.XSD_STRING, // 参数类型:String
                    ParameterMode.IN);  // 参数模式:'IN' or 'OUT'
            // 设置返回值类型
            call.setReturnType(XMLType.XSD_STRING); // 返回值类型:String
            String name = "abc2222";
            result = (String) call.invoke(new Object[] { name });// 远程调用
        } catch (ServiceException e) {
            e.printStackTrace();
        } catch (RemoteException e) {
            e.printStackTrace();
        }

        return result;
    }

    // 测试
    public static void main(String[] args) {
        CopyOfHelloWorldTest2 test = new CopyOfHelloWorldTest2();
        String result = test.invokeRemoteFuc();
        System.out.println(result);
    }
}

对应的action里的query方法为

public boolean queryName(String username){
		return userService.isUsernameExist(username);
	}

运行结果为:

运行通过

时间: 2024-10-11 21:39:38

axis客户端调试代码的相关文章

VS code调试代码快速上手必备知识

一.通过简单的配置运行一个JavaScript程序 1.打开(创建)一个新的工作空间(文件夹),并创建一个js文件: var name='world'; var s='Hello,${name}!'; console.log(s); 2.点击调试后会提示需要配置: 点击后会自动生成一个json配置文件,之后将默认启动文件名修改为你刚创建的文件名: Ctrl+S保存json配置文件,之后就可以调试(运行)你写的javascript程序来. 二.使用VS code调试代码的一些常识,launch.j

EAS客户端调试环境搭建

客户端调试环境搭建说明 适用场景:在现场跟踪问题或者在研发内部跟踪定位测试环境的问题时,开发人员需要快速搭建一个可供调试的环境以供分析问题,以下说明可供开发人员在需要时使用,注意该方式只支持客户端调试,服务端调试配置方式类似(链接远程jvm调试端口即可),但由于服务器不能随便启动停止,在现场应用客户端调试更为普遍一些. 环境要求 在进行以下工作前需要安装一个eclipse反编译插件,可以从网上下载. 安装完毕后注意配置以下参数设置: 详细配置 安装完毕接下来按照以下步骤配置环境即可 新建一个ja

Eclipse debug断点调试代码时出现source not found问题

偶尔调试代码的时候会出现这种事情,之前并没有特别注意,今天稍微搜集一下相关资料: 1.跳转到的代码的确没有源码,下载源码后选择源码位置后便会正常显示源码. 2.源码和class文件不一致.即便勾选了auto build选项,eclipse依然存在class没有实时编译的情况,致使我们当前的代码和编译的class文件不统一,导致debug断点时定位源码失败.此时只要重新build或是重新clean package一下就好了.

ios 使用xcode调试代码的时候进入断点显示变量全是nil,但NSLog输出那个变量却是有值的

解决办法:把1删掉 2选择debug模式 ios 使用xcode调试代码的时候进入断点显示变量全是nil,但NSLog输出那个变量却是有值的,布布扣,bubuko.com

myeclipse调试代码的时候看不到变量的值和jdk源码重新编译

Q:myeclipse调试代码的时候看不到变量的值? A: 调试的类的Class文件里没有包含LocalVariableTable属性表, 这是因为在编译时,编译者为了减少文件大小而不把属性表的信息放在Class文件中. 使用命令为javac -g>http://hllvm.group.iteye.com/group/topic/25798--解决方法:需要重新编译一份用于debug版的. Q:重新编译jdk源码,启用debug信息 >http://www.cnblogs.com/thecat

适合安卓手机网页客户端导航代码

安卓手机底部四五分页的导航都是比较漂亮的 今天直接给大家推荐这款代码,这样就省得每次自己写了 jQuery特效代码: 01<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 02<html xmlns="http://www.w3.org/1999/

C# WebSocket 服务端示例代码 + HTML5客户端示例代码

WebSocket服务端 C#示例代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Sockets; using System.Net; using System.Threading; using System.Text.RegularExpressions; using System.Security.Cryptography; na

分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容

分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容 在写JS的过程中,为了调试我们常常会 写很多 console.log.console.info.console.group.console.warn.console.error代码来查看JS 的运行情况,但发布时又因为IE不支持console,又要去掉这些代码,一不小心就会出错 问题的产生 在写JS的过程中,为了调试我们常常会写很多 console.log.console.info.console.group.console.

Keil MDK使用J-LINK分别在Sram,Nor Flash以及Sdram中调试代码的原理和方法

一.概述 MDK开发ARM裸机程序时,在调试阶段通常是先让程序在SDRAM中执行,以加快调试速度,也避免频繁烧写Nor Flash,因此需要知道如何指定程序在哪个位置执行.本文以realarm 2410开发板为例,进行描述.该开发板使用S3C2410A做为CPU,有2MB的 Nor Flash,以及64MB的SDRAM,4KB的SRAM.程序可直接在Nor Flash中调试和运行,如果代码小于4KB,也可以直接在SRAM中运行,然而在SDRAM 中运行,就需要事先用脚本初始化SDRAM,才能把程