php soapclient xml,PHP SoapClient请求

php soapclient xml,PHP SoapClient请求我正在尝试使用 thisWSDL 将 SOAP 请求发送到新闻通讯服务 这是我的 PHP client newSoapClien wsdl url array login gt myusername password gt mypassword trace gt true client gt AddSubscribe newSoapParam

我正在尝试使用this WSDL将SOAP请求发送到新闻通讯服务.

这是我的PHP:

$client = new SoapClient($wsdl_url, array(

‘login’ => ‘myusername’,

‘password’ => ‘mypassword’,

‘trace’ => true

));

$client->AddSubscriber(

new SoapParam(‘MyFirstName’, ‘FirstName’),

new SoapParam(‘MyLastName’, ‘LastName’),

new SoapParam(”, ‘Email’)

);

我得到了例外:

End element ‘Body’ from namespace ‘schemas.xmlsoap.org/soap/envelope/’ expected. Found element ‘LastName’ from namespace ”. Line 2, position 156.

以下是该服务对AddSubscriber的期望:

string

string

string

string

string

string

string

boolean

这是发送的内容:

MyLastName

我对SOAP不太熟悉,并且一直到处都在寻找文档,但是我似乎无法为我的工作找到很好的参考.

任何指导将不胜感激!

谢谢.你能给我一个例子吗?我正在看PHP网站上的示例,该示例显示:

class SOAPStruct {

function SOAPStruct($s, $i, $f)

{

$this->varString = $s;

$this->varInt = $i;

$this->varFloat = $f;

}

}

$client = new SoapClient(null, array(‘location’ => “http://localhost/soap.php”,

‘uri’ => “http://test-uri/”));

$struct = new SOAPStruct(‘arg’, 34, 325.325);

$soapstruct = new SoapVar($struct, SOAP_ENC_OBJECT, “SOAPStruct”, “http://soapinterop.org/xsd”);

$client->echoStruct(new SoapParam($soapstruct, “inputStruct”));

?>

您是在说我将必须创建一个订户PHP类,分配所有变量$this-> FirstName = $first_name,等等…,然后将其放入编码为SOAP_ENC_OBJECT的SoapVar中?如何更好地表示用户结构?

解决方法:

有两种可能的Params订阅服务器和可覆盖的订阅服务器

string

string

string

string

boolean

因此,您需要使用SoapVar来表示次子结构来进行一些更复杂的构造.

我认为应该看起来像这样,尽管您可能想对照Soap:Body产生的XSD进行检查…

$subscriber = new StdClass();

$subscriber->ID = ‘myid’;

$subscriber->FirstName = ‘First’;

$subscriber->LastName = ‘Last’;

$subscriber = new SoapParam(new SoapVar($subscriber, SOAP_ENC_OBJECT, $type, $xsd), ‘subscriber’);

$type应该是api在XSD / WSDL定义中的类型,而$xsd是XSD的URI.

我认为应该这样做,但Ive仅将本机PHP库用于eBay一次(这是一场噩梦,哈哈),并且将近2年前,所以有点生锈.

标签:request,php,soap

来源: https://codeday.me/bug/20191210/2101451.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207784.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午1:06
下一篇 2026年3月19日 下午1:07


相关推荐

  • Python 中的 字符串格式化

    Python 中的 字符串格式化Python 中的字符串格式化 1 字符串格式化的种类 2 格式化方式 3 格式化方式例子 4 format 格式化方式 5 format 格式化方式例子 1 字符串格式化的种类 Python 的字符串格式化有两种方式 格式符方式 format 方式 2 格式化方式 name flags width precision typecode na

    2026年3月18日
    1
  • jenkins拉取gitlab代码_git强制覆盖远程仓库代码

    jenkins拉取gitlab代码_git强制覆盖远程仓库代码前言python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了新建项目打开Jenkins新建一个自由风格的项目源码管理Repository

    2022年7月28日
    20
  • Google Buzz掀起新一轮隐私权争议「建议收藏」

    Google Buzz掀起新一轮隐私权争议「建议收藏」Google本周开始于全球的Gmail帐号中部署GoogleBuzz社交服务,不过,新上线的GoogleBuzz旋即引来外界对其隐私政策的质疑。GoogleBuzz可整合状态更新、连结、照片及影片等社交分享功能,移动版还加上了位置分享功能。引起隐私争议的其中一项功能为GoogleBuzz可自动找出使用者在Gmail中最常联系的好友并产生追随/被追随名单,而且使用者追随/被追随的对象列…

    2022年10月15日
    5
  • 机器学习-算法-半监督学习:半监督学习(Semi-supervised Learning)算法

    机器学习-算法-半监督学习:半监督学习(Semi-supervised Learning)算法一 半监督学习算法提出的背景 1 监督学习监督学习 训练样本集不仅包含样本 还包含这些样本对应的标签 即样本和样本标签成对出现 监督学习的目标是从训练样本中学习一个从样本到标签的有效映射 使其能够预测未知样本的标签 监督学习是机器学习中最成熟的学习方法 代表性的算法包括神经网络 支持向量机 SVM 等 2 无监督学习无监督学习 只能利用训练样本的数据分布或样本间的关系将样本划分到不同的聚类簇或给出样本对应的低维结构 因此 无监督学习常被用于对样本进行聚类或降维 典型的算法包括尺均值聚类和主成

    2026年3月2日
    1
  • php(ThinkPHP)实现微信小程序的登录过程

    php(ThinkPHP)实现微信小程序的登录过程

    2021年10月13日
    75
  • Micron(美光)内存颗粒的命名规则,7lk17d9PTK,MT29F2G08ABAEA(矿机自带)

    Micron(美光)内存颗粒的命名规则,7lk17d9PTK,MT29F2G08ABAEA(矿机自带)三四十买了一个矿机主板,ddr3的芯片和flash的型号认不全,找了一些资料,如下1.DDR3芯片的识别ZYNQ7000系列ddr最多支持1G,这两个拼一起就是500M一半的样子我们随便找一个Micron的DDR3或者SPINANDFLASH,会发现丝印不是具体型号,真他妈奇怪!!!!!如:看了都有不知道什么型号的DDR芯片以前自己懵剩剩的,还好公司的硬件工程师帮我解答了多年以来的困惑:https://www.micron.com/support/tools-and-utilities

    2022年6月22日
    379

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号