PHP服务器在对象引用上存在C#Soap客户端错误,该错误未设置为对象的实例

PHP服务器在对象引用上存在C#Soap客户端错误,该错误未设置为对象的实例,c#,php,xml,soap,C#,Php,Xml,Soap,因此,我有一个运行nusoap的PHP Soap服务,我正在编写自定义响应 php客户端工作正常,但C#客户端不断返回以下信息: 对象引用未设置为对象的实例 关于如何解决这个问题有什么想法吗 我试着用测试数据初始化每个变量,但我总是得到同样的错误 谢谢你的意见 我正在使用这种方法 这是错误I接收错误]致命未处理异常:System.NullReferenceException: 对象引用未设置为对象的实例 在//Projects/gt/Main.cs:27中的gt.MainClass.Main(

因此,我有一个运行nusoap的PHP Soap服务,我正在编写自定义响应

php客户端工作正常,但C#客户端不断返回以下信息:

对象引用未设置为对象的实例

关于如何解决这个问题有什么想法吗

我试着用测试数据初始化每个变量,但我总是得到同样的错误

谢谢你的意见

我正在使用这种方法

这是错误I接收错误]致命未处理异常:System.NullReferenceException: 对象引用未设置为对象的实例 在//Projects/gt/Main.cs:27中的gt.MainClass.Main(System.String[]args)[0x0005a]处

第27行(gt是wsdl对象)

gt.Transact(trans),我正在传递一个事务对象,它应该返回一个事务响应,但它似乎没有解析响应

[System.Web.Services.Protocols.SoapDocumentMethodAttribute(“http://CANNOT 告诉你”,RequestNamespace=“不能告诉你”,ResponseNamespace=“不能告诉你”

这是正在调用的方法,这是来自分部类的一段代码

ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped,Use=System.Web.Services.Description.SoapBindingUse.Literal)] [返回:System.Xml.Serialization.xmlementAttribute(IsNullable=true)] 公共Transact-Response Transact([System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]Transact-request请求){ object[]results=this.Invoke(“Transact”),新对象[]{ 请求}); 返回((Transact-Response)(结果[0]);
}此错误是由于响应的xml格式造成的

所以在这个场景中,我采用了由C#ASP.NET生成的wsdl,并在php5 apache服务器上使用nusoap运行该wsdl。(这是针对客户请求重新实现现有服务而做的,这样他们就不必更改代码。)

例如,如果你有

<SomeResponse xmlns='some url'>
   < object>
       <element>data</element >
   </object>
</SomeResponse >


数据

它需要像这样格式化,以便.net正确解析xml。


因此,响应数据似乎需要由一个结果标记封装,该标记是函数名与字符串“Result”的串联。因此,在上面的示例中,被调用的函数是“Some”函数

我不是xml或soap专家,也不清楚这到底是为什么。我知道这与xmlns:a='someurl'标记有关


如果有人能更好地解释,那就太好了。

我们肯定需要一些代码。至少是引发异常的那一行。您是否向其添加了“Web引用”(如果使用VS)?或者您正在创建自己的代理?我不确定两者之间的区别;响应消息的charset=UTF-8与绑定的内容类型不匹配(application/soap+xml;charset=UTF-8)。如果使用自定义编码器,请确保正确实现IsContentTypeSupported方法。所以我想问题是如何更改nusoap中的绑定?
<SomeResponse xmls='some url'>
<SomeResult xmlns:a='some url' xmlns:i=''>
   <a:object>
    <a:element></a:element>
 </a:object>
</SomeResult>
</SomeResposne>