我正在进行集成,我必须使用第三方基于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然后它可以工作。