文档章节

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

奋斗到天明
 奋斗到天明
发布于 2015/08/27 18:09
字数 327
阅读 622
收藏 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
几种通讯协议的比较RMI,Httpinvoker,Hessian,Burlap,webservice

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

o0无忧亦无怖
2015/10/15
380
0
java 几种远程服务调用协议的比较

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

哈全文
2012/09/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SonarQube+Scanners代码质量管理

简介 sonaqube是一个开源代码质量管理平台,致力于持续分析和测量技术质量。 系统构成 SonarQube平台由4部分组成: SonarQube服务器 Web服务器的开发者,管理者,浏览质量快照和配置SonarQu...

阿dai
58分钟前
0
0
mysql-router 8 yum安装

1.配置安装源 #配置MySQL5.7的安装源 #https://repo.mysql.com/mysql57-community-release-el7.rpm #https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm rpm -Uvh https:/......

MichaelShu
今天
0
0
     甲骨人-MySQL网络课-day03

===================================================================================== ======================= 第三章 mysql SQL语句 1、mysql接口自带命令 1.1、\h 或 help 或 ? 1.2、......

hnairdb
今天
0
0
Redis异构集群之间数据迁移方案

一、Redis集群迁移工具 最近在做Redis数据迁移,网上找了两款开源的Redis迁移工具。 第一种:redis-port Codis官方提供的一个工具,redis-port是一个Redis工具,通过解析rdb文件,实现Redis...

IT--小哥
今天
3
0
解压zip包(zip4j)

1:引入zip4j_1.3.2.jar 2:源码如下: package test;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import net.lingal......

uug
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部