文档章节

Web Service 调用时间每次都得五分钟才响应结果(Web Service Call Need 5 minutes Everytime)

奋斗到天明
 奋斗到天明
发布于 2015/08/27 18:09
字数 327
阅读 641
收藏 0

今天调试WebService服务的时候遇到一个问题,WebService的服务端是用Jaxws(JDK自带)构建,测试用的客户端是用Eclipse自动生成。

在每次客户端调用的时候,服务端能接受请求,并处理请求,但是返回时候,客户端不能立即得到响应,而需要大约5分钟/300000g毫秒才能结果。 

代码类似: 

服务端代码com.je.ws.HelloService.java:

package com.je.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService(name="helloService" ,portName="helloServicePort" ,targetNamespace="http://www.javaedu.com")
public class HelloService {
 @WebMethod
 public String hello(String name){
 System.out.println("Sev.Hello:" + name);
 return "OK, " + name.length;
 }
 
 public static void main(String[] args){
 Endpoint.publish("http://192.168.3.120:8080/HelloServicePort", new HelloService());
 }
}

客户端代码,省去由Eclipse自动生成代码,客户端调用代码:com.je.test.JestClient.java:

package com.je.test;
import java.rmi.RemoteException;

public class JestClient {
 public static void main(String[] args) throws RemoteException {
  HelloServiceProxy jp = new HelloServiceProxy();
  String hello = jp.hello("xidada");
  System.out.println(hello);
 }
}

问同事没人见过,Google/百度也少有答案。最后不断更换条件,终于找到答案了。原因竟然是Http协议的版本问题…… 在eclipse 生成的方法中,XXXPortBindingStub.java调用方法中添加

_call.setProperty(MessageContext.HTTP_TRANSPORT_VERSION,HTTPConstants.HEADER_PROTOCOL_V11);

添加之后,OK。更深层原因不明,等待高手答疑,希望对大家有帮助。

解决方法来自大S.O. http://stackoverflow.com/questions/1985963/eclipse-generated-web-service-client-extremely-slow

© 著作权归作者所有

共有 人打赏支持
奋斗到天明
粉丝 18
博文 112
码字总数 82707
作品 0
昌平
程序员
私信 提问
@EnableScheduling和@Scheduled的使用

定时任务在配置类上添加@EnableScheduling开启对定时任务的支持,在相应的方法上添加@Scheduled声明需要执行的定时任务。 其中Scheduled注解中有以下几个参数: cron zone fixedDelay和fixed...

u014231523
2017/07/28
0
0
企业安全最佳实践-全流量Web入侵检测系统

一.背景说明 从目前来看,大多数互联网业务是以web服务对外交付的,攻击者大多数也是通过web入侵到系统里,不管什么方式,都绕不过web系统的探测和入侵尝试这一关,所以如果要做入侵检测,可...

libinlarry
2017/06/30
0
0
淘宝海量数据产品的技术架构(有删减)

缓存系统不得不考虑的另一个问题是缓存穿透与失效时的雪崩效应。缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存...

天下杰论
2015/09/22
274
0
ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十七节--Quartz与ABP框架Abp.Quartz及扩展

ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate-Project-CMS Quartz简介 Quartz.NET是一个开源的作业调度框架,是 的 的.......

安与生_
2017/12/14
0
0
几种通讯协议的比较RMI,Httpinvoker,Hessian,Burlap,webservice

一、综述 本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的通讯协议,稳定高效,是EJB的基础。...

o0无忧亦无怖
2015/10/15
380
0

没有更多内容

加载失败,请刷新页面

加载更多

Flask框架web开发:零基础入门

Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁,但又非常灵活,而且容易学习和应用。因此Flask框架是Python新手快速开始web开发最好的选择,此外...

笔阁
9分钟前
0
0
VMware前路难测,多个厂家群雄逐鹿

在人们高谈Salesforce、亚马逊等新兴云计算厂商取得的成就时,以VMware、HPE和Cisco为代表的老牌厂商也在进行着自己的转型和变化,而且还取得一定的进展。以VMware为例,虚拟机巨头公布了第二...

linuxCool
12分钟前
0
0
什么是以太坊DAO?(一)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 “在区块链上,没有人知道你是一台冰箱”——理查德布朗 到目前为止,我们列出的所有...

geek12345
13分钟前
0
0
linux防火墙操作

一、.对于centos7自带的防火墙的相关指令 #停止firewall systemctl stop firewalld.service #禁止firewall开机启动 systemctl disable firewalld.service #查看firewall的状态 systemctl st......

张锦飞
16分钟前
0
0
Linux 磁盘与磁盘分区

  Linux 系统中所有的硬件设备都是通过文件的方式来表现和使用的,我们将这些文件称为设备文件,硬盘对应的设备文件一般被称为块设备文件。本文介绍磁盘设备在 Linux 系统中的表示方法以及...

SEOwhywhy
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部