2
我调用一个Web服务的方法,将一个包含对象数组的类作为参数。带有对象数组的Web服务调用方法
Inquiry obj = new Inquiry
{
Items = new Test.Items[]
{
new Test.Items{ Id="1"},
new Test.Items{ Id="2"},
new Test.Items{ Id="3"},
}
};
client.TestMethod(ref obj);
如果我只传递Items数组中的一个项目,一切正常。当我传递两个或更多项目时,我得到一个System.ServiceModel.FaultException,其中 消息:Imp。线已经存在。标识字段和值:导入过程代码='',UID ='',行号='0' 我认为xml或soap序列化的复杂类型是错误的。
<basicHttpBinding>
<binding name="WEBInquiry_Binding">
<security mode="Transport">
<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
有什么事情,我必须在代码或配置变化? 谢谢
编辑 的FaultException有一个代码属性与名称和命名空间成员
名称= Microsoft.Dynamics.Nav.Types.Exceptions.NavCSideException
命名空间=瓮:微软动态,架构/错误
您是否使用Microsoft Dynamics Nav?看起来错误来自那里。如果是这样的话,听起来像是他们软件中的一个错误,你应该在他们的支持论坛上询问。 –
@ShadowWizard是的,我更新了问题 – albert
同意wirh @wizard,错误来自Nav内。所以你需要检查/调试处理请求的代码单元。你确定ws可以处理数组吗?你能发布ws或这个特定请求的wsdl吗?绑定似乎在这里的意义。 –