【发布时间】:2010-07-21 06:45:24
【问题描述】:
我在从 PHP 发送一个在我的 WCF Web 服务中定义为数据契约的自定义对象时遇到问题。我正在尝试通过 SOAP 完成此操作。
下面是 dataContract 的样子:
[DataContract]
public class simplyCustomer
{
[DataMember]
public int id;
[DataMember]
public string name;
[DataMember]
public string contact;
[DataMember]
public string street1;
[DataMember]
public string street2;
[DataMember]
public string city;
[DataMember]
...
}
所以我有一个函数,它将 simpleCustomer 作为 WCF 服务的参数。 php 可以使用另一个返回一个的函数接收simplyCustomer。但是,如果我在 PHP 中使用此代码调用接受它的那个:
$retVal = $simplyService->__soapCall("addCustomer",array('parameters'=>$params));
此调用生成的 SOAP 信封使对象为空,导致 WCF 服务抱怨空引用。
这是生成的信封:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/"><SOAP-ENV:Body><ns1:addCustomer/></SOAP-ENV:Body></SOAP-ENV:Envelope>
参数应该是addCustomer所在的位置,但那里什么都没有。
任何帮助将不胜感激!
谢谢!
【问题讨论】:
-
我在同一页上,我在这里有我的问题,但仍然不知道该怎么做...stackoverflow.com/questions/4236047/…
-
如果你有办法做到这一点,请告诉我。