.net为Web服务创建自定义请求和响应?

时间:2013-06-04 09:58:20

标签: c# .net xml web-services

我正在进行集成,我必须使用第三方基于Java的Web服务。 此第三方Web服务高度区分大小写。 将Web服务添加到.net项目后。 我们称之为方法。但是.net代码创建了自己的Request XML,它与供应商所需的XML不同。

例如.net将XML创建为Follows

<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">
    <GetAccountBalanceRequest xmlns="http://www.XXXXXXX.com/lmsglobal/ws/v1/extint/types">
        <Authentication>
            <Principal xmlns="http://www.XXXXXXX.com/lmsglobal/xsd/v1/types">
                <PrincipalValue>9401120106480306</PrincipalValue>
                <PrincipalClassifier>0001</PrincipalClassifier>
            </Principal>
            <Credential xmlns="http://www.XXXXXXX.com/lmsglobal/xsd/v1/types"/>
        </Authentication>
        <LoyaltyCurrency xsi:nil="true"/>
    </GetAccountBalanceRequest>
</s:Body>

但供应商称他们希望XML作为Follows

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://www.XXXXXXX.com/lmsglobal/ws/v1/extint/types" xmlns:typ1="http://www.XXXXXXX.com/lmsglobal/xsd/v1/types">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:GetAccountBalanceRequest>
         <typ:Authentication>
            <typ1:Principal>
               <typ1:PrincipalValue>9401120106480306</typ1:PrincipalValue>
               <typ1:PrincipalClassifier>0001</typ1:PrincipalClassifier>
            </typ1:Principal>
         </typ:Authentication>
      </typ:GetAccountBalanceRequest>
   </soapenv:Body>
</soapenv:Envelope>

如何修改Web服务,以便根据供应商的需要生成Request XML?

我还使用了Soap UI来检查响应。如果我使用.net生成的XML然后失败但我使用上面的XML然后它可以工作。

0 个答案:

没有答案