今天跟同事调用一个数据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 调试过程的更多相关文章

  1. 关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态

    关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态 由于火狐浏览器没有安装 Adobe Flash Player 19 NPAPI这个插件 安装好了之后就可以直接运行了

  2. S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

    S3C6410裸奔之旅——RVDS2.2编译.仿真.调试过程 LED流水灯 (2012-10-13 23:56:30) 转载▼ 标签: s3c6410裸奔 ok6410 rvds2.2 rvds2.2 ...

  3. MYSQL存储过程调试过程

     mysql不像oracle有plsqldevelper工具用来调试存储过程,所以有几种简单的方式追踪执行过程: 1.用一张临时表,记录调试过程: 2.直接在存储过程中,增加select xxx,在控 ...

  4. stm32--FatFs调试过程(SPIFlash)

    移植方法参见我的另一篇博客:<stm32--FatFs移植(SPIFlash)>. 本文仅记录在初次移植完成后,遇到的问题,和解决的过程. 调试记录: 问题1:f_open返回3,即磁盘没 ...

  5. Android APP 调试过程中遇到的问题。

    调试过过程中APP安装完启动后有的时候会异常退出,报这个错误.有的时候可以直接启动.查找不到原因.网上说把commit方法替换成commitAllowingStateLoss() 也无效. Andro ...

  6. 调试过程中发现按f5无法走进jdk源码

    debug 模式 ,在fis=new FileInputStream(file); 行打断点 调试过程中发现按f5无法走进jdk源码 package com.lzl.spring.test; impo ...

  7. 0xe7f001f0!?NDK调试过程,无故抛出SIGSEGV。

    arm调试过程,如果抛一个SIGSEGV,地址在 0xe7f001f0 附近,原因居然是因为我在调试.当我使用n指令跳到下一行代码时,往往变成了continue指令一样地执行.还不确定地抛出SIGSE ...

  8. VS·调试过程中某个操作导致调试突然退出之解决方案

    阅文时长 | 0.11分钟 字数统计 | 232字符 主要内容 | 1.引言&背景 2.声明与参考资料 『VS·调试过程中某个操作导致调试突然退出之解决方案』 编写人 | SCscHero 编 ...

  9. C语言调试过程中duplicate symbol错误分析

    说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...

随机推荐

  1. Shell函数:Shell函数返回值、删除函数、在终端调用函数

    函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: f ...

  2. ASP.NET【2】

    从上一节我们了解到ASP.NET是一种动态网页技术,在服务器端运行.Net代码,服务器端接收处理动态生成HTML代码,然后发送给浏览器,再由浏览器解析HTML代码将数据呈现给用户. 那么,下面我来介绍 ...

  3. IIS发布站点错误

    发布站点的时候出现以下错误:解决方法: 1.  设置c:windows\temp 目录访问权限 temp--> 属性-->安全-- > 添加network service --> ...

  4. js select级联,上面分类,下面是内容

    js select级联,上面分类,下面是内容. js级联效果如下: 分类: 请选择 水果 蔬菜 其他 内容: // html和js代码如下:     <html>      <hea ...

  5. 之前学习wordpress的几张图片

  6. android中数据存储

    android中数据存储     Android 中存储数据的方式有五种:SQLite数据库.文件存储.内容提供者.网络.SharedPreferences(Key----value)五种存储方式. ...

  7. JavaScript读取txt文本文件方法详解

    http://blog.163.com/sophie8910@126/blog/static/8304612620122834121264/ 第一步:创建一个可以将文件翻译成文件流的对象. Var f ...

  8. /dev/tty 与 /dev/pts

     打开3个bash会话窗口  [root@server1 fd]# cd /proc/7489/fd[root@server1 fd]# ll总用量 0lrwx------ 1 root root 6 ...

  9. QT实现多语言切换

    功能需求: 网盘客户端要能够实现多国语言的切换,第一版要支持中.英文的切换.在实现过程中感觉QT对多国语言的支持还是很不错的,制作多语言包很方便,切换的逻辑也很简单.下面就来看一下QT中如何制作多语言 ...

  10. 字符串匹配算法-BM

    在用于查找子字符串的算法中,BM(Boyer-Moore)算法是当前有效且应用比较广泛的一种算法,各种文本编辑器的“查找”功能(Ctrl+F),大多采用Boyer-Moore算法.比我们学习的KMP算 ...