利用axis2调用带用户名和密码的webservice接口实例(java)

因工作需要,需要调用合作公司的一些接口方法。调了一下午才调通,记下来,以作备忘,不废话,直接代码。

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class OrderProcessClient {

        public static int getRes(String user,String pwd,String orderNo,String xmlStr){
                try {

                    //xml地址(wsdl结尾)
                    String endpoint = "http://wcf.v-grow.com/eTrade/OrderProcess.svc?wsdl";

                    Service service = new Service();
                    Call call = (Call) service.createCall();
                    //用户名密码验证
                    call.setUsername(user);
                    call.setPassword(pwd);
                    //call.getMessageContext().setUsername(user);
                    //call.getMessageContext().setPassword(pwd);    

                    call.setTargetEndpointAddress(endpoint);
                    //a:首行targetNamespace值  b:调用方法名
                    call.setOperationName(new QName("http://tempuri.org/","Accept"));
                    call.setUseSOAPAction(true);
                    //所调用方法里面的wsdl:input wsaw:Action值
                    call.setSOAPActionURI("http://tempuri.org/IOrderProcess/Accept"); 

                    //a:首行targetNamespace值  b:参数名,必须与.net设置的参数名相同
                    call.addParameter(new QName("http://tempuri.org/", "msgId"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.OUT);//接口的参数
                    call.addParameter(new QName("http://tempuri.org/", "orderNo"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);//接口的参数
                    call.addParameter(new QName("http://tempuri.org/", "xmlStr"), org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);//接口的参数

                  //设置返回类型
                    call.setReturnType(org.apache.axis.encoding.XMLType.XSD_INT);

                    //给方法传递参数,并且调用方法
                    int i = (Integer)call.invoke(new Object[]{orderNo,xmlStr});
                    return i;
             }
             catch (Exception e) {
                    e.printStackTrace();
             }
             return 2;
        }

        public static void main(String[] args) {
              String user = "username";
              String pwd  = "password";
              String orderNo = "123";
              StringBuilder xmlString = new StringBuilder();
              xmlString.append("<Order orderid='123456'/>");
              System.out.println(getRes(user,pwd,orderNo,xmlString.toString()));
        }
}

jar包下载地址:http://download.csdn.net/detail/xlb744868186/8410873

时间: 2024-10-10 17:08:24

利用axis2调用带用户名和密码的webservice接口实例(java)的相关文章

C# 利用VS自带的WSDL工具生成WebService服务类

C# 利用VS自带的WSDL工具生成WebService服务类 wsdl /language:c# /n:空间名 /out:D:/类名 webService接口地址

Web后端语言模拟http请求(带用户名和密码)实例代码大全

RESTful API是目前比较成熟的一套互联网应用程序的API设计理论.而随着RESTful API的成熟和流行,应用开发方面就需要以模拟http请求的方式来调用RESTful API接口:经过一段时间的IBM的云平台Blumemix的学习及语言翻译服务的应用,积累了Java.ASP.NET.Nodejs.Go.PHP.Python.Ruby等语言调用Rest API的方法,这里整理到一起,和大家分享一下. 有关RESTful API请参考:理解RESTful架构,RESTful API 设计

Java调用WebService 接口 实例

这里给大家介绍一下,Java调用webservice的一个实例的过程. 本项目不能运行,因为接口地址不可用. 这里只是给大家介绍一个过程,同时留作自己的笔记.如果要学习,可以参照别人的实例.比较好. ①选择项目根目录的src ,右键,new --> webservice client 然后输入地址: http://172.18.100.52:456/hello?wsdl 必须要加wsdl结尾,这样才是一个webservice的接口. finlish.这时候刷新项目.可以看到项目下/src/com

php调用webservice接口,java代码接收不到参数

前段时间做了一个项目的二次开发,有个功能是需要php调用java实现的webservice接口,并传递一些参数给接口,然后按照对方提供的接口说明文档进行传参调用,java那边有接收到请求,但是参数总是为null,部分代码如下: 1 $client = new SoapClient ($this->webServiceUrl); 2 $client->soap_defencoding = 'utf-8'; 3 $client->xml_encoding = 'utf-8'; 4 $para

C#调用Axis2发布的带SoapHeader用户验证的WebService

起因: 合作公司提供了一个WebService供我调用,为了保证安全性,要求在SoapHeader中带用户名和密码进行校验. 在获取了对方的WSDL文件后,并未在文件中指明SoapHeader的格式以及要传递的用户名.密码的属性名称.按照C#中调用WebService的常规方法,在测试工程中“添加Web引用”或“添加服务引用”,只看到生成的*.discomap 和 *.wsdl 两个文件,并未找到生成的 *.cs 类文件,但在测试代码中可以直接调用WebService,未要求身份校验的服务方法可

Selenium + Chrome Diver使用带用户名密码认证的HTTP代理的方法

默认情况下,Chrome的--proxy-server="http://ip:port"参数不支持设置用户名和密码认证.这样就使得"Selenium + Chrome Driver"无法使用HTTP Basic Authentication的HTTP代理.一种变通的方式就是采用IP地址认证,但在国内网络环境下,大多数用户都采用ADSL形式网络接入,IP是变化的,也无法采用IP地址绑定认证.因此迫切需要找到一种让Chrome自动实现HTTP代理用户名密码认证的方案.

利用wireshark抓取Telnet的用户名和密码

使用wireshark抓取Telnet   目标ip地址(telnet  192.168.88.1 ) 1,首先打开wireshark,然后选择网卡,点击开始. 2,为了在filter中输入telnet 或者输入(ip.dst == 目标ip地址 and  tcp.port== 23). 3,看下面的数据包,找到telnet  并且能够看到data:\r\n:如下图 4,接下来再看下面的数据包,就能看到明文用户名和密码了.如下图 这时候你就可以看到明文用户名的首字母x了,继续看下去你可以找到后面

c# 调用mysql数据库验证用户名和密码

使用mysql数据库验证用户名和密码时,如果用户名是中文,一直查不到数据 需要把app.config 中修改为 数据库统一设置utf8编码格式,连接数据库的时候设置编码Charset=utf8可以避免,例如:string connectiontext = "Server=139.222.313.153;Database=testsys;User=root;Password=1123456;Charset=utf8;"; 这样就调试OK 原文地址:https://www.cnblogs.

mongodb 权限设置--用户名、密码、端口

一.关于权限的默认配置 在默认情况下,mongod是监听在0.0.0.0之上的,任何客户端都可以直接连接27017,且没有认证.这样做的好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱.然而坏处也是显而易见,如果直接在公网服务器上如此搭建MongoDB,那么所有人都可以直接访问并修改数据库数据了. 默认情况下,mongod也是没有管理员账户的.因此除非你在admin数据库中使用db.addUser()命令添加了管理员帐号,且使用–auth参数启动mongod,否则在数据库中任何人都可以无