qname webservice 参数(如何在客户端控制webservice调用的timeout)

:暂无数据 2026-07-05 08:50:06 1

qname webservice 参数(如何在客户端控制webservice调用的timeout)

今天给各位分享如何在客户端控制webservice调用的timeout的知识,其中也会对如何在客户端控制webservice调用的timeout进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录

如何在客户端控制webservice调用的timeout

  1,在CXF生成的stub的客户端,方式如下(CXF2.1.1):
  SimpleServiceService srv = new SimpleServiceService();
  SimpleService servicePort = srv.getSimpleServicePort();
  //timeout setting
  Client cl = ClientProxy.getClient(servicePort);
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
  servicePort.concatenate("111", "2222");
  其中SimpleServiceService是自动生成的stub类.
  2,在Xfire生成的stub的客户端,方式如下(Xfire1.26):
  SimpleServiceServiceClient serviceClient= new SimpleServiceServiceClient();
  SimpleService servicePort = serviceClient.getSimpleServicePort();
  HttpClientParams params = new HttpClientParams();
  params.setParameter(HttpClientParams.USE_EXPECT_CONTINUE, Boolean.FALSE);
  // set connection timeout
  params.setParameter(HttpClientParams.CONNECTION_MANAGER_TIMEOUT, 2L);
  //set response timeout
  params.setIntParameter(HttpClientParams.SO_TIMEOUT,2);
  Client client = Client.getInstance(servicePort);
  client.setProperty(CommonsHttpMessageSender.HTTP_CLIENT_PARAMS, params);
  System.out.println(servicePort.concatenate("xfire1", "xfire2"));
  其中SimpleServiceServiceClient 是自动生成的stub类.
***隐藏网址***
***隐藏网址***
  URL wsdlURL = new URL("file:///D:/JAVAWorkspace/Repository/prjCXFWS/src/wsdl/prjCXFWS.wsdl");
  QName serviceQName = new QName("test.cxfws.com/", "SimpleServiceService");
  QName portQName = new QName("test.cxfws.com/", "SimpleServicePort");
  Service service = Service.create(wsdlURL, serviceQName);
  //set handler
  service.setHandlerResolver(new RequestOrderHandlerResolver());
  SimpleService port = (SimpleService) service.getPort(portQName, SimpleService.class);
  //timeout setting
  Client cl = ClientProxy.getClient(port);
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
  System.out.println(port.concatenate("srt1", "srt2"));
  4,jax-Dispatch,在网上搜索到有人说用以下方式:试了一下不好用.
  dispatch.getRequestContext().put("com.sun.xml.ws.request.timeout", 1000);

调用webservice接口参数可以传入实体类吗

java调用.net写的webservice 传入实体类作为参数
/// 《summary》
/// 添加windows用户
/// 《/summary》
/// 《param name="ldapDN"》单元名称《/param》
/// 《param name="user"》用户对象《/param》
/// 《param name="group"》所属组《/param》
/// 《param name="de"》连接对象《/param》
public static string AddUser(string ldapDN, UsersInfo user, string group, string path, string name, string pwd)
{

DirectoryEntry de = GetFirectoryObject(path, name, pwd); //连接
DirectoryEntry subEntry = de.Children.Find("CN=" + ldapDN); //查找User单元
DirectoryEntry NewUser = subEntry.Children.Add("cn=" + user.UserPrincipalName, "user");
SetProperty(NewUser, "Description", user.Description);//描述
SetProperty(NewUser, "sn", user.SN); //姓
SetProperty(NewUser, "employeeID", user.EmployeeID);
SetProperty(NewUser, "givenname", user.GivenName); //名
SetProperty(NewUser, "initials", user.Initials); //英文缩写
SetProperty(NewUser, "displayName", user.displayName); //显示名称
SetProperty(NewUser, "physicalDeliveryOfficeName", user.PhysicalDeliveryOfficeName); //办公室地址
SetProperty(NewUser, "telephoneNumber", user.telephoneNumber); //办公室电话
SetProperty(NewUser, "otherTelephone", user.otherTelephone); //其他电话
SetProperty(NewUser, "C", user.C); //国家/地区
SetProperty(NewUser, "St", user.St); //省/自治区
SetProperty(NewUser, "L", user.L); //市/县
SetProperty(NewUser, "streetAddress", user.StreetAddress); //街道
SetProperty(NewUser, "postOfficeBox", user.PostOfficeBox); //邮政信箱
SetProperty(NewUser, "postalCode", user.PostalCode); //邮政编码
SetProperty(NewUser, "userPrincipalName", user.UserPrincipalName); //用户登录名
// SetProperty(NewUser, "logonHours",DateTime.Now.ToString()); //登录时间
SetProperty(NewUser, "accountExpires", user.AccountExpires); //账户过期
SetProperty(NewUser, "mail", user.Mail); //寻呼机
SetProperty(NewUser, "Pager", user.Pager); //寻呼机
SetProperty(NewUser, "mobile", user.Mobile); //移动电话
SetProperty(NewUser, "FacsimileTelephoneNumber", user.FacsimileTelephoneNumber); //传真
SetProperty(NewUser, "ipPhone", user.IpPhone); //IP电话
SetProperty(NewUser, "wWWHomePage", user.WWWHomePage); //网页
SetProperty(NewUser, "Info", user.Info); //注释
SetProperty(NewUser, "Title", user.Title); //职务
SetProperty(NewUser, "Department", user.Department); //部门
SetProperty(NewUser, "Company", user.Company); //公司
SetProperty(NewUser, "sAMAccountName", user.sAMAccountName); //登录名称曾用名
NewUser.CommitChanges();
NewUser.Properties.Add(user.UserPassWord);
NewUser.CommitChanges();
NewUser.Invoke("SetPassword", new object { user.UserPassWord });
NewUser.CommitChanges();
AddGroupUser(group, user.UserPrincipalName, de); //将用户添加到组
EnableAccount(NewUser);
return "已将用户" + ldapDN + "添加到组";
}
以下是服务端xml
POST /OperationAD.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
***隐藏网址***
《?xml version="1.0" encoding="utf-8"?》
***隐藏网址***
《soap:Body》
***隐藏网址***
《ldapDN》string《/ldapDN》
《user》
《EmployeeID》string《/EmployeeID》
《Description》string《/Description》
《SN》string《/SN》
《GivenName》string《/GivenName》
《Initials》string《/Initials》
《displayName》string《/displayName》
《PhysicalDeliveryOfficeName》string《/PhysicalDeliveryOfficeName》
《telephoneNumber》string《/telephoneNumber》
《otherTelephone》string《/otherTelephone》
《C》string《/C》
《St》string《/St》
《L》string《/L》
《StreetAddress》string《/StreetAddress》
《PostOfficeBox》string《/PostOfficeBox》
《PostalCode》string《/PostalCode》
《UserPrincipalName》string《/UserPrincipalName》
《sAMAccountName》string《/sAMAccountName》
《UserPassWord》string《/UserPassWord》
《Pager》string《/Pager》
《Mobile》string《/Mobile》
《Mail》string《/Mail》
《FacsimileTelephoneNumber》string《/FacsimileTelephoneNumber》
《IpPhone》string《/IpPhone》
《Info》string《/Info》
《WWWHomePage》string《/WWWHomePage》
《AccountExpires》string《/AccountExpires》
《Title》string《/Title》
《Department》string《/Department》
《Company》string《/Company》
《/user》
《group》string《/group》
《path》string《/path》
《name》string《/name》
《pwd》string《/pwd》
《/AddUser》
《/soap:Body》
《/soap:Envelope》
java 客户端测试代码
package webservice;
import org.apache.axis.client.Service;
import org.apache.axis.client.Call;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
public class TestAxisClient {
public static void main(String args) {
// TODO Auto-generated method stub
try {
// webserviceURL
***隐藏网址***
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
/**
QName qn = new QName("user");
call.registerTypeMapping(UsersInfo.class, qn,
new BeanSerializerFactory(UsersInfo.class, qn)
, new BeanDeserializerFactory(UsersInfo.class, qn));
注册 bean
UsersInfo user = new UsersInfo();
user.C="sda";
user.Company="xiaosdfna";
user.Info="sdfajsodfji";
user.setInfo("sdafsdf");
*/
// 设置要调用的方法
***隐藏网址***
//该方法需要的参数
***隐藏网址***
org.apache.axis.Constants.XSD_STRING,
ParameterMode.IN);

//此处缺少一个实体类参数
***隐藏网址***
org.apache.axis.Constants.XSD_STRING,UsersInfo.class,
ParameterMode.IN);
call.registerTypeMapping(UsersInfo.class,qx,new BeanSerializerFactory(UsersInfo.class, qx),new BeanDeserializerFactory(UsersInfo.class, qx));
***隐藏网址***
org.apache.axis.Constants.XSD_STRING,
ParameterMode.IN);*/
***隐藏网址***
org.apache.axis.Constants.XSD_STRING,
ParameterMode.IN);
***隐藏网址***
org.apache.axis.Constants.XSD_STRING,
ParameterMode.IN);
***隐藏网址***
org.apache.axis.Constants.XSD_STRING,
ParameterMode.IN);

call.setReturnClass(UsersInfo.class);
// 方法的返回值类型
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
call.setUseSOAPAction(true);
***隐藏网址***
// 调用该方法,
String ret = (String)call.invoke(new Object { "22",user,"23","22","12","23"});
System.out.println("Successful = " + ret);

} catch (Exception e) {
System.err.println(e.toString());
}

}
}

文章分享结束,qname webservice 参数和如何在客户端控制webservice调用的timeout的答案你都知道了吗?欢迎再次光临本站哦!

qname webservice 参数(如何在客户端控制webservice调用的timeout)

本文编辑:admin

更多文章:


全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)

全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)

大家好,关于全球新冠肺炎疫情背景下航运发展很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决

2026年9月7日 17:10

matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)

matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)

大家好,关于matlab求解带字母参数方程组很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数的知识点,相信应该可以解决大家的一些困惑和问题,

2026年9月7日 16:30

oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)

oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)

本篇文章给大家谈谈oracle中的循环语句,以及下面哪个不是oracle程序设计中的循环语句 a for对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月7日 15:30

多表查询怎么做(Excel技巧:如何多表同步筛选)

多表查询怎么做(Excel技巧:如何多表同步筛选)

各位老铁们好,相信很多人对多表查询怎么做都不是特别的了解,因此呢,今天就来为大家分享下关于多表查询怎么做以及Excel技巧:如何多表同步筛选的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年9月7日 15:10

服装店网站网页设计(服装网站建设目标设计要看甲方)

服装店网站网页设计(服装网站建设目标设计要看甲方)

“服装店网站网页设计”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看服装店网站网页设计(服装网站建设目标设计要看甲方)!

2026年9月7日 14:10

电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)

电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)

大家好,电脑里2个系统怎么删除一个相信很多的网友都不是很明白,包括电脑开机显示有两个系统,如何删除一个也是一样,不过没有关系,接下来就来为大家分享关于电脑里2个系统怎么删除一个和电脑开机显示有两个系统,如何删除一个的一些知识点,大家可以关注

2026年9月7日 12:20

苹果手机代码大全(恢复更新固件iOS未知错误代码解决大全)

苹果手机代码大全(恢复更新固件iOS未知错误代码解决大全)

大家好,今天小编来为大家解答以下的问题,关于苹果手机代码大全,恢复更新固件iOS未知错误代码解决大全这个很多人还不知道,现在让我们一起来看看吧!

2026年9月7日 10:20

scrollthrough意思(“scroll”是什么意思)

scrollthrough意思(“scroll”是什么意思)

今天给各位分享“scroll”是什么意思的知识,其中也会对“scroll”是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年9月7日 08:00

怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)

怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)

本篇文章给大家谈谈怎么激活keygen,以及注册机如何激活cad2008一个简单激活cad2008的方法对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站

2026年9月7日 06:30

vba编写excel插件(excel vba中能否动态创建控件)

vba编写excel插件(excel vba中能否动态创建控件)

其实vba编写excel插件的问题并不复杂,但是又很多的朋友都不太了解excel vba中能否动态创建控件,因此呢,今天小编就来为大家分享vba编写excel插件的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年9月7日 04:40

最近更新

热门文章

dessert(dessert是什么意思)
2026-05-03 12:45:03 浏览:7
标签列表