首页 文章

Localhost上的NuSOAP服务响应

提问于
浏览
0

我在使用NuSOAP API时遇到了一些问题 . 我有一个.NET Core应用程序通过发布正确的XML信封来调用此API,如下所示:

Uri uri = new Uri(ServiceConfiguration.SERVICE_URL);

HttpClient hc = new HttpClient();

hc.DefaultRequestHeaders.Add("SOAPAction", ServiceConfiguration.SERVICE_URL + "/" + oRequest.Action);

   var content = new StringContent(oRequest.RequestMessage, Encoding.UTF8, "text/xml");

   using (HttpResponseMessage response = await hc.PostAsync(uri, content))
            { 
             (...) 
            }

所以基本上这是发布带有SOAP请求的XML Envelope . 如果我在我的计算机上运行它并调用远程NuSOAP API,我会得到正确的响应 - >带有SOAP响应的XML . 问题是如果我在我的PC上运行NuSOAP API(都是本地主机)我得到一个非常奇怪的响应(负载为 strange symbols ) .

Response I get when NuSOAP is localhost (NOT OK - Invalid XML)


\ n <b>不推荐使用</ b>:自动填充$ HTTP_RAW_POST_DATA已弃用,将在以后的版本中删除 . 为避免此警告,请在php.ini中将'always_populate_raw_post_data'设置为'-1'改为使用php://输入流 . <b>未知</ b>在行<b> 0 </ b>
\ n
\ n <b>警告</ b>:无法修改 Headers 信息 - 已在<b>未知</ b>中发送的 Headers <b> 0 </ b>
\ n
\ n <b>警告</ b>:无法修改 Headers 信息 - 已在<b> </ b> <b> </ b> </ b> </ b> </ b> </ b> <b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b>已在<b> 4 </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b> </ b>在<b> </ b> <b> </ b> </ b> </ b> </ b> </ b>警告</ b>:无法修改标头信息 - 已在<b中发送的标头> </ b>在线<b> 6 </ b>
\ n
\ n <b>警告</ b>:无法修改 Headers 信息 - 已在<b>中发送的 Headers </ b>在线<b> 4272 </ b>
\ n
\ n <b>警告</ b>:无法修改标头信息 - 已在<b> C:\ Wamp64 \ www \ teek_api \ lib \ nusoap.php </ b> \ u001f中发送的标头 \ b \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \v Uao 0\u0010 Q> B @ \vx 2 N )r k j VT \ u007f $ \ u0014 \ u0013 \ u0012 \ u0012 \ u07bb1:} XRO \ u0005J3)N |ԉ| \ u000f \ U0004)\ u0013ى\ u007f <\ u0018 [0GB \ u0005 \米#\ rzn6 \ u001cN19 \ u000eCM \ u0017 $ C $յYG ,, \ u001f \ u0006 \ u001e = \ u0013 \ u001a7BoV \任何>(B'符\ v \ u001f \ u001c0 \ r \ u0011 \ u0014 \ u001dd \u0019FР.d5\\ñ\る\ U0002 {#\u0005P³ɭ\ u0005 \ u000f \ u007f \ NI> RBH \ VQ&A \ u001d \ u0010V \ u000f \ u001f _,\ U0001] 3JT * \ u0003 2 U (\v \ u001d * \u000eIAƴ\u0001 \u0002 4q (\ u000e⁇ p\u0017 ar M r 1jcx \ u0001iA \ u001e \u001a8Ʊv\ u0006 \“S&R \ 0T \ NC \ u0011 |:\ u000e \ u0010c:\ ND = 썩P)ķ\ u0017v0符\ v \ u001dٱ\ u007f&A |TDèST$ķ e ,ښh8\ u0018 \ u0006Q? ]) V Ei\u000eO 4 FJv \ u000fY) ,Ak ~ \u0013 \u0015 JU <{n )ܑ\ u001bG鄤Kv0S#Xuk̯%J□\ u0015- \ u001e \ u001b;] g9F ^ LJ \u0006 I0< \ u007f \t x2= \u001b \ u0011 \n f3 մ\ u001eհ _'\u05fc Ԇ=Jx > = J 1 G5G {0升\ U0001㙜\ u0006 \ 0 \ 0"

Response I get when NuSOAP is remote (OK - Valid XML)

“http://schemas.xmlsoap.org/soap/encoding/ \”xmlns:SOAP-ENV = \“http://schemas.xmlsoap.org/soap/envelope/ \”xmlns:xsd = \“http: //www.w3.org/2001/XMLSchema \“xmlns:xsi = \”http://www.w3.org/2001/XMLSchema-instance \“xmlns:SOAP-ENC = \”http:// schemas . xmlsoap.org/soap/encoding / \“> http://schemas.xmlsoap.org/soap/envelope/ \”>(...)“

我也继续得到"Automatically populating $HTTP_RAW_POST_DATA is deprecated"并且我已经将 always_populate_raw_post_data 更改为.ini上的-1并且我继续得到那些 .

1 回答

  • 2

    我和nusoap "invalid xml"有同样的问题 . 我正在使用这里提供的最新php nusoap:https://sourceforge.net/projects/nusoapforphp53/这是用于php 5.3,但我的php版本运行5.6 . nusoap.php中使用的一些php函数已被弃用 . 这就是显示错误的原因 .

    我做的一些快速修复是:把它放在nusoap.php中,以防止显示错误

    <?php 
    error_reporting(0);
    ini_set('display_errors', 1);
    

    或者在nusoap.php中找到“弃用”命令的行,并将其替换为替代命令 .

相关问题