当前位置: 首页 > 知识库问答 >
问题:

在PHP中通过soapClient发送xml

杨昆
2023-03-14

我对使用Web服务和理解XML非常陌生。如果您觉得我应该阅读一些教程或文档,如果您能提供一些链接,我将不胜感激。

我试图通过web服务执行一个简单的功能,

在提供的文档中,我有以下信息。。。

Web服务输入参数:

id,数据类型=xs: string, lenght: 10

密码,数据类型=xs: string, lenght: 25

组,数据类型=xs:string,长度:20

orderxml,数据类型=xs:string,长度:2^16

我得到了最后一个参数的示例xml,当我尝试运行该函数时,我得到了以下错误。

致命错误:未捕获SoapFault异常:[a: InternalServiceFault]value不能为null。参数名称:属性

 $client = new SoapClient('http://www.example.com/service?wsdl');
 $xml = '<samplexml> </samplexml>';
 $response = $client->Import(
 array(
    'Id' => '1234',
    'password' => '123456',
    'group' => 'test1',
    'orderxml' => $xml

));

当我尝试

 $response = $client->Import('test', 'test');

我得到以下...

我尝试了第二种方法,认为可能需要发送原始XML?

致命错误:未捕获SoapFault异常:[a:反序列化失败]格式化程序在尝试反序列化消息时引发异常:反序列化操作“Import”的请求消息正文时出错。命名空间中的结束元素“Body”http://schemas.xmlsoap.org/soap/envelope/”他说。从命名空间“”中找到元素“param1”。第2行,位置162。在里面

共有1个答案

严项明
2023-03-14

阿德里安-

从你给出的片段中,没有太多可以确定你想做什么。如果不知道WSDL的确切性质,很难说发生了什么——导入是一个有效的请求吗,它的格式是否正确,等等。

我建议将WSDL加载到SOAPUI中,并验证XML格式是否正确。这是一个非常有用的工具,用于在用PHP编写SOAP请求之前准备它们。

http://www.soapui.org/

然后,我建议参考SoapClient类的PHP手册来正确格式化代码

http://php.net/manual/en/class.soapclient.php

 类似资料:
  • 问题内容: 如何使用PHP发送带有图片的HTML格式的电子邮件? 我想要一个带有一些设置和HTML输出的页面,该页面通过电子邮件发送到一个地址。我该怎么办? 主要问题是附加文件。我怎样才能做到这一点? 问题答案: 非常简单,将图像保留在服务器上,然后将PHP + CSS发送给它们… 正是这一行告诉邮件发件人和收件人,该电子邮件包含(希望)格式正确的HTML,需要对其进行解释: 这是我获得信息的链接

  • 如何使用PHP发送带有图片的HTML格式的电子邮件? 我想有一个网页与一些设置和HTML输出,通过电子邮件发送到一个地址。我该怎么办? 主要问题是附加文件。我怎么能那样做?

  • 我如何发送此信息: 到API: 使用cURL,我目前一直在使用: 其中我得到了结果(NGrok): GET/testDir/curlPost。php HTTP/1.1 接受:text/html、Application/xhtml xml、image/jxr、/ 接受语言:en-GB 用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537

  • 问题内容: 我已经在项目中实现了推送通知,到目前为止一切正常。我尝试过通过Pusher发送通知,但效果很好。但是我必须通过PHP发送它们,但尚无法使用。我发现了许多有关如何实现此目标的旧解释,但似乎没有一个对我有用。 这就是我要使用的方法: 问题答案: 尝试使用此php脚本,确保.pem证书在运行时以与该php脚本相同的路径退出,并获得正确的设备令牌

  • 问题内容: 这已经困扰了我好几天了;我正在尝试通过Curl发送SOAP帖子,但是我一直收到“无法连接到主机”错误,但是,我真的看不到如何。 我有一个ASP版本,可以在相同的URL和数据下正常工作。我认为这只是PHP / Curl的事情。 我目前有以下代码(数据是有效的SOAP信封字符串): 那么有什么想法为什么总是会出错? ASP版本工作正常!代码是: 问题答案: 非常感谢,您的代码对我有用。 这

  • 我正在尝试运行此脚本以发送电子邮件 但它会返回以下错误: 2015-03-09 21:29:37客户- 2015-03-09 21:29:37客户- 2015-03-09 21:29:37客户- 2015-03-09 21:29:37客户- 2015-03-09 21:29:37SMTP错误:密码命令失败:534-5.7.14请通过Web浏览器登录,然后重试。534-5.7.14在534了解更多信