2010-08-18 96 views
1

我无法拨打第三方网络服务。我有而不是收到一个SOAP错误,但是不是得到一个有效的结果集。我的一位同事在OS400上为RPG编写了一个客户端,并且它返回了一个有效的结果集。当比较这两个请求的Fiddler2中的RAW请求时,我注意到唯一明显的区别是我的c#客户端具有SOAP xml元素,并且xmlns =“”而他没有。是否有可能删除空的名称空间声明?请参考下面引用的SOAP请求:如何在Web服务客户端请求中配置SOAP XML名称空间?

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
     <SendArchitectServiceRequest xmlns="archserver.xsd.dataflux.com"> 
      <serviceName xmlns="">AddressVerify.dmc</serviceName> 
      <fieldDefinitions xmlns=""> 
       <fieldName>AddressLine_1</fieldName> 
       <fieldType>STRING</fieldType> 
       <fieldLength>255</fieldLength> 
      </fieldDefinitions> 
      <fieldDefinitions xmlns=""> 
       <fieldName>AddressLine_2</fieldName> 
       <fieldType>STRING</fieldType> 
       <fieldLength>255</fieldLength> 
      </fieldDefinitions> 
      <fieldDefinitions xmlns=""> 
       <fieldName>City_in</fieldName> 
       <fieldType>STRING</fieldType> 
       <fieldLength>255</fieldLength> 
      </fieldDefinitions> 
      <fieldDefinitions xmlns=""> 
       <fieldName>State_in</fieldName> 
       <fieldType>STRING</fieldType> 
       <fieldLength>255</fieldLength> 
      </fieldDefinitions> 
      <fieldDefinitions xmlns=""> 
       <fieldName>Zip</fieldName> 
       <fieldType>STRING</fieldType> 
       <fieldLength>255</fieldLength> 
      </fieldDefinitions> 
      <fieldDefinitions xmlns=""> 
       <fieldName>Country</fieldName> 
       <fieldType>STRING</fieldType> 
       <fieldLength>255</fieldLength> 
      </fieldDefinitions> 
      <dataRows xmlns=""> 
       <value>3485 W. Harmon Ave.</value> 
       <value/> 
       <value>Las Vegas</value> 
       <value>NV</value> 
       <value>89103</value> 
       <value>United States</value> 
       <reserved>0</reserved> 
      </dataRows> 
     </SendArchitectServiceRequest> 
    </s:Body> 
</s:Envelope> 
+0

如果我将自动生成的Reference.cs类XML元素声明从[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]更改为[System.Xml.Serialization.XmlElementAttribute( Form = System.Xml.Schema.XmlSchemaForm.Qualified)]空名称空间声明消失。有没有办法做到这一点,而无需修改这个易失性的,自动生成的文件? – 2010-08-18 18:08:11

回答

0

因为我没有听到任何意见或回答我的第二个问题,我会接受,我碰到这是改变自动生成Reference.cs类XML元素的答案声明从System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified)

相关问题