一次 php nusoap 调试过程
今天跟同事调用一个数据api ,用soap方式调用。本以为很简单的事情,却弄到了晚上。
因为有过调试经验,直接按照以往的过程直接部署,结果是错误。
1. 以为是调用方式错了,问了一下对接的同事,没问题,并把参数复制过去,同事在自己的机器上,调试正确。
2. 仔细询问了一下,发现请求IP 错误,(这个IP 是另外一个同事给的),ip已经下架了。 更换IP
3. 更换之后还是不行,发现新的ip 与自己的机器不能通信,新Ip 为线上IP段,而我的开发机是开发段,不能直接访问。
4. 由于此API 用处不是很多,所以没有开发环境, 更悲剧的是,另一个API只有开发环境,没有线上测试环境, 悲剧
5. 单独拿到线上测试此接口,竟然还是不行,跟对接同事联调了一下,还是我这里不行,他哪里行。我们都没有办法
6.找到此API的开发者,看了我的调用方式没有什么问题, 又没有ip限制,这是为什么呢?他在服务段 写了一个测试文件,我用curl 访问了一下,成功! 说明网络通信没问题,还是soap 的调用有问题。
7.对比发现,他们调用都是用的php 的soap 模块,我们是用nusoap 文件调用。但是经验来说,两种方法都可以调用。对比了nusoap 版本 也没有问题。
最后还是 开发者发现了问题,是client调用二者还是有区别的。
二者区别:
soap 模块 : $this->client = new nusoapclient(null, array("location" => $this->url, "uri" => "http://data_request/", 'compression' =>
SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP, 'encoding' => .'utf-8', 'trace' => true));
nusoap : $this->client = new nusoapclient($this->url);
8.最后pE 同学解决了 测试环境不统一的问题,他设置了一个代理(具体方法没问)
感觉这么小的问题,用了这么长 时间有两个原因:
1. 自己对nusoap 掌握不熟练,不能快速定位到问题所在。虽然以前调用过,但都是拿来主义,环境都是统一的,基本没有遇到问题。
2. 业务线长,先后找了四位同学,解决了一个问题,都要从头调式,测试的时候都要改动。 看来 人月 神话,果然是神话呀。
一次 php nusoap 调试过程的更多相关文章
- 关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态
关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态 由于火狐浏览器没有安装 Adobe Flash Player 19 NPAPI这个插件 安装好了之后就可以直接运行了
- S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
S3C6410裸奔之旅——RVDS2.2编译.仿真.调试过程 LED流水灯 (2012-10-13 23:56:30) 转载▼ 标签: s3c6410裸奔 ok6410 rvds2.2 rvds2.2 ...
- MYSQL存储过程调试过程
mysql不像oracle有plsqldevelper工具用来调试存储过程,所以有几种简单的方式追踪执行过程: 1.用一张临时表,记录调试过程: 2.直接在存储过程中,增加select xxx,在控 ...
- stm32--FatFs调试过程(SPIFlash)
移植方法参见我的另一篇博客:<stm32--FatFs移植(SPIFlash)>. 本文仅记录在初次移植完成后,遇到的问题,和解决的过程. 调试记录: 问题1:f_open返回3,即磁盘没 ...
- Android APP 调试过程中遇到的问题。
调试过过程中APP安装完启动后有的时候会异常退出,报这个错误.有的时候可以直接启动.查找不到原因.网上说把commit方法替换成commitAllowingStateLoss() 也无效. Andro ...
- 调试过程中发现按f5无法走进jdk源码
debug 模式 ,在fis=new FileInputStream(file); 行打断点 调试过程中发现按f5无法走进jdk源码 package com.lzl.spring.test; impo ...
- 0xe7f001f0!?NDK调试过程,无故抛出SIGSEGV。
arm调试过程,如果抛一个SIGSEGV,地址在 0xe7f001f0 附近,原因居然是因为我在调试.当我使用n指令跳到下一行代码时,往往变成了continue指令一样地执行.还不确定地抛出SIGSE ...
- VS·调试过程中某个操作导致调试突然退出之解决方案
阅文时长 | 0.11分钟 字数统计 | 232字符 主要内容 | 1.引言&背景 2.声明与参考资料 『VS·调试过程中某个操作导致调试突然退出之解决方案』 编写人 | SCscHero 编 ...
- C语言调试过程中duplicate symbol错误分析
说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...
随机推荐
- jni cocos2d-x移植到android:helloworld
前面搭建好了android开发环境 jni开发环境,那么就来用一用目前火热的cocos2d的游戏引擎吧 所需资料: cocos2d :下载地址 http://www.oschina.net/p/co ...
- java 反射(reflect)总结,附对象打印工具类
java反射机制认知 java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取类的信息以及动态调用对象的方法的 ...
- iOS APNS远程推送(史上最全步骤)
/*****************************************1************************************************/ waterma ...
- POJ 3614 Sunscreen 优先队列 贪心
题意 有C个奶牛去晒太阳 (1 <=C <= 2500),每个奶牛各自能够忍受的阳光强度有一个最小值和一个最大值,太大就晒伤了,太小奶牛没感觉. 而刚开始的阳光的强度非常大,奶牛都承受不住 ...
- Java中NaN和-0.0f的比较问题
简单的说,比较两个int型或long型的数据没有什么问题,可以用==来判断,但对浮点数(float与double)来说,需要对Float.NaN和0.0这个两个特殊数字作额外的处理.Float.NaN ...
- UDP打洞和心跳包设计
一.设备终端class DeviceClient { int deviceID; int IP; int port; char connectID[16]; time_t lastTime; stru ...
- h5宣传页制作过程中遇到的问题
音乐播放 ios下关闭不流畅; (ios下需重新image 模拟) 音乐设置自动播放属性后 部分机型下不能自动播放.目前解决方案: touchstart时触发播放 微信“分享给朋友”点击发送后,页面卡 ...
- bootstrap02导航菜单
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- ADO.Net技术
Connection对象 1.连接数据库 通过SqlConnection对象的State属性判断数据库的连接状态: public override ConnectionState State{ get ...
- Android多屏幕适配
转载:http://mikewang.blog.51cto.com/3826268/865304 问题: 测试时,发现应用在不同的显示器上显示效果不同(部分文本不能显示完全),自然想到屏幕适配的问题. ...